感知机1 -- 感知机模型
来源:互联网 发布:npm 淘宝源 编辑:程序博客网 时间:2024/04/30 02:53
声明:
1,本篇为个人对《2012.李航.统计学习方法.pdf》的学习总结,不得用作商用,欢迎转载,但请注明出处(即:本帖地址)。
2,由于本人在学习初始时有很多数学知识都已忘记,因此为了弄懂其中的内容查阅了很多资料,所以里面应该会有引用其他帖子的小部分内容,如果原作者看到可以私信我,我会将您的帖子的地址付到下面。
3,如果有内容错误或不准确欢迎大家指正。
4,如果能帮到你,那真是太好了。
定义
感知机模型说白了就是判断“属于规定类?还是不属于规定类”的模型。
其函数为:
F(x)= sign(w·x + b)
w、b :感知机模型的参数
w∈Rn :权值/权值向量
b∈R :偏置
w·x :w和x的内积
Sign :符号函数
感知机为一种线性分类模型,属于一宗判别模型
感知机的几何解释
首先,其线性方程为w·x + b = 0,于是如下图所示:
若该线性方程对应特征空间Rn中的一个超平面S,则w为该超平面的法向量,b为超平面的截距,该超平面将Rn分成正负两类,于是该超平面也被称为分离超平面。
第一次总结
综上所述,感知机预测就是通过学习得到的感知机模型,给出新输入实力对应的输出类别。
线性可不可分
对数据集 T={(x1,y1),(x2,y2),...,(xn,yn)},其中x1∈Rn,yi={+1,-1}, i=1, 2, ...,n,若存在一超平面S:
w·x + b = 0
可将数据集的正实例点和负实例点完全正确的划分到超平面的两侧,即:
对所有的yi = +1的实例i,有w·xi+ b > 0
对所有的yi = -1的实例i,有w·xi+ b < 0
则称数据集T为线性可分数据集,反之,称其为线性不可分数据集。
感知机学习策略
于是,其学习策略就是找出一个可将数据集完全正确分离的超平面:
w·x + b = 0
话句话说,就是确定w和b这两个参数
而为了确定这两个参数,我们需了解下“损失函数”。
损失函数
我们规定,损失函数为误分类点到超平面S的总距离。
于是,我们先写出输入空间Rn中任一点x0到超平面S的距离:
|w·x + b| / ||w||
这里||w||为w的L2范数。
对于误分类的数据(xi,yi)来说:
-yi(wxi + b) > 0
因为,对于误分类的数据:
w·x + b > 0 时,yi = -1
w·x + b < 0 时,yi = +1
于是
∵误分类点xi到超平面S的距离为:
-yi(wxi + b) / ||w||
∴ 对于误分类点集合M,所有误分类点到S的总距离为:
∴若不考虑1/||w|||,就得到了感知机学习模型的损失函数
最后,损失函数定义为:
对给定数据集 T={(x1,y1),(x2,y2),...,(xn,yn)},其中x1∈Rn,yi={+1,-1}, i=1, 2, ...,n
感知机sign(w·x + b)学习的损失函数定义为:
L(w,b) = -yi(w·xi + b)
其中,M为误分类点的集合。
第二次总结(关于损失函数)
1, 损失函数L(w, b) 是非负的
2, 若无误分类点,则损失函数为0
而随着误分类点的减少,损失函数的值也会降低
3, 一个特定的样本的损失函数:
在误分类时为参数w,b 的线性函数,在正确分类时为0
4, 于是,对给定训练数据T,损失函数L(w, b)为:w,b的连续可导函数
感知机学习算法的最优化方法
感知机学习算法的最优化的方法为:随机梯度下降算法。
(类似的还有个:最小二乘法)
感知机学习算法的原始形式
现已知,对于误分类点的几何,损失函数为:
L(w,b) = -yi(w·xi + b)
于是乎,我们的目的就是求L(w, b)的极小值,而这里,我们选择随机梯度下降算法来求此极小值。
下面请转到“随机梯度下降算法”的总结。
- 感知机1 -- 感知机模型
- 感知机模型
- 感知机模型
- 感知机模型
- 感知机模型
- 感知机模型
- 感知机模型
- 感知机模型
- 感知机模型
- 感知机模型
- 感知机模型
- 2.3 感知机模型
- 感知机学习模型
- 感知机模型
- 感知机模型收敛性推导
- 感知机--模型与策略
- 机器学习:感知机模型
- (转载)感知机模型
- JVM和传统OS对比
- EJB--实体映射
- struts2 参数绑定和二次绑定
- TCP/IP基础知识
- #java#抽象类与抽象方法
- 感知机1 -- 感知机模型
- iOS - Block
- sql server 数学函数浅析
- Spring定时任务的几种实现
- R语言适配问题集锦
- Default Access Modifiers (C#)
- corosync+pacemaker高可用
- matlab代码
- eclipse自定义右键菜单选项