Machine Learning第一阶段小结

来源:互联网 发布:明星自己开淘宝店铺 编辑:程序博客网 时间:2024/05/17 07:28

第一阶段学习了Linear Regression, Logistics Regression, Neural Network Learning这三块内容,回味总结一下…

1. Linear Regression

这是最简单的东西了,数学原理简单,就是最小二乘法,一般costFunction都是凸(convex)函数,不需要改变costFunction的形式
costFunction
参数Theta的更新可以用梯度下降法和直接解矩阵方程注意同时更新就好.
这里写图片描述
在选择学习速率参数Alpha 的时候,可以通过画出costFunction关于迭代次数的函数,只要一直是下降的,就可以适当加大Alpha,调到临界值前,就可以最快的收敛了。
这里写图片描述

2. Logistics Regression

逻辑回归一个重要的函数Sigmoid函数:
这里写图片描述
之所以选择这个函数是因为它有数学上的方便(mathematical convenience), 具有一些不变性,导数求起来方便:
这里写图片描述
Linear Regression相比,Logistics Regression的特别之处就是假设函数(Hypothesis)改变了:
这里写图片描述
因此它不是线性的,这导致costFunction也就不能再直接用Linear Regression的了。因为此时的costFunction是非凸(Non-convex)函数, 用梯度下降法不能找到全局最小点(global minimum),只能是找到局部最小点(local minimum),因此需要改变costFunction的形式:
这里写图片描述
梯度为:
这里写图片描述
这里梯度与Linear Regression的梯度形式一致,只是其中的假设函数(Hypothesis)改变了内容。
再一个要注意的是正则化逻辑回归(Regularized logistic regression), 防止过拟合(Over-fitting)
这里写图片描述
正则化适当
这里写图片描述
未正则化(Lambda = 0)
这里写图片描述
正则化过渡(Lambda 太大)

3. Neural Network Learning

关于神经网络这一块,感觉细节方面理解的还不够,数学理论基础理解了但是在操作上感觉不够强。
要总结神经网络,首先是网络架构:
这里写图片描述
架构上考虑的东西比较多,特别是Hidden Layer的选择, 层数,节点个数,总之要考虑的诸多,还在学习怎么针对性的选择合适的网络架构。
因为选择了sigmoid函数作为激励函数(Activation Function),所以神经网络的costFunction类似逻辑回归:
costFunction
正则化之后(400,25,10为各层的节点个数):
Rl-costfuncton
Backpropagation,反向误差传播:
这里写图片描述
这里写图片描述
这里写图片描述
在数学理论上明白Backpropagation,但是操作中还是有点疑惑,继续学习中。
Gradient checking(检验梯度是否正确):
check
检验正确后要关闭检验,因为计算耗费大量时间,这也是为什么用Backpropagation的原因吧!

结:认真回味学过的知识,让认知再深入一层!!

1 0
原创粉丝点击