80 吴恩达机器学习课程笔记

0 引言

在具体的机器学习实践中,发现碰到了很多问题,这些问题单凭不断实验已经无法解决了,必须要从理论上提高认识水平,来进一步指导自己的研究。具体的问题有下面这些。

(1)针对具体问题,是选择特征工程 + 机器学习(ML)方法还是采用端到端的深度学习(DL)方法?

  (1.1)问题本身是否适合用深度学习/机器学习,通常认为深度学习模型复杂度高,需要数据量大,可解释性差,但是泛化能力好。而机器学习模型复杂度相对较低,所需数据量小,可解释性好,泛化能力一般比深度学习要差一些。

  (1.2)如果采用机器学习,考虑自己提取特征的话,需要调研文献,看看学术界针对具体问题提取了哪些特征,这些特征是否容易泛化等。

(2)如何评价(evaluation)模型的效果?

  (2.1)训练集与测试集的划分;

  (2.2)其他指标:准确率,召回率等,分别是什么意义?能够具备说服能力?

(3)如果模型的效果不好,要怎样改进?

  (3.1)如果模型出现欠拟合(underfitting)的情况,应该怎么办?

  (3.2)如果模型出现过拟合(overfitting)的情况,应该怎么办?

(4)细节问题:梯度下降法,正则化方法等等

2 梯度下降:代价函数(cost function)和等高线图(contour line)

(1)采用两个参数来说明什么是等高线图

 (2)梯度下降时,必须同步更新权重;另外需要设置学习率(learing rate, 图中的 α ),保证收敛速度的同时,使权重收敛到更为合适的位置。

 (3)学习率不合适会导致的问题:太小的话,收敛速度太慢;太大的话,可能导致无法收敛到最低点,甚至发散。

 (4)梯度下降法会在逼近局部最优权重时,自动减少步幅,因为局部最优点的偏导数等于零。

3 过拟合与正则化

(1)什么是过拟合:当变量过多时,模型能够很好地拟合训练集,但是在应用到测试集时,拟合效果不好。

  (2)解决过拟合的方法:

  (2.1)通过人工进行特征选择,达到减少变量的目的;

  (2.2)通过正则化方法,使权重参数具备更强的泛化(generalize)能力。

 (3)正则化:通过往代价函数中引入新的项,达到避免过拟合的目的。正则化项通常可以使参数变小。

  图中是一个不好的例子,这个例子展示了正则化参数太大会导致的不好的结果,即欠拟合。

 4 如何评价模型

(1)训练集:测试集 = 7:3, 随机选择会更好; 采用misclassification error来评价模型的准确率

 (2)训练集:验证集:测试集 = 7:2:1;采用验证集来选择一个合适的模型(确定模型的最高次数d = degree)。

   (3)biase and variance

 Error = Bias^2 + Variance+Noise

  误差的原因:

  1.Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,即算法本身的拟合能力。

  2.Variance反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性。反应预测的波动情况。

  3.噪声。

如何判断模型是欠拟合还是过拟合?

欠拟合:训练集和验证集的Bias都非常大;

过拟合:训练集的variance非常小,但是验证集的variance要远远大于训练集。

5 分类问题

(1)二分类问题中的离群点影响阈值,使得原本能够正确诊断的样本点现在不能正确诊断了

 结论:将线性模型应用于分类模型并不好

为了解决这个问题,同时保证模型的输出 范围在【0, 1】之间,开发了logistic回归算法

通过拟合参数求解决策边界。

(2)求解分类模型参数-决策边界:通过添加高次项,得到类似椭圆或者圆形的决策边界

原文地址:https://www.cnblogs.com/ghjnwk/p/11522305.html