感知机总结

本文概述了感知机作为二分类线性模型的基本原理,包括其损失函数和学习过程。通过迭代更新权重w和偏置b来处理误分类点,直至所有点正确分类。同时提出了在学习过程中关于损失函数和Gram矩阵计算的疑问,以供进一步研究。此外,文章旨在作为个人学习记录,并推荐了一个详细的感知机总结链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

感知机是一个二分类的线性分类模型。
感知机损失函数:f(x)=sign(wx+b)。
sign函数:当x>=0时值为+1,当x<0时值为-1。
感知机学习过程:设定w,b初始值为0,某个点坐标代入y*(wx+b)值小于等于0时称该点为误分类点,更新w,b值,w:=w+r*y*x,b:=b+r*y(r为学习率)。迭代直到不存在误分类点为止。
感知机学习算法的原始形式
这里写图片描述
代码实现

  # _*_ coding:utf-8 -*_
# Filename:perceptron2_1.py
# Author:Guiyuan Chen
# data:2018/9/5

train_set = [[(3, 3), 1], [(4, 3), 1], [(1, 1), -1]]
w = [0, 0]
b = 0
history = []

if __name__ == "__main__":
    for i in range(1000):
      for item in train_set:
        res = 0
        res += item[0][0] * w[0] + item[0][1] * w[1]
        res += b
        res *= item[1]
        if res <= 0:
            w[0] += 1 * item[0][0] * item[1]
            w[1] += 1 * item[0][1] * item[1]
            b += 1 * item[1]

    print(w, b)

感知机学习算法的对偶形式
这里写图片描述

存在的问题:
1、《统计学习方法》中求损失函数时为什么不用考虑1/|||w|这一项?
2、Gram矩阵是怎么计算的,《统计学习方法》例2.2如何计算gram矩阵?
本文仅用于本人学习记录, 具体请参考大佬的感知机总结,非常详细:http://www.hankcs.com/ml/the-perceptron.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值