学习笔记1
1 什么是神经网络
2 逻辑回归
2.1 激活函数:sigmoid
2.2 loss function:衡量错误大小,当然越小越好
1) L(y^,y)=12(y^−y)2 这个函数是非凸(non-convex)的,容易造成局部最优解。
2) L(y^,y)=−(ylog y^+(1−y)log (1−y^)) 这个函数是凸(convex)的,所以选这个当做loss function。这个函数是经过推导得来的,并不是不是凭空捏造。
2.3 Cost function :loss function 是针对单个样本的,Cost function是m个样本的Loss function的平均值。反映了m个样本的预测输出y^与真实样本输出y的平均接近程度。Cost function可表示为:
Cost function是关于待求系数w和b的函数。我们的目标就是迭代计算出最佳的w和b值,最小化Cost function,让Cost function尽可能地接近于零。
其实逻辑回归问题可以看成是一个简单的神经网络,只包含一个神经元。这也是我们这里先介绍逻辑回归的原因
2.4梯度下降(Gradient Descent):使用梯度下降(Gradient Descent)算法来计算出合适的w和b值,从而最小化m个训练样本的Cost function,即J(w,b)。由于J(w,b)是convex function,梯度下降算法是先随机选择一组参数w和b值,然后每次迭代的过程中分别沿着w和b的梯度(偏导数)的反方向前进一小步,不断修正w和b。每次迭代更新w和b后,都能让J(w,b)更接近全局最小值。梯度下降的过程如下图所示。
梯度下降算法每次迭代更新,w和b的修正表达式为:
上式中,α是学习因子(learning rate),表示梯度下降的步进长度。α越大,w和b每次更新的“步伐”更大一些;α越小,w和b每次更新的“步伐”更小一些。
2.5计算图(Computation graph):
整个神经网络的训练过程实际上包含了两个过程:正向传播(Forward Propagation)和反向传播(Back Propagation)。正向传播是从输入到输出,由神经网络计算得到预测输出的过程;反向传播是从输出到输入,对参数w和b计算梯度的过程。下面,我们用计算图(Computation graph)的形式来理解这两个过程。
举个简单的例子,假如Cost function为J(a,b,c)=3(a+bc),包含a,b,c三个变量。我们用u表示bc,v表示a+u,则J=3v。它的计算图可以写成如下图所示:
通过公式,从左到右出结果。根据偏导,从右到左出参数。