感知机

开始记录机器学习中的传统算法。
图片来自http://www.guokr.com/blog/793310/
https://book.douban.com/annotation/25423098/
http://anboqing.github.io/ji-qi-xue-xi-gan-zhi-ji.html
感知机是神经网络的基础,只能用在线性可分的问题上。举一反例,对于异或问题,只有两个都为0或都不为0才能输出1,在二维坐标系下分布如下:

感知机_第1张图片
屏幕快照 2016-04-06 上午11.15.05.png
因为无论如何划线都不可分为线的一边属于一类,所以线性不可分,不能用感知机解决。
感知机_第2张图片
屏幕快照 2016-04-06 上午11.14.24.png
感知机的目标是找到如下的超平面:
屏幕快照 2016-04-06 上午11.24.04.png
而对应的连续可导的损失函数定义为:
屏幕快照 2016-04-06 上午11.26.27.png
感知机的算法是用梯度下降对损失函数的最优化算法,首先随机找一个初始点,然后不断极小化目标函数,当训练数据线性可分时,感知机算法可在有限步收敛。误分类次数k满足Novikoff定理:
k<=(R/r)^2,其中R为x(i)的最大值,r为两类样本的最大边界距离的一半。而初始点不同,更新时随机选择的样本点不同,最后收敛的超平面不同。
对于非线性问题,一个是建立多层感知机(每次训练两层的连接权重,或采用BP网络),一个是利用核函数映射到高维空间下线性可分(比如SVM)。
而SVM中的收敛满足Vapnikoff定理:
感知机_第3张图片
屏幕快照 2016-04-06 上午11.33.48.png

你可能感兴趣的:(感知机)