神经网络

1.1 感知机 你可以把感知机(Perceptron)通俗理解为一个函数,向函数输入变量,函数会输出。哪函数是如何做到的呢?很简单,我们为每个分配一个权重,根据大于或小于阈值,输出不同的结果。其公式如下:

我们设:阈值,则上式可以简化一下:

通俗解释下:一个女生选男票,代表身高,代表性格,代表长相。如果女生更青睐性格好的男生,那么对应的取值就会大,不在乎长相,那么对应的取值就会小。同时衡量了女生想谈恋爱的程度,越大说明女生越渴望恋爱。反之亦然。


神经网络
文章图片
1.2 S型神经元 我们对上面的,做一下处理有:,其中为:,也叫sigmoid function。于是有:

你可能会问我,为什么要这样做?因为sigmoid function 可以将的结果压缩到,,。并且sigmoid function 是一个可导函数,我们可以用导数进一步研究输出值与之间的关系。


神经网络
文章图片
1.3 神经网络的架构

神经网络
文章图片
其中hidden layer中每一个圈都代表一个S型神经元。这样的一个神经网络中我们有输入值和输出值。我们希望有?个算法,能让我们找到(m为上图中的箭头数)和(k为hidden layer,output layer神经元个数),以?于?络的输出能够拟合所有的训练输? 。为了量化我们如何实现这个?标,我们定义?个代价函数 :


神经网络
文章图片
其中a表示预测值 我们的目标很明确就是寻找对应所有输入使函数取最小值时的。
1.4梯度下降法 分析一下上面的函数(loss function):是输入模型的所有样本,为对应的标签,两者都是不变的。所以的大小只与有关。于是便想:我们可不可以逐步探索,调整使的取值越来越小?于是有了梯度下降法(Gradient descent)。
对于一个函数,梯度下降的主要思想:
【神经网络】1.初始化。
2.不断改变的值,使不断减小至最小值。
梯度下降的过程如图所示:
神经网络
文章图片
现在你可能会说:鬼知道应该怎么调整会使变小。这时我们便要使用微积分工具了:

我们要使变小,即。于是有。我们取,,。
带入上式于是有。好了我们只要按照以下规则更新。就会使变小。

重复上述过程,直到的保持稳定。注意:的值要同时更新,切记不要求一次导更新一次!
2.1

    推荐阅读