刚开始接触深度学习,对与它大概的印象就是:我们想利用机器来做好多事,比如预测未来的天气,识别语音中的文字,辨别图片中的动物等等。最开始它是不会的或者说错误率非常高的,那我们就像训练小狗似的训练机器,让它去做我们所设想的事情。那又怎么来实现呢?我们需要给机器一个模型,让它通过这个模型来达到目的,这个模型中有好多参数或者说很多不定变量。开始的时候模型并不会做,我们需要去训练模型也就是改变模型中的参数,让模型的输出更加接近真实的答案。
感知器:
上图中就是一个简单的单层感知器。包含输入,权重,激活函数,输出。x为输入,比如语音识别中,语音就是模型的输入。w为权重,也就是开始说的模型中的参数,优化模型时就是通过改变权重来获取最佳模型。权值对于模型的实际意义就是调整输入的重要程度,比如挑西瓜的时候色泽可能比敲击的声音更加重要,所有输出中色泽所占的比例就相对高一些。标记 ∑ 符号的节点为输入加权和,该节点的输入为 x1*w1 + x2*w2 + ·····+ xn*wn + 1 * w0 ,通常用net表示。最后一项1*w0称作偏置项,用来调整被激活的难易程度。step function为模型的激活函数,通过该函数得到的值就是上图感知器的输出out。
感知器可以用来解决线性分类,线性回归等问题。
感知器的训练:
在感知器中w,b的初始值都为0,用 w ← w + Δw