神经网络————感知机

概述

受生物学的启发,人工神经网络是有一系列简单的单元互相紧密联系构成的,每个单元有一定数量的实数输入和唯一的实数输出。神经网络的一个重要的用途就是接受和处理传感器产生的复杂输入并行进行自适应的学习。人工神经网络算法模拟生物神经网络,是一种模式匹配算法,通常用于解决分类和回归问题。

  人工神经网络是机器学习的一个庞大的分支,有几百种不同的算法。常见的人工神经网络算法包括:感知机神经网络,反向传播,Hopfiled网络,自组织映射网络,学习矢量化网络等。

  神经网络中最基本的成分是神经元模型,及上述定义中的最简单的单元。在生物神经玩过中,每个神经元和其他神经元项链,当它兴奋时,就向相连的神经元发送化学物质,从而改变这些神经元内的电位;如果某神经元的电位超过一个阈值,那么它就会被激活,即兴奋起来,向其他神元发送化学物质。

 感知机模型

  如果以神经网络的观点,那么感知机就是一个二层的神经网络。感知机实际是一种线性分类器,它用于二分类问题。它将每一个实力分类为正类(+1)和负类(-1).感知机的物理意义是:它2将输入空间(特征空间)划分为正负两类的分离超平面。

感知机的定义

设特定的特征空间为Rn,输出空间为y={+1,-1}。输入x为特征空间的点,输出y为实例的类别。T是数据集。


感知机的损失函数

  对于感知机,损失函数该怎么定义呢?我们注意到其取值就只有正负两个值。假如现在一个训练样本(xi,yi)进来了,代入感知机的模型y=wx+b算出了一个y,然后如果这个y和yi一样,那么就都是正的,否则全是负的。因此,让其相乘,如果是预测正确,那么永远是正,预测错误就是负的。


训练模型,得到w,b:

我们有了数据集后,就要求出这个损失函数的最小值,我们用梯度下降法。这个东西的梯度是:


然后我们用负梯度进行更新w,并且有一个叫学习率的东西。当我们一个个从数据集T,取出(x,y)进行对w,b更正时,就成了于是w,的更新就是这样:



逐个更新即可。

模型应用

  上面训练出了w,b之后,来了一个数据(x,y)就代入wx+b得到大于0就是默认为+1类,小于0就是默认为-1类。

周志华书表述有些小区别

在上面的更新中,我们是对样本,如果预测不对的话,就如是更新,如果样本预测正确,那么是不是也需要更新呢??显然是不需要的。

周志华的书上(5.1),(5.2)是对每个样本都进行更新操作,当预测正确时,就不需要更新,这时,就让其更新值为0,也就是(y-yi)那项出现的原因。


猜你喜欢

转载自blog.csdn.net/tortelee/article/details/79639506