机器学习笔记10-神经网络

感知器:

会有一些输入,将它们视为放电频率或输入的强度,在这种情况下 即 X1、X2 和 X3 把他们相应地乘以权值 w1、w2 和 w3,在这里 权值基本相当于神经元 (即这个单元) 对每个输入的增益或敏感性。

现在对所有输入求和,强度乘以权值,就是激发函数。然后我们看看函数的值是否大于等于激发阈,决定输出。


即线性加权和后跟一个阈值二值化方法


感知器就是一个线性函数,它计算的是超平面


可以执行‘与’运算,也叫做逻辑积:

机器学习笔记10-神经网络

改变权重和阈值,可变为‘或’运算:

机器学习笔记10-神经网络

还有‘非’运算:

机器学习笔记10-神经网络


就可以表达任何布尔函数



训练感知器:
两个方法

一个是感知器规则 另一个是梯度下降或德尔塔定律。

它们之间的差别是感知器规则利用的是阈值输出,而另一个机制不使用阈值


感知器规则:

如何设置单一单元的权值以使其符合特定的训练集


阈值定位0,寻找权重。


y是实际结果
y^是预测结果

n是学习速率

x是输入


当误差不够小时,循环改变权重(第二行)

机器学习笔记10-神经网络

但该算法只适合线性可分,所以为了算法更为健壮,我们使用梯度下降法:

我们之前做的是:我们把不同的输入特征乘以其对应的权值 w,然后求和,我们把所有这些加起来得出**函数,然后通过比较**函数值是否大于或等于 0 来得出预计输出


a:**函数



现在对实际值和**函数的误差进行梯度下降,为什么不用与y^的误差呢,主要原因是不可导(不是连续函数)。从**函数到 y^ 有一个巨大的跳跃 ,就是y^ 等于 0 的时候(突变跃迁不可导)


Sigmoid 的意思就是 s 形函数

 机器学习笔记10-神经网络

如果用Sigmoid函数来替换y^,则可导可微,能够计算调整权重对输出的影响。

更新函数:
机器学习笔记10-神经网络

机器学习笔记10-神经网络


但如果是大量复杂数据使用梯度下降法,就会很容易陷入局部最优解


过多的节点,隐藏层,或者过大的权重,都会导致过拟合