机器学习复习
绪论
什么是机器学习
机器学习正是这么一门学科,它致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。在计算机系统中,“经验”通常以“数据”的形式存在,因此,机器学习所研究的主要内容,是关于在计算机上从数据中产生的“模型”的算法,即“学习算法”。有了学习算法,我们就把经验数据提供给它,它就能基于这些数据产生模型,在面对新的情况时,模型会给我们提供相应的判断。
机器学习常见术语
-
我们把数据中的每一行称为一个示例或样本;
-
反映事件或对象在某方面的表现或性质的事项,如:色泽、根蒂、敲声,称为属性或特征;
-
属性上的取值,例如:青绿、乌黑。称为属性值或特征值;
-
我们把一个示例(样本)称为一个特征向量。
假设空间和归纳偏好
假设空间在已知属性和属性可能取值的情况下,对所有可能满足目标的情况的一种毫无遗漏的假设集合。
归纳偏好是机器学习算法在学习过程中对某种类型假设的偏好。说白了就是“什么样的模型更好”这一问题。
机器学习的主要任务
- 分类是机器学习的一项主要任务,主要是将实例数据划分到合适的分类中。
- 机器学习的另外一项任务回归,主要是预测数值型的数据,比如通过数据值拟合曲线等。
分类和回归属于监督学习,这类算法必须知道预测什么,即目标变量的分类信息。与监督学习相对应的是无监督学习,此时数据没有类别信息,也不会给定目标值。
- 在无监督学习中,将数据集合分成由类似的对象组成的多个类的过程称为“聚类”
分类、回归、聚类的区别:
分类任务和回归任务有一个简单方法,就是看输出是否具有某种连续性。如果在可能的结果之间具有连续性,那么它就是一个回归问题,比如说价格
聚类问题与分类问题的本质区别就是有没有标签。
模型评估选择与验证
泛化能力:即预测新样本的能力
训练集测试集如何划分:
训练集用来构建机器学习模型,测试集用来评估模型性能
通常我们将手头数据的百分之 70 或 80 用来训练数据,剩下的百分之 30 或 20 作为测试用来评估模型性能。值得注意的是,在划分数据集之前,我们要先把手头上的数据的顺序打乱,因为我们搜集数据时,数据可能是按照标签排放的
欠拟合和过拟合
-
欠拟合:模型在训练集上误差很高;
-
欠拟合原因:模型过于简单,没有很好的捕捉到数据特征,不能很好的拟合数据。
-
过拟合:在训练集上误差低,测试集上误差高;
-
过拟合原因:模型把数据学习的太彻底,以至于把噪声数据的特征也学习到了,这样就会导致在后期测试的时候不能够很好地识别数据,模型泛化能力太差。
欠拟合:训练集误差大 测试集误差大
过拟合:训练集误差小 测试机误差大
偏差和方差
模型误差来源:
- 在训练集上的误差来源主要来自于偏差,
- 在测试集上误差来源主要来自于方差。
偏差与方差
-
偏差:预计值的期望与真实值(100%)之间的差距;
-
方差:预测值的离散程度,也就是离其期望值的距离。
验证集与交叉验证
在机器学习中,通常需要评估若干候选模型的表现并从中选择模型。这⼀过程称为模型选择。可供选择的候选模型可以是有着不同超参数的同类模型。
从严格意义上讲,测试集只能在所有超参数和模型参数选定后使⽤⼀次。不可以使⽤测试数据选择模型,如调参。由于⽆法从训练误差估计泛化误差,因此也不应只依赖训练数据选择模型。鉴于此,我们可以预留⼀部分在训练数据集和测试数据集以外的数据来进⾏模型选择。这部分数据被称为验证数据集,简称验证集。
- k折交叉验证
由于验证数据集不参与模型训练,当训练数据不够⽤时,预留⼤量的验证数据显得太奢侈。⼀种改善的⽅法是 K 折交叉验证。在 K
折交叉验证中,我们把原始训练数据集分割成 K
个不重合的⼦数据集,然后我们做K次模型训练和验证。每⼀次,我们使⽤⼀个⼦数据集验证模型,并使⽤其它 K−1 个⼦数据集来训练模型。在这 K
次训练和验证中,每次⽤来验证模型的⼦数据集都不同。最后,我们对这 K 次训练误差和验证误差分别求平均。
- 集成学习
在机器学习的有监督学习算法中,我们的目标是学习出一个稳定的且在各个方面表现都较好的模型,但实际情况往往不这么理想,有时我们只能得到多个有偏好的模型(弱监督模型,在某些方面表现的比较好)。集成学习就是组合这里的多个弱监督模型以期得到一个更好更全面的强监督模型。集成学习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。集成方法是将几种机器学习技术组合成一个预测模型的元算法,以达到减小方差、偏差或改进预测的效果。
- 自助法
在统计学中,自助法是一种从给定训练集中有放回的均匀抽样,也就是说,每当选中一个样本,它等可能地被再次选中并被再次添加到训练集中。自助法以自助采样法为基础,给定包含 m 个样本的数据集 D,我们对它进行采样产生数据集 D’;每次随机从 D 中挑选一个赝本,将其拷贝放入 D’,然后再将该样本放回初始数据集 D 中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行 m 次后,就得到了包含m个样本的数据集 D’,这就是自助采样的结果。
自助法在数据集较小、难以有效划分训练/测试集时很有用;此外,自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法有很大的好处。然而,自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差。
衡量回归的性能指标
1.均方误差 (MSE)
2.均方根误差 (RMSE)
3.平均绝对误差 (MAE)
4. R-Squared
分子表示的是模型预测时产生的误差,分母表示的是对任意样本都预测为所有标签均值时产生的误差,由此可知:
1.R²leq1,当我们的模型不犯任何错误时,取最大值 1。
2.当我们的模型性能跟基模型性能相同时,取 0。
3.如果为负数,则说明我们训练出来的模型还不如基准模型,此时,很有可能我们的数据不存在任何线性关系。
混淆矩阵
首先提出四个术语TP、TN、FP、FN
TP(True Positive):预测为正的真实值也为正的样本。
TN(True Negative):预测值为负的真实值也为负的样本。
FP(False Positive):预测值为正的真实值为负的样本。
FN(False Negative):预测值为负的真实值为正的样本。
-
准确度
-
精确度(查准率)
预测值为1且真实值也为1的样本在值为1的所有样本中所占的比例
Precison计算方法如下:
-
召回率(查全率)
预测值为1且真实值也为1的样本在预测值为1的所有样本中所占的比例
Recall计算方法如下:
-
F1分数
F1分数(F1 Score)是统计学中用来衡量分类模型精确度的一种指标。它同时兼顾了分类模型的准确率和召回率。F1分数可以看作是模型准确率和召回率的一种加权平均,它的最大值是1,最小值是0,F1分数越接近1,即认为模型效果越好。F1的公式如下所示:
ROC曲线与AUC
ROC曲线( Receiver Operating Cha\fracteristic Curve )描述的 TPR ( True Positive Rate )与 FPR ( False Positive Rate )之间关系的曲线。
TPR 与 FPR 的计算公式如下:
TPR 就是召回率。所以 TPR 描述的是模型预测 Positive 并且预测正确的数量占真实类别为 Positive 样本的比例。而 FPR 描述的模型预测 Positive 并且预测错了的数量占真实类别为 Negtive 样本的比例
当模型的 TPR 越高 FPR 也会越高, TPR 越低 FPR 也会越低。这与精准率和召回率之间的关系刚好相反。
那么模型 A 的性能比模型 B 的性能好,因为模型 A 当 FPR 较低时所对应的 TPR 比模型 B 的低 FPR 所对应的 TPR 更高。由由于随着 FPR 的增大, TPR 也会增大。所以 ROC 曲线与横轴所围成的面积越大,模型的分类性能就越高。而 ROC曲线 的面积称为AUC。
AUC:
其中 M 为真实类别为 Positive 的样本数量,N 为真实类别为 Negtive 的样本数量。ranki 代表了真实类别为 Positive 的样本点额预测概率从小到大排序后,该预测概率排在第几