机器学习

经典定义:利用经验改善系统自身的性能[T.Mitchell 教科书,1997]

典型的机器学习过程

image-20250311174634429

机器学习有坚实的理论基础

计算学习理论(Computational learning theory)

最重要的理论模型:

PAC(Probably Approximately Correct,概率近似正确)learning model [Valiant, 1984]

P(|f(x)−y|≤ϵ)≥1−δ

基本术语

image-20250312115722889

  • instance是没有结果的;example是有结果的

  • 假设(hypothesis):

    f(x)
  • 真相(ground-truth):

y
  • 学习器(learner):学到的模型

关于输出部分的术语:

  • 分类,回归
  • 二分类,多分类
  • 正类,反类
    • 正类不一定就是好西瓜,坏西瓜也可能是正类。这只是对A和B的一种抽象的说法。
    • 通常认为这两类是可交换的。
    • 可交换意味着这两类满足的很多性质是差不多的,比如在数据集里,这两类的比例是差不多的。

关于学习任务:

  • 监督学习(supervised learning):样例有结果就是有监督学习
    • 典型任务:预测内容,分类,回归
  • 无监督学习(unsupervised learning):样例没结果就是无监督学习
    • 离散类别的,做聚类,做密度估计

image-20250312122813283

归纳偏好(inductive Bias)

对某一种东西有特别的喜好

image-20250312123342682

  • 奥卡姆剃刀准则:若非必要,勿增实体

image-20250312123730267

NFL定理

哪个算法更好?

image-20250312123952879

image-20250312124116237

NFL(No Free Lunch)的寓意:

image-20250312124303428

现实机器学习应用中……

image-20250312124958395

什么模型好?

泛化能力

典型的机器学习过程

image-20250312125641372

一方面,搞清楚要什么;另一方面,还要知道我给你的是不是你要的。

过拟合和欠拟合

泛化误差 VS 经验误差

泛化误差:在‘未来’样本上的误差

经验误差:在训练集上的误差,亦称‘训练误差’

image-20250312130226486

例如:

image-20250312130354665

overfitting是机器学习里的核心内容。

所有的算法,所有的技术都是在“缓解”overfitting。

学习算法思考两个问题:

  • 它靠什么来缓解overfitting
  • 它缓解overfitting的策略什么时候会失效

如果这两个问题清楚了,就把握了该算法在什么时候用。

三大问题

模型选择(Model Selection)

image-20250312161302016

评估方法

image-20250312161701710

留出法

image-20250312162327995

k-折(fold)交叉验证法

image-20250312162959268

自助法

image-20250312163426447

调参与验证集

image-20250312171518492

性能度量

image-20250312172628276

错误率 VS 精度

image-20250312172601639

查准率 VS 查全率

image-20250312172947840

F1

image-20250312173708813

比较检验

image-20250312174055241

常用方法

image-20250312174554370

线性模型

线性模型

image-20250312175159988

线性回归(Linear Regression)

image-20250312175751839

image-20250312180540758

多元线性回归

多元(Multi-variate)线性回归

image-20250312184735192

image-20250312185141707

广义线性模型

线性模型的变化

image-20250312185546078

广义(Generalized)线性模型

image-20250312185804105

对率回归

二分类任务

image-20250312192941015

对率回归

image-20250312193350869

对率回归求解

求解思路:

image-20250312194640381

image-20250312194717369

线性判别分析

线性模型做“分类”

image-20250313165459853

线性判别分析(Linear Discriminant Analysis)

image-20250313170517025

LDA的目标

image-20250313170943682

image-20250313171048212

以下公式推导涉及矩阵求导,拉格朗日算子法等数学基础

image-20250313172306320

LDA的多类推广

image-20250313172834668

多分类学习的基本思路

多分类学习

image-20250313173645369

类别不平衡(class-imbalance)

image-20250313174422801

过采样(SMOTE)和欠采样(easy emsemble)

决策树

决策树基本流程

决策树模型

image-20250313200418332

基本流程

image-20250313201617318

基本算法

image-20250313202736243

信息增益划分

信息增益(Information Gain)

image-20250313205338994

image-20250313205527303

一个例子

image-20250313210548832

image-20250313211126230

image-20250313211350000

image-20250313211406855

image-20250313211446423

其他属性划分准则

增益率(Gain Ratio)

image-20250313213315138

image-20250313213449368

基尼指数(Gini Index)

image-20250313213715582

划分选择 VS. 剪枝

image-20250313214004674

决策树剪枝

image-20250313214252144

通常,要使用单个决策树,要选择剪枝的。

剪枝

image-20250313214554333

第2章:模型的评估

缺失值处理

缺失值

image-20250314113826196

一个例子

image-20250314114122324

image-20250314114720770

image-20250314115134399

神经网络

神经网络模型

什么是神经网络?

image-20250314115250320

“简单单元”神经元模型

image-20250314115516127

神经元的“激活函数(Activation function)”

响应函数 挤压函数(Squashing Funciton)

image-20250314210810693

多层前馈网络结构

  • 每一类一个节点

  • 中间的是隐藏层(隐藏神经元)

image-20250314214244718

万有逼近能力

image-20250314214846699

BP算法推导

image-20250314220230354

image-20250314220744477

image-20250314221029226

image-20250314221413931

支持向量机

支持向量机

线性分类器回顾

image-20250315130745182

间隔(Margin)与支持向量(Support Vector)

image-20250315131208096

支持向量机基本型

image-20250315131417908

对偶问题与解的特性

对偶问题

image-20250320105344247

解的特性

image-20250320105715960

求解方法

求解方法-SMO

image-20250320110316588

特征空间映射

image-20250320110821677

在特征空间中

image-20250320111206684

核函数(Kernal Function)

image-20250320112011667

如何使用SVM

以回归学习为例

image-20250320112624194

ε-不敏感(Insensitive)损失函数

image-20250320112924432

支持向量回归(SVR)

image-20250320113028740

现实应用中

如何使用SVM?

  • 入门级——实现并使用各种版本SVM
  • 专业级——尝试、组合核函数
  • 专家级——根据问题而设计目标函数、替代损失、进而……

贝叶斯决策论

贝叶斯决策论

生成式和判别模型

贝叶斯分类器和贝叶斯学习

极大似然估计

朴素贝叶斯分类器

集成学习

集成学习

好而不同

两类常用集成学习方法

Boosting

Bagging

多样性度量

聚类

距离计算