您的位置:首页 > 理论基础 > 计算机网络

Deep Learning Specialization课程笔记——神经网络基础

2018-03-21 20:31 381 查看
第二周的课程,首先是重温神经网络编程的基本知识。
Binary classification
逻辑回归是二元分类问题。比如:根据图片判断cat or not的问题。

这时,图像矩阵包含的元素总数为64*64*3(红绿蓝三色 64*64为图像大小)所以用n(x)=12288表示输入特征向量x的维度;输出y为1或0(标签)。当测试用例为m个时,给出的X:



这种nx*m写法比m*nx在神经网络的运用时会更简单。

Logistic Regression
线性回归对二分类问题来说,并不是好算法(二分类概率应在0~1之间,线性回归wx+b很容易出此范围。)
这时使用逻辑回归,对wx+b取sigmoid函数:



另外要注意的是,在实现神经网络时,把参数w和b分开看待会更加简单,b是偏置量,w是nx维参数:



Logistic Regression Cost Function

损失函数是为了用来优化逻辑回归模型的参数w和b。
误差函数(Loss function)是为了在算法输出时定义损失,检测算法运行情况(需要进行设定)。
但在逻辑回归里一般不用平方误差的损失函数,因为研究参数时,优化问题会非凸。实际使用的损失函数公式为:



在这个公式中,当y=1,想要小的L,则需要很大的log(yhat),又yhat是sigmoid函数,所以取最大为无限接近1;
当y=0,想要小的L,则要很大的log(1-yhat),同理,取yhat无限接近0。



所以损失函数如上,它想找到对所有样本来说,整体成本最小的w和b。
逻辑回归是一个很小的神经网络。

Gradient Descent
本小节问题:如何用梯度下降来调整训练集中的参数w和b。

对上小节的J(w,b)进行画图(在实践中w可以是更高的维度),损失函数J是一个凸函数(convex function),每一步都在试图沿着最陡的下坡方向走:



用:=表示该参数在进行迭代,在算法收敛前,repeat:



其中,alpha代表学习率,是每一次迭代中梯度下降的步长。
当参数太大时,导数为正,参数变小;参数太小时相反。

Derivatives(微积分)
讲直线slope(斜率)处处相同的,初中数学。

More Derivatives Examples

讲曲线斜率不是处处相同的,同样初中数学。

Computation graph
没什么内容。

Derivatives with a Computation graph

解释什么是反向传播,链式法则。

Logistic Regression Gradient Descent

接上小节,反向传播意义:反向算出需要改变的w和b。

Gradient Descent on m examples



大数据for循环太慢,所以一般用vectorization(矢量化)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐