[关闭]
@anboqing 2015-05-19T01:44:47.000000Z 字数 2871 阅读 4451

机器学习:感知机

Title: 机器学习:感知机
Category:机器学习
感知机
Date:2015-05-18 20:41
Author:安勃卿
Summary:本文简要介绍了感知机学习算法



感知器的概念

感知器(perceptron)是人工神经网络的基础单元,感知器是以一个实数值向量作为输入,计算这些输入的线性组合,然后如果结果大于某个阈值,就输出1,否则输出-1.更精确的是,如果输入为x1xn,那么感知器计算的输出为:

o(x1,...,xn)={1,1, w0+w1x1+...+wnxn> 0otherwise 

perceptron
其中,每一个wi是一个实数常量,或者叫做权值(weight),用来决定输入xi对感知器输出的贡献率
实数w0是一个阈值(threshold),它是为了使感知器输出1,输入的加权和 w0+w1x1+...+wnxn必须超过的值。

感知机是一种线性分类模型(非线性的不能分),属于判别模型,感知机模型的假设空间是定义在特征空间中的所有线性分类模型或线性分类器,即函数集合 {ff(x)=wx+b}
感知机有如下几何解释:线性方程

wx+b=0

对应于特征空间Rn中的一个超平面S,其中w是超平面的法向量,b是超平面的截距。这个超平面将特征空间划分为2个部分,每一部分是一类。

公式是这样推导出来的:

h(x)=sign((di=1wixi) - threashold)
= sign((di=1wixi) + (-threashold)*(+1))
= sign((di=1wixi) + w0x0)
= sign(WTX)


感知机的历史

1943年,心理学家 Warren McCulloch 和数理逻辑学家 Walter Pitts 在合作的《A logical calculus of the ideas immanent in nervous activity》 论文中提出并给出了人工神经网络的概念及人工神经元的数学模型,从而开创了人工神经网络研究的时代。1949年,心理学家唐纳德·赫布 在《The Organization of Behavior》论文中描述了神经元学习法则。

人工神经网络更进一步被美国神经学家 Frank Rosenblatt 所发展。他提出了可以模拟人类感知能力的机器,并称之为『感知机』。1957年,在 Cornell 航空实验室中,他成功在IBM 704机上完成了感知机的仿真。两年后,他又成功实现了能够识别一些英文字母、基于感知机的神经计算机——Mark1,并于1960年6月23日,展示与众。

为了『教导』感知机识别图像,Rosenblatt,在 Hebb 学习法则的基础上,发展了一种迭代、试错、类似于人类学习过程的学习算法——感知机学习。除了能够识别出现较多次的字母,感知机也能对不同书写方式的字母图像进行概括和归纳。但是,由于本身的局限,感知机除了那些包含在训练集里的图像以外,不能对受干扰(半遮蔽、不同大小、平移、旋转)的字母图像进行可靠的识别。

首个有关感知机的成果,由 Rosenblatt 于1958年发表在《The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain》 的文章里。1962年,他又出版了《Principles of Neurodynamics: Perceptrons and the theory of brain mechanisms》 一书,向大众深入解释感知机的理论知识及背景假设。此书介绍了一些重要的概念及定理证明,例如感知机收敛定理。

虽然最初被认为有着良好的发展潜能,但感知机最终被证明不能处理诸多的模式识别问题。1969年,Marvin Minsky 和 Seymour Papert 在《Perceptrons》书中,仔细分析了以感知机为代表的单层神经网络系统的功能及局限,证明感知机不能解决简单的异或(XOR)等线性不可分问题,但 Rosenblatt 和 Minsky 及 Papert 等人在当时已经了解到多层神经网络能够解决线性不可分的问题。

由于 Rosenblatt 等人没能够及时推广感知机学习算法到多层神经网络上,又由于《Perceptrons》在研究领域中的巨大影响,及人们对书中论点的误解,造成了人工神经领域发展的长年停滞及低潮,直到人们认识到多层感知机没有单层感知机固有的缺陷及反向传播算法在80年代的提出,才有所恢复。1987年,书中的错误得到了校正,并更名再版为《Perceptrons - Expanded Edition》。

近年,在 Freund 及 Schapire (1998)使用核技巧改进感知机学习算法之后,愈来愈多的人对感知机学习算法产生兴趣。后来的研究表明除了二元分类,感知机也能应用在较复杂、被称为 structured learning 类型的任务上(Collins, 2002),又或使用在分布式计算环境中的大规模机器学习问题上(McDonald, Hall and Mann,2011)。


感知机学习策略

1. 数据集的线性可分性

给定一个数据集,如果存在某个超平面S, w*x+b=0能够将数据集的正实例点和负实例点都正确的划分到超平面的两侧,即对所有yi=+1iwxi+b>yi=1iwxi+b,,就称该数据集是线性可分的。

2. 感知机学习策略

感知机学习策略是:在假设空间中,选取使损失函数值最小的模型参数(权重w,偏置bias),即感知机模型。

为什么引入损失函数呢?损失函数又是什么呢?

假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练集正实例点和负实例点完全正确分开的分离超平面(separating hyperplane)


感知器学习算法

2


3
3
3
3
3
3
3
3
3
3

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注