感知器
隐藏层:输入层和输出层之间的层叫隐藏层,隐藏层比较多(大于2)的神经网络叫做深度神经网络。
感知器:神经元是神经网络的组成单元,神经元也叫感知器。一个感知器有如下组成部分:
- 输入权值:一个感知器可以接收多个输入x,每个输入上有一个权值**w,此外还有一个偏置项**b;
- 激活函数:f(z);
- 输出:感知器的输出有下面公式(1)计算:
y=f(w∗x+b)
感知器训练算法:用来获取权重项和偏移项。首先,将权重项和偏移项初始化为0,然后利用下面的感知器规则迭代的修改 wi 和 b ,直到训练完成。
w←wi+Δwi
b←b+Δb其中:
Δwi=η(t−y)xi
Δb=η(t−y) wi 是与输入 xi 对应的权重项, b 是偏置项。事实上,可以把
b 看作是值永远为1的输入所对应的权重。 t 是训练样本的实际值,一般称之为label。而是y 感知器的输出值,根据公式(1)计算得出。 η 是一个成为学习速率的常数,其作于是控制每一步调整的权值。感知器不仅仅能实现简单的布尔运算(可以看做是一个二分类问题),他可以拟合任何线性函数,任何线性分类或线性回归问题都可以用感知器来解决。
线性单元
模型: y=h(x)=WT+b , 其中 b=w0∗x0 ,且 x0=1 .
单个样本的误差:
e=12(y−y′)2y 表示训练样本的标记,即实际值,表示由模型计算出的预测值。y′ 用所有样本的误差和来表示模型的误差E,如下:
E=12(e(1)+e(2)+...+e(n))=12∑i=0n[y(i)−y′(i)]2
其中,
y′(i)=h(x(i))=WTx(i),x(i)
表示第
i
个训练样本的特征,
目标函数:
E(w)=12∑i=0n[y(i)−y′(i)]2=12∑i=0n[y(i)−WTx(i)]2梯度下降(上升)优化算法,随机梯度下降(上升)优化算法(SGD)
xnew=xold−η▽f(x)其中,
η为步长,即学习速率,▽f(x)为f(x)的梯度对于目标函数,有:
wnew=wold−η▽E(w)
其中,
▽E(w)=−∑i=0n(y(j)−y′(j))x(j)
即:
wnew=wold+η∑j=0n(y(j)−y′(j))x(j)