Rosenblatt's Perceptron Algorithm 感知器算法及其实现
(2017-04-04 21:02:08)
标签:
杂谈 |
分类: 计算机智能 |
Rosenblatt于1958年发布的感知器算法,算是机器学习鼻祖级别的算法。其算法着眼于最简单的情况,即使用单个神经元、单层网络进行监督学习(目标结果已知),并且输入数据线性可分。我们可以用该算法来解决and
和 or的问题。下图为工作中的Rosenblatt。
http://s1/mw690/006zieqDzy7a1QyZsTSf0&690PerceptronAlgorithm 感知器算法及其实现" TITLE="Rosenblatt's Perceptron Algorithm 感知器算法及其实现" />
在讨论神经元的数学模型时,我们将单个神经元抽象为下图的信号流图形式。输入向量为x,权重向量为w,w0一路为bias,这里不再赘述。
因为在输入向量与权重向量内积运算后,induced local field的值为:
http://s1/mw690/006zieqDzy7a1QyZsTSf0&690Perceptron
在讨论神经元的数学模型时,我们将单个神经元抽象为下图的信号流图形式。输入向量为x,权重向量为w,w0一路为bias,这里不再赘述。
http://s13/mw690/006zieqDzy7a2Je2RTCfc&690Perceptron Algorithm 感知器算法及其实现" TITLE="Rosenblatt's Perceptron Algorithm 感知器算法及其实现" />
而本文算讲的算法,其解决的实际问题是,在知道输入向量x,和输出向量y的情况下,求解感知器的权重向量w以及bias。在几何上,我们可以理解为,我们有确定的n个点(x,y坐标确定),根据不断调整w的值,来求取一个超平面(Hyperplane)或称决策边界(Decision
Boundary),将这n个点分隔成2组。
因为在输入向量与权重向量内积运算后,induced local field的值为:
http://s11/mw690/006zieqDzy7a2K7QMzMfa&690Perceptron Algorithm 感知器算法及其实现" TITLE="Rosenblatt's Perceptron Algorithm 感知器算法及其实现" />
而在其进入activation
function时,很明显0是一个很重要的阈值,也即是输出值的分界点。
http://s16/mw690/006zieqDzy7a2KmFk0n3f&690Perceptron Algorithm 感知器算法及其实现" TITLE="Rosenblatt's Perceptron Algorithm 感知器算法及其实现" />
所以,我们要解决的问题也就可以等同于求出如下等式的一个解:
http://s14/mw690/006zieqDzy7a2KIy2KNcd&690Perceptron Algorithm 感知器算法及其实现" TITLE="Rosenblatt's Perceptron Algorithm 感知器算法及其实现" />
如果将bias单独拿出,则改写为:
http://s16/mw690/006zieqDzy7a2KP2jDNcf&690Perceptron Algorithm 感知器算法及其实现" TITLE="Rosenblatt's Perceptron Algorithm 感知器算法及其实现" />
在解决该问题时,我们使用
1、为该系统初始化参数,随机为权重向量的元素赋值;
2、将输入向量的元素逐个输入到系统中
3、在输出端,将系统实际输出t与期望输出y进行比较,计算出差值delta-y=t-y,并计算出调节因子,其中η是学习率learning-rate
parameter,为每次的调整幅度,可以设置为0.1
http://s5/mw690/006zieqDzy7a2LowOnq94&690Perceptron Algorithm 感知器算法及其实现" TITLE="Rosenblatt's Perceptron Algorithm 感知器算法及其实现" />
4、调整系统对应的权重项为
http://s16/mw690/006zieqDzy7a2Lfuba73f&690Perceptron Algorithm 感知器算法及其实现" TITLE="Rosenblatt's Perceptron Algorithm 感知器算法及其实现" />
5、重复2-4步10次,已达到最佳参数组合。下面为使用python实现与操作的感知器学习代码:
http://s11/mw690/006zieqDzy7a2M7QFlM3a&690Perceptron Algorithm 感知器算法及其实现" TITLE="Rosenblatt's Perceptron Algorithm 感知器算法及其实现" />
http://s1/mw690/006zieqDzy7a2MbcJEc40&690PerceptronAlgorithm 感知器算法及其实现" TITLE="Rosenblatt's Perceptron Algorithm 感知器算法及其实现" />
http://s1/mw690/006zieqDzy7a2MbcJEc40&690Perceptron
参考文献:
机器学习的历史:
http://www.erogol.com/brief-history-machine-learning/
维基百科,对我理解本节知识有很重要的作用:
https://en.wikipedia.org/wiki/Perceptron
零基础入门深度学习,在代码实现感知器上给了我很大帮助,也给python新手一些practice的机会:https://www.zybuluo.com/hanbingtao/note/433855
后一篇:向量的内积、长度和正交性