文章目录
- 1. 监督学习和无监督学习
- 2. 线性回归模型
- 3. 代价函数
- 4. 梯度下降
- 5. 多维特征
- 6. 多元线性回归的梯度下降
- 7. 特征缩放
- 8. 判断梯度下降是否收敛
- 9. 学习率
- 10. 正规方程
- 11. 逻辑回归
- 12. 决策边界
- 13. 逻辑回归的代价函数
- 14. 实现逻辑回归梯度下降
- 15. 过拟合问题
- 16. 正则化
- 17. 神经网络
- 17.1 需求预测
- 17.2 神经网络中的网络层
- 17.3 复杂的神经网络
- 17.4 神经网络前向传播(手写识别案例)
- 17.5 TensorFlow实现代码推理
- 17.6 TensorFlow中的数据格式
- 17.7 搭建神经网络
- 17.8 单个网络层的前向传播
- 17.9 前向传播的一般实现
本章主要回顾吴恩达老师机器学习快速入门视频,以便夯实基础,适合零基础小白~
1. 监督学习和无监督学习
监督学习(Supervised Learning):对于数据集中每一个样本都有对应的标签,包括回归(regression)和分类(classification);
无监督学习(Unsupervised Learning):数据集中没有任何的标签,包括聚类(clustering)
2. 线性回归模型
[见机器学习入门笔记—周志华. 《机器学习》–线性模型]
3. 代价函数
代价函数(cost function)J(θ),通常使用平方误差函数,如下:
4. 梯度下降
如果α太小,梯度下降会变得缓慢;如果α太大,梯度下降可能无法收敛甚至发散。
线性回归中的梯度下降
5. 多维特征
矢量化
6. 多元线性回归的梯度下降
7. 特征缩放
定义
特征缩放是用来标准化数据特征的范围。
- 数量级的差异将导致量级较大的属性占据主导地位
- 数量级的差异将导致迭代收敛速度减慢
- 依赖于样本距离的算法对于数据的数量级非常敏感
作用与原理
特征缩放是针对多特征情况的。当有多个特征向量的时候,如果其中一个变化范围比较大,根据上次所说的多特征梯度下降法算法,该特征向量的参数可能会变化范围很大,从而主导整个梯度下降的过程,使得整个收敛轨迹变得复杂,让收敛的时间更长
优点
- 提升模型的精度:在机器学习算法的目标函数中使用的许多元素,都是假设所有的特征都是零均值并且具有同一阶级上的方差。如果某个特征的方差比其他特征大几个数量级,那么它就会在学习算法中占据主导位置,导致学习器并不能像我们期望的那样,从其他特征中学习
- 提升收敛速度:对于线性模型来说,数据归一化后,寻找最优解的过程明显会变得平缓,更容易正确地收敛到最优解
Standardization (Z-score normalization)
通过减去均值然后除以标准差,将数据按比例缩放,使之落入一个小的特定区间,处理后的数据均值为0,标准差为1
- 数据本身的分布就服从正态分布
- 最大值和最小值未知的情况,或有超出取值范围的离群数据的情况
- 在分类、聚类算法中需要使用距离来度量相似性、或者使用PCA(协方差分析)技术进行降维时,使用该方法表现更好
Rescaling (min-max normalization)
将原始数据线性变换到用户指定的最大-最小值之间,处理后的数据会被压缩到 [0,1] 区间上
- 对输出范围有要求
- 数据较为稳定,不存在极端的最大最小值
- 在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用该方法
Mean normalization
8. 判断梯度下降是否收敛
9. 学习率
如何正确选择学习率。
- 如果α太小:收敛慢
- 如果α太大:每一次迭代过程中J(θ)将会不断的越过最小值,无法收敛
- choose α:0.001,0.003,0.01,0.03,0.1,0.3,1,…
- 寻找一个合适的较小值和较大值,保证结果和速度的同时选取较大的值,或者稍小的合理值。
10. 正规方程
正规方程存在条件:
- XTX是可逆矩阵,若不可逆,可计算广义可逆矩阵。
梯度下降算法:需要选择学习速率α ; 需要许多次迭代;当特征数量n较大时也能够运转正常;
正规方程: 无需选择参数;无需迭代;需要计算( XTX )−1;当n较大时计算缓慢
11. 逻辑回归
12. 决策边界
13. 逻辑回归的代价函数
简化逻辑回归的代价函数
14. 实现逻辑回归梯度下降
- X(i)j 意味着训练样例i的j特征
- 同步更新:means compute the right-hand side for all of these updates and then simultaneously overwrite all the values on the left at the same time.
15. 过拟合问题
相关概念
欠拟合,高偏差:说明没有很好的拟合训练数据
解决办法:增加特征,如增加多项式
过拟合,高方差:拟合训练数据过于完美,J ( θ ) ≈ 0 ,导致模型的泛化能力很差,对于新样本不能准确预测;
解决办法:
- 减少特征个数
a)人工保留合适的特征
b)采用模型选择算法 - 正则化
a)保留所有特征,减小参数θj的维度
解决过拟合
16. 正则化
线性回归的正则方法
对θj 加入惩罚项:
逻辑回归的正则方法
对θj 加入惩罚项:
17. 神经网络
17.1 需求预测
17.2 神经网络中的网络层
17.3 复杂的神经网络
17.4 神经网络前向传播(手写识别案例)
手写识别案例
17.5 TensorFlow实现代码推理
17.6 TensorFlow中的数据格式
17.7 搭建神经网络
17.8 单个网络层的前向传播
17.9 前向传播的一般实现