加载中…
个人资料
天然呆的rhys
天然呆的rhys
  • 博客等级:
  • 博客积分:0
  • 博客访问:258
  • 关注人气:3
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Rosenblatt's Perceptron Algorithm 感知器算法及其实现

(2017-04-04 21:02:08)
标签:

杂谈

分类: 计算机智能
Rosenblatt于1958年发布的感知器算法,算是机器学习鼻祖级别的算法。其算法着眼于最简单的情况,即使用单个神经元、单层网络进行监督学习(目标结果已知),并且输入数据线性可分。我们可以用该算法来解决and 和 or的问题。下图为工作中的Rosenblatt。

http://s1/mw690/006zieqDzy7a1QyZsTSf0&690Perceptron Algorithm 感知器算法及其实现" TITLE="Rosenblatt's Perceptron Algorithm 感知器算法及其实现" />
在讨论神经元的数学模型时,我们将单个神经元抽象为下图的信号流图形式。输入向量为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&690Perceptron Algorithm 感知器算法及其实现" TITLE="Rosenblatt's Perceptron Algorithm 感知器算法及其实现" />

参考文献:

机器学习的历史:
http://www.erogol.com/brief-history-machine-learning/
维基百科,对我理解本节知识有很重要的作用:
https://en.wikipedia.org/wiki/Perceptron
零基础入门深度学习,在代码实现感知器上给了我很大帮助,也给python新手一些practice的机会:https://www.zybuluo.com/hanbingtao/note/433855

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有