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

第二周的课程,首先是重温神经网络编程的基本知识。

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(矢量化)。

猜你喜欢

转载自blog.csdn.net/weixin_37805505/article/details/79631311
今日推荐