第二周 神经网络基础
1.logistic回归
logistic回归是一个用于二分分类的算法,即输入一幅图像(64x64x3=12288),输出1或者0,将图像中的特征全部提取出来,形成一个[12288,1]的特征矩阵,若是M个样本,则M_train = [12288,m],Y=[y1,y2...ym].输入参数X的维度为[12288,m],参数w的维度同为[12288,1],b为一个实数,则输出
由于输出要控制在0-1之间,因此要通过激活函数将输出变换一下。logistic回归常通过sigmoid函数进行变换,其函数图像如下:
数学表达式为
符号约定:在神经网络中,我们常会把w和b分开,b在这里对应着一个拦截器,有的约定法则将b也写入参数矩阵w中。
2.代价函数
我们可以这样定义一个损失函数:
这个函数比较容易理解,但是当使用在logistic回归过程中,在学习这些参数时,之后讨论的优化问题会变成非凸的,容易得到一些局部最优解,梯度下降法可能找不到局部最优值。在logistic回归中,我们常定义以下函数为损失函数,便可以使得损失函数变为一个凸函数:
当y=1时,,如果我们想让损失函数尽可能的小,则需要尽可能的大,但是被sigmoid函数限制在0-1之间,所以最终会趋向于1。同理我们可以推出当y=0时,想让损失函数尽可能的小,需要让尽可能的小,所以最终也会趋向于0。
损失函数是衡量单个样本的输出值和真实值之间的差距,要衡量所有样本输出值和真实值的差距,我们需要定义一个代价函数:
可以看出,代价函数只是对所有样本的损失函数进行了简单的平均化处理。
代价函数推导:
已知:
我们设定y帽为给定样本x条件下y=1的概率。
则给定样本x条件下y=0的概率为:
将两式合在一起可以得到:
然后取对数即可获得:
由于训练过程需要最小化损失函数,所以前面要加一个负号。
多样本损失函数是假设各样本在独立同分布的条件下进行极大思然估计,使得损失函数达到最小。
3.梯度下降法
用来训练w和b,来使代价函数达到最小。首先初始化w,b,梯度下降法便是使代价函数上面的点每次都向着它周围最陡的方向走一步,直到到达最优解。
首先我们以一阶的代价函数为例,其函数图像如下图所示。
每次都按照以下公式进行参数更新:
容易看出&#x