关于线性
线性的概念:
“线性”=“齐次性”+“可加性”,
"齐次性"是指类似于: f(ax)=af(x),
"可加性"是指类似于: f(x+y)=f(x)+f(y),
而对于单层感知器来说,是无法处理非线性的问题。非线性及不符合上述的条件的集合。
例如异或问题:
无法找到一个合适的直线,将两边分离开来。
所以这时候就需要用到了delta法则。
##delta法则
delta 法则的关键思想是使用梯度下降(gradient descent)来搜索可能权向量的假设空间, 以找到最佳拟合训练样例的权向量。
由于在真实情况下,并不能保证训练集是线性可分的。因而,当训练集线性不可分时该如何训练感知器呢?这时我们使用delta法则,通过这种方式可以找出收敛到目标的最佳近似值。
其原理是:
因为其激活函数是线性的,所以一般被称为线性单元。
激活函数:
用向量表示就是:
当然在这一种情况下,还需要考虑其每次计算后的结果的误差,根据误差来调整权值。
而这就需要用到代价函数:
其中y为期望输出,y`为实际输出。
在求得误差结果最小的情况下,就是我们所求的最优解。注:这里的1/2只是为了后面的计算方便,没有实际意义。
为了求得代价函数最小,因为:
对路所有的样本的误差和来说:
所以公式可以改写为:
因为对于样本来说(其实是监督学习的方式),x和y都是已知的,所以上述的公式中其实就是w和E(w)的关系。对整个代价函数来说,其实只有一个变量w。
这样如果想要获取E(w)的最小值,及误差最小,只需要获取的上述变量的最小值即可。因此我们可以使用导数的方式来求取最小值。当然计算机是不会解方程的,所以只能是一步一步的尝试出最小值。
因此引进梯度下降算法:
通过不断的改变w的值,来找到使得E(w)最小的位置:
对w求导结果: