『MACHINE LEARNING』读书笔记|周志华《机器学习》|5.2神经网络感知机

来源:互联网 发布:龙之信条身材捏脸数据 编辑:程序博客网 时间:2024/06/05 18:59

写在前面

最近在看周志华的《机器学习》,看了书才知道水很深啊,算法,统计样样都有。小白看得很累,决定记点笔记,以防这之后忘了。


感知机(perceptron )

感知机是神经网络最开始雏形,是一个二类分类线性分类模型,只有两层的神经元。周志华《机器学习》用的sign函数稍与李航的《统计学习方法》有不同,接下来利用的是周志华《机器学习》的版本。感知机形如下图。

这里写图片描述

说好的二类分类线性分类模型,体现在哪?

线性分类:

输出值y是一个有输入值xi线性决定的函数,y=f(iωixiθ),

但是由于上式中的θ=ωi+1xi+1,其中xi+1=1,

其实就是给多一个输入节点(dummy node)固定输入x=-1.

so, y可以表示为f(iωixi)变得更简单了。

二类分类:

二类分类的原因来源于ff使得yxR可以只取两个值。所以,f是个阶跃函数,但为了f可微,实际上,会近似的利用sigmoid函数去代替阶跃函数。但一下请假装f是个阶跃函数,方便理解。


机器学习的书中,公式(5.1)和(5.2)我觉得不能理解。下面做做解释:

上面我们讲到

y=f(iωixi),f(x)={01x<00x

不失一般性,我们考虑两个输入x1x2, 那么iωixi=0就会是分类的边界,被叫做超平面S(seperating hyperplane), 如下图,图中取ω1=3;ω2=2,正例是么iωixi>0的部分。

这里写图片描述

我们取两个输入的意图就是为了能在平面上表示出来。x1x2, 其实就是图中的x和y。其中也会有被错误分类的例子,譬如图中红色标注的‘’。

机器学习各式各样方法最终为了达到的目的就是预测的代价函数(cost function)要最小的。这里定义感知机的cost function为感知机分类错误的点到超平面的距离。why?其实我们也可以定义为被分类错误的点的数目,但是这个值不连续。

distance=|1||ω||ω⃗ x⃗ |

理解不能,是吗?

想想高中时,点到线的距离

d=|Ax0+By0+CA2+B2|

这里的

||ω||ω=iω2i

现在该解决的就是绝对值的问题了,我们令真实值为y,预测值为ŷ ,这样下来

distance=|1||ω||ω⃗ x⃗ |=yŷ 1||ω||ω⃗ x⃗ ω⃗ x⃗ >0y=f(ω⃗ x⃗ )=1,ŷ y,ŷ =0,distance>0

李航的《统计学习方法》中,将distance的1||ω||给忽略掉了,为了后面方便对ω求导。这里的忽略可以理解为从距离计算从下图的红线变成了绿线。
这里写图片描述

最后 我们终于可以求和所有分类错误的点到超平面的距离作为代价函数:

CostFunction:L(ω)=iM(yŷ )wixiMminimizeL(ω)

怎么最优化代价函数达到最小值,这里利用的是随机梯度下降法(stochastic gradient descent),任意选取一个超平面ω⃗ ,梯度下降不断极小化目标函数L(ω)

L(ω)dL(ω)dω=iM(yŷ )xiωω<ω+η(yŷ )xiη(learningrate)0.1

通过迭代不断减小代价函数直至为0(能够被线性分类的例子)。

η的作用是慢慢地修正超平面使其轻微地绕着原点转动,直至没有误分类点为止。


说在最后

其实本文就是充其量解释了《机器学习》-周志华的公式(5.1) 和(5.2),没多大意义,记个笔记,共同学习。

还有就是欢迎各位来看看我的blog,THX.

因为CSDN是程序员的天地了,我最多在这边会上传一些统计和机器学习的学习内容,我的blog里还会有一些有关投资的学习内容。
Anyway,我在每个领域都是小白,希望共同学习。


Refrence

[1]《统计学习方法》 李航

[2]《机器学习》周志华

阅读全文
0 0
原创粉丝点击