机器学习(西瓜书)学习笔记
0、总体架构
第1部分:第1~3章,机器学习基础知识
第2部分:第4~10章,一些经典而常用的机器学习方法
第3部分:第11~16章,进阶知识
第1章:绪论
1.1 引言
- 机器学习:致力于研究如何通过计算机的手段,利用经验来改善系统自身的性能。
- 机器学习主要内容:计算机从数据中产生“数据模型”的算法,即“学习算法”
1.2 基础术语
分类vs回归
分类:学习任务想要预测的是离散值(如:是、否)
回归:想要预测的是连续值(如:0.95)
监督学习 vs 无监督学习
监督学习:训练数据拥有标记信息(如:分类、回归)
无监督学习:训练数据没有标记信息(如:聚类)
- 泛化能力:学得模型适用于新样本的能力
1.3 假设空间
归纳 vs 演绎
归纳:从特殊到一般的“泛化”
演绎:从一般到特殊的“特化”
广义归纳学习 vs 狭义归纳学习
广义归纳学习:从样例中学习
狭义归纳学习:从训练数据中学得概念
- 假设空间:可以理解为一个搜索树(个人理解)
1.4 归纳偏好
- 概念:机器学习算法在学习过程中对某种类型假设的偏好,称为“归纳偏好”
- ”奥卡姆剃刀“(Occam’s razor)原则:若有多个假设与观察一致,则选最简单的那个
“没有免费的午餐”定理(No Free Lunch Theorem,简称NFL):无论学习算法多聪明或者多笨拙,它们的期望值相同。前提:所有“问题”出现的机会、或所有问题同等重要
寓意:脱离具体问题,空泛地谈论“什么学习算法更好”毫无意义(因为若考虑所有潜在的问题,则所有学习算法都一样好)
补充:析取式、合取式、析合范式、合取范式
析取式:p∨q(或)
合取式:p∧q(且)
合取范式:多个析取式的合取
析合范式:多个合取式的析取
第2章:模型评估与选择
2.1 经验误差与过拟合
训练误差(经验误差) vs 泛化误差
经验误差:学习器在训练集上的误差
泛化误差:在新样本上产生的误差
过拟合 vs 欠拟合
过拟合:由于学习能力过于强大,把训练样本所包含的不太一般的特性都学到了,把训练样本自身的一些特点当作了所有潜在样本都有具有的一般性质
2.2 评估方法
测试数据尽可能不在训练集中出现、未在训练过程中使用过
留出法
直接将数据集D划分为两个互斥的集合,一个为训练集,一个为测试集。但是对于训练集和数据集的选择比较困难,因为测试集小,评估结果方差较大;训练集小,评估结果偏差较大。
常见做法:将大约2/3~4/5的样本用于训练,其余用于测试
交叉验证法
将数据集划分为k个大小相似的互斥子集,即D=D1$\cup$D2$\cup$…$\cup$Dk,$D_i \cap D_j=\varnothing$
但是当数据集比较大时,训练m个模型的计算开销难以忍受,还要考虑调参等
自助法
简单可理解为:有放回采样,可能选择的训练集中包含多个重复的数据,始终没有出现的数据即作为测试数据。
自助法产生的数据改变了初始数据集的分布,会引入估计偏差,但是对集成学习等有很大的帮助
在初始数据足够时,留出法和交叉验证法更常用一些
调参与最终模型
模型评估与选择中用于评估测试的数据集常称为:“验证集”
模型在实际使用中遇到的数据称为:“测试数据”
我们把训练数据划分为:训练集和验证集,基于验证集进行模型选择和调参
2.3 性能度量
对学习器泛化性能进行评估,不仅需要有效可行的实验估计方法,害需要有衡量模型泛化能力的评价标准
2.3.1 错误率与精度
错误率:![]() |
精度:![]() |
---|---|
2.3.2 查准率、查全率与F1
查准率:![]() |
查全率:![]() |
---|---|
- P-R曲线、平衡点(查准率=查全率)
- F1 和 $F_\beta$
2.3.3 ROC 和 AUC
真正率:![]() |
假真率:![]() |
---|---|
2.3.4 代价敏感错误率与代价曲线
![]() |
![]() |
---|---|
$cost{ij}$:表示第i类样本被预测为第j类样本的代价。损失程度相差越大,$cost{01}$与$cost_{10}$值相差越大
2.4 比较检验
- 假设检验
- 二项检验
- t检验
- 交叉验证t检验
- McNemar检验
- Friedman检验 与 Nemenyi后续检验
2.5 偏差与方差
偏差 vs 方差
偏差:期望输出与真实标记的差别
- 泛化误差=偏差+方差+噪声
偏差刻画了学习算法本身的拟合能力;
方差度量了同样大小的数据集的变动所导致的学习性能的变化,刻画了数据扰动所造成的影响;
噪声表达了当前任务下任何学习算法所能达到的期望泛化误差的下界,刻画了学习问题本身的难度。
偏差-方差窘境: