写在前面:看了一些机器学习的面试题,感觉并不适合初学者,所以整理一些比较基础的问题。
一、监督学习与无监督学习的区别
1. 监督学习(Supervised Learning)
需要 有标签(label)的数据 来进行训练,常用于分类 、回归任务。
常见方法:线性回归、逻辑回归、决策树、随机森林、SVM等。
场景举例:垃圾邮件分类、房价预测等。
2. 无监督学习(Unsupervised Learning)
不需要预先标记的数据,常用于聚类 、降维等。
常见方法: K-Means、PCA、自编码器等。
场景举例:将用户按消费习惯分类等。
3. 半监督学习
有些数据的标记成本较高,例如医疗影像需要专家进行标注,因此可以用少量有标签的数据和大量无标签的数据来进行训练。
说得通俗一点就是:监督学习相当于给考试题和答案,然后下次再出类似的题看你的水平;无监督学习相当于只给考试题,自己摸索答案和规律。
二、过拟合与欠拟合
1. 过拟合(Overfitting)
过拟合,顾名思义就是过度拟合,这时候模型就像一个死记硬背的学生,不仅记住了数据还可能记住了一些随机的噪声,稍微出一道新题目就不会了。
表现是模型在训练集上表现很好,但在测试集/新数据上表现很差。
导致过拟合的原因主要有:模型过于复杂 、训练数据过少 、训练时间过长等。
根据原因就可以得到解决方法。
2.欠拟合(Underfitting)
欠拟合的时候模型就像一个连背题都不会的学生,旧题都不会做新题更不会。
表现是模型在训练集和测试集上表现都很差。
导致欠拟合的原因主要有:模型过于简单 、训练不足 、特征不足等。
三、偏差和方差
先举一个例子:一个人射箭,偏差反映这个人射箭射得准不准,方差反映这个人面对不同的靶子射箭的水平稳不稳定。
1. 偏差(Bias)
偏差是指模型预测值的期望与真实值之间的差距,反映模型的准确度。
高偏差可能是模型过于简单导致的,这种情况下模型不能捕捉数据中复杂的关系,是欠拟合的。
2. 方差(Variance)
方差是指模型在不同训练集上预测结果的波动程度,反映模型的稳定性。
高方差可能是模型过于复杂导致的,这种情况下模型对训练数据的细节和噪声过于敏感,是过拟合的。
3. 偏差-方差权衡(Bias-Variance Tradeoff)
模型的预测误差 = 偏差的平方 + 方差 + 不可约误差
不可约误差(Irreducible Error)是无论模型多好都无法消除的误差,来自数据本身的噪声。
偏差和方差不能同时降到最低,因此要想让模型的预测误差更小,只能尽量让两者平衡。
具体的平衡策略有:
- 降低偏差
模型复杂度较低时,偏差较大,处于欠拟合的状态,可以通过提升模型复杂度来降低偏差;
增加训练时间等。
- 降低方差
模型复杂度较高时,方差较大,处于过拟合的状态,可以通过降低模型复杂度来降低方差;
增加训练数据;
增加正则化等。