历史复习点迁移

历史复习点迁移
hezhNote
本文用于归档 作业.md 的历史复习总结。因为:
- 耗费精力整理的的复习点直接删除实属可惜
- 需要清理主文(作业.md),防止课程考完后主文的篇幅过长
- 图片、文件资源可能不被存放于此,因为要定期清理图床腾出空间
- 能做一个知识回顾,也能照顾不幸 g 了的同学(当然,不希望如此)
- 我会尽可能回忆考试的内容(题型)
本文 TOC 采取倒序编排。
三、算法分析
Tip
考试题型结构(七道题):
- 实现 Hanio 程序(10分)
- 用 Dijkstra 在有向带权图中找到从 A 点到其他点的最短距离(20分)
- 连续邮资问题(20分)
- 多机调度任务问题(10分)
- 对给定的时间复杂度排序(10分)
- 简答题;动态规划和贪心算法的区别(10分)
- 简答题:蚁群算法的思想以及步骤(10分)
复习资料
Warning
这部分最好电脑浏览,大量的 Latex 语法会超出手机屏幕,而且内容体量过大,手机较卡顿
复习摘要
第一章(概述)
- 算法四个性质
- 算法复杂度分析(排序)
- NPC,P,NP概念
第二章(分治递归)
- 分治递归概念
- 排序算法(快排,堆排,归并排)
- 二分搜索
- 大整数乘法(重点)
- 线性时间选择
- 分治法的适用条件
- 逆序对
第三章(动态规划)
- 动态规划基本要素
- 矩阵连乘(重点)
- 最长公共子串
- 最优性原理
- 备忘录
- 多边形游戏,子序列
- 01背包,旅行商问题(非对称)
- 最短路径,资源分配
第四章(贪心)
- 贪心法的基本要素
- 贪心选择,最优子结构
- 贪心和动态规划的区别/差异
- 活动安排、最优装载,哈夫曼编码(变长)
- Dijkstra(单源最短路径)
- 最小生成树(两个方法Prim+Kruskal)
- 多机调度(最长优先)
第五章(回溯法)
- 4个框架(递归、迭代、回溯,分治)
- 显性约束,隐性约束
- 搜索策略:DFS(搜索过程能剪枝)
- 01背包,旅行商问题,批处理作业调度
- 符号三角问题,N皇后问题(N≥4)
- m着色问题,园排列问题
- 连续邮资问题
第六章(分支限界法)
- 搜索策略:BFS(区别于贪心算法的搜索策略)
- 最小开销优先
- 基本思想:上下界函数
- 01背包,作业序列问题,旅行商问题,多段图单源最短路径
第七章(智能算法)
- 主要掌握基本概念及步骤
- GA基因遗传算法
- 蚂蚁算法
- 模拟退火算法
(一)七个章节知识梳理
第一章 算法概述
1. 什么是算法?算法的五个基本性质是什么?
2. 什么是算法复杂度分析?
3. P、NP、NPC 概念。
4. 复杂度排序练习
第二章 分治与递归
1. 分治法的概念和适用条件?
2. 快速排序、归并排序、堆排序对比。
3. ⭐大整数乘法(重点)
4. 二分搜索。
5. 逆序对(分治法)。
6. 线性时间选择。
第三章 动态规划
1. DP 基本要素与最优性原理。
2. ⭐矩阵连乘(重点)
3. 最长公共子序列(LCS)。
4. 0/1 背包(DP解法)。
5. 备忘录方法 vs DP。
第四章 贪心算法
1. 贪心算法的两个基本要素。
2. ⭐贪心 vs 动态规划(高频简答)。
3. 活动安排问题。
4. 哈夫曼编码。
5. Dijkstra 单源最短路径。
6. 最小生成树(Prim vs Kruskal)。
7. 多机调度(LPT)。
8. 最优装载。
第五章 回溯法
1. 四个框架与搜索策略。
2. N皇后(N≥4)。
3. 0/1背包回溯解法。
4. TSP 回溯解法。
5. m着色问题。
6. 符号三角形。
第六章 分支限界法
1. 基本思想与回溯法区别。
2. 0/1背包分支限界。
3. 多段图最短路径。
第七章 智能算法
1. 遗传算法(GA)。
2. 蚂蚁算法。
3. 模拟退火。
(二)计算题
一、时间复杂度分析
【题 1】分析以下程序段的时间复杂度。
1 | |
【题 2】分析以下程序段的时间复杂度。
1 | |
【题 3】分析以下程序段的时间复杂度。
1 | |
【题 4】将以下函数按渐进复杂度从小到大排序。
$$f_1(n)=3n^2,\ f_2(n)=n!,\ f_3(n)=2^n,\ f_4(n)=n\log n,\ f_5(n)=\log n,\ f_6(n)=n^3,\ f_7(n)=1000$$
二、递推方程求解(Master Theorem)
【题 5】用主定理求 $T(n) = 2T(n/2) + n$ 的渐进复杂度。
【题 6】用主定理求 $T(n) = T(n/2) + 1$ 的渐进复杂度。
【题 7】用主定理求 $T(n) = 4T(n/2) + n$ 的渐进复杂度。
【题 8】用主定理求 $T(n) = 3T(n/2) + n$ 的渐进复杂度。
【题 9】用主定理求 $T(n) = 9T(n/3) + n^2$ 的渐进复杂度。
三、大整数乘法(分治法)
【题 10】用分治法(Karatsuba)计算 $1234 \times 5678$,写出完整过程。
【题 11】用分治法(Karatsuba)计算 $3141 \times 5327$(老师重点例题)。
【题 12】用分治法计算 $4567 \times 8912$(自拟练习)。
四、矩阵连乘问题
【题 13】
3 个矩阵:
$$A_1(10 \times 100), A_2(100 \times 5), A_3(5 \times 50)$$
求最少乘法次数和最优加括号。
【题 14】6 个矩阵,维数 $p={30,35,15,5,10,20,25}$,求 $m[1][6]$ 和最优加括号(课本经典题)。
五、最长公共子序列(LCS)
【题 15】求 $X = \text{ABCBDAB}$ 与 $Y = \text{BDCABA}$ 的 LCS 长度与序列。
六、0/1 背包问题(DP 填表)
【题 16】$W=10$,5 件物品 $w={2,2,6,5,4}, v={6,3,5,4,6}$,求最大价值并回溯方案。
【题 17】$W=8$,4 件物品 $w={3,4,5,2}, v={4,5,6,3}$,求最大价值及方案。
七、哈夫曼编码
【题 18】6 个字符频率 ${2,6,5,8,7,1}$,构造哈夫曼树,求 WPL 和各字符编码。
【题 19】4 个字符频率 ${5,7,10,15}$,构造哈夫曼树并求 WPL。
八、Dijkstra 单源最短路径
【题 20】给定以下带权有向图,用 Dijkstra 算法求源点 A 到各点的最短路径。
1 | |
九、最小生成树(Prim + Kruskal)
【题 21】给定带权无向图,用 Prim(从 A 开始)和 Kruskal 分别求 MST。
1 | |
十、贪心算法计算
【题 22】11 个活动,开始和结束时间如下,用贪心法求最多可安排的活动数。
1 | |
【题 23】$n=6$ 个集装箱重量 ${5,2,6,4,3,7}$,轮船载重 $W=15$,求最多能装多少个。
【题 24】$n=7$ 个作业处理时间 ${2,14,4,16,6,5,3}$,$m=3$ 台机器,用 LPT 求最短完成时间和调度方案。
十一、回溯法计算题
【题 25】画出 $n=3$ 时 0/1 背包问题的解空间树(子集树),说明如何剪枝。
【题 26】$n=4$ 皇后,回溯法最多搜索多少个结点(无剪枝)?剪枝后实际搜索多少?给出搜索过程。
【题 27】已知 0/1 背包 $W=10$,物品按价重比降序后:$w={4,2,6,5,2}$, $v={6,3,5,4,6}$,画出回溯搜索树前 3 层,标注上界和剪枝情况。
(三)编程题(C 语言)
一、快速排序
1 | |
二、归并排序
1 | |
三、堆排序
1 | |
四、二分搜索
1 | |
五、递归斐波那契
1 | |
六、0/1 背包(DP)
1 | |
七、N 皇后(回溯法)
1 | |
八、全排列(回溯法)
1 | |
九、图的 m 着色(回溯法)
1 | |
十、最长公共子序列 LCS(DP)
1 | |
十一、哈夫曼树构造
1 | |
十二、货币找零(贪心)
1 | |
十三、多机调度 LPT(贪心)
1 | |
十四、Dijkstra 单源最短路径
1 | |
二、操作系统
一、操作系统概述
1. 什么是操作系统?它的主要功能有哪些?
2. 操作系统的基本特征有哪些?简述其含义。
3. 分时系统与实时系统的区别是什么?
4. 并发与并行的区别是什么?
5. 处理机的双重工作模式是什么?系统调用的过程是怎样的?
6. 模块化结构与微内核结构的区别是什么?
二、进程与线程
1. 什么是进程?进程由哪些部分组成?
2. PCB 的作用是什么?包含哪些主要内容?
3. 进程有哪几种基本状态?状态之间如何转换?
4. 进程与线程的区别是什么?
5. 用户级线程与内核级线程的区别是什么?
6. 进程创建和控制的常用系统调用有哪些?
三、处理机调度
1. 简述几种常用的进程调度算法及其特点。
2. 抢占式调度与非抢占式调度的区别是什么?
3. 如何计算周转时间和带权周转时间?
4. 单道程序与多道程序的运行时间图有何区别?抢占式与非抢占式对运行时间图有何影响?
5. 单道与多道程序环境下的平均周转时间如何计算?各有什么区别?
6. 给定以下进程,分别用 FCFS、SJF(非抢占)、优先级调度(非抢占,数字越小优先级越高)、RR(q=2)计算平均周转时间和平均带权周转时间。
四、进程同步与死锁
1. 进程同步与互斥的定义和区别是什么?
2. 什么是临界区?临界区的进入应遵循哪些原则?
3. 简述信号量机制(整型信号量、记录型信号量、AND 型信号量)。
4. 什么是死锁?死锁产生的四个必要条件是什么?
5. 简述银行家算法的原理。
6. 简述生产者-消费者问题及其解决方案。
7. 简述读者-写者问题。
五、内存管理
1. 逻辑地址与物理地址的区别是什么?
2. 动态分区分配算法有哪些?简述各自特点。
3. 分页管理与分段管理的主要区别是什么?
4. 分页系统中,逻辑地址如何转换为物理地址?画出地址转换过程图。
5. 分区分配算法计算例题:给定空闲分区链,分别用首次适应、循环首次适应、最佳适应、最差适应分配作业。
六、虚拟内存
1. 虚拟存储器的作用是什么?
2. 缺页中断与普通中断的区别是什么?
3. 简述页面置换算法:OPT、FIFO、LRU、改进型 Clock。
4. 什么是抖动(Thrashing)?什么是工作集?
5. 缺页中断的处理过程是怎样的?
七、I/O 管理
1. I/O 控制方式有哪几种?各有什么特点?
2. 什么是中断?屏蔽中断与嵌套中断的区别是什么?
3. 简述设备控制器的功能和组成。
4. 什么是 SPOOLing 技术?
5. 常用的磁盘调度算法有哪些?
八、文件系统
1. 文件的逻辑结构有哪几种?物理结构(外存组织方式)有哪几种?
2. 目录结构有哪几种?各有什么优缺点?
3. 什么是 FCB?什么是 Inode?
4. 文件打开(Open)和关闭(Close)时操作系统内部做了什么?
5. 什么是混合索引方式?
6. 利用索引节点与利用符号链接解决文件共享的区别是什么?
7. 空闲空间管理方式有哪些?
8. 什么是 FAT 表?盘块链接情况及 FAT 表的寻址过程是怎样的?
9. 顺序文件的隐式寻址方式与显式寻址方式的区别是什么?
九、计算题专项
1. 页面置换算法计算缺页次数(FIFO、LRU、OPT 对比)。
2. 地址转换计算(分页系统)。
3. 磁盘调度计算(FCFS、SSTF、SCAN、CSCAN 四种算法对比)。
4. 银行家算法计算(安全性检查与资源分配判断)。
5. 银行家算法具体数值算例。
6. 位示图计算(盘组容量与位示图大小)。
一、机器学习
机器学习试卷 A
机器学习试卷 A
考试时间:100分钟 | 满分:100分
一、选择题(每题2分,共20分)
1. 下列哪个不属于机器学习三要素?
A. 模型
B. 策略
C. 算法
D. 数据
2. 在AdaBoost算法中,如何改变训练数据的权值?
A. 提高正确分类样本的权值
B. 提高错误分类样本的权值
C. 保持权值不变
D. 随机改变权值
3. k近邻算法中,k值选择过小会导致:
A. 近似误差大,估计误差小
B. 近似误差小,估计误差大
C. 容易受到噪声影响,出现过拟合
D. 模型过于简单
4. 决策树中,信息增益等价于:
A. 条件熵
B. 经验熵
C. 训练数据集中类与特征的互信息
D. 后验概率
5. Logistic回归模型中,对数几率函数(sigmoid函数)的表达式是:
A. y = 1/(1 + e⁻ᶻ)
B. y = eᶻ
C. y = log(z)
D. y = z/(1 + z)
6. SVM中,支持向量是指:
A. 距离分类界面最远的样本
B. 距离分类界面最近的样本
C. 所有训练样本
D. 错误分类的样本
7. 以下哪种方法属于无监督学习?
A. 线性回归
B. 逻辑回归
C. k均值聚类
D. 决策树
8. Bagging算法的核心思想是:
A. 串行组合多个分类器
B. 通过有放回抽样构建多个数据集
C. 调整样本权重
D. 使用单一强分类器
9. 在贝叶斯决策中,最小错误率准则等价于:
A. 最大后验概率(MAP)
B. 最小风险准则
C. 最大似然估计
D. 最小二乘法
10. 线性判别分析(LDA)的目标是:
A. 最小化重构误差
B. 最大化类间差异,最小化类内差异
C. 最大化类内差异
D. 最小化类间差异
二、填空题(每空1分,共15分)
1. 机器学习的核心要义是与______作长期坚持不懈的斗争。
2. 线性模型的一般形式为:f(x) = w₁x₁ + w₂x₂ + … + w_dx_d + ______。
3. Logistic回归中,事件的几率odds定义为事件发生与事件不发生的______之比。
4. 决策树的三个基本组成部分是:决策结点、______和叶子。
5. k近邻法的三要素是:k值的选择、______和分类决策规则。
6. SVM中,最优分类界面是指能够将样本分开的______超平面。
7. 信息增益的计算公式为:g(D,A) = ______ - H(D|A)。
8. AdaBoost中,弱分类器的组合方法是______多数表决。
9. 聚合聚类需要预先确定的三个要素是:距离或相似度、______和停止条件。
10. 混淆矩阵中,TP表示______,FP表示______。
11. 精确率(Precision)的计算公式为:P = ______ / (TP + FP)。
12. LDA的基本思想是通过线性投影来______同类样本间的差异,______不同类样本间的差异。
三、判断题(每题1分,共10分)
1. 机器学习中,学习能力越强越好。( )
2. 决策树是一种典型的无监督学习方法。( )
3. k近邻算法中,k值越大,模型越复杂。( )
4. Logistic回归是一种分类算法,不是回归算法。( )
5. SVM的最优分类界面完全由支持向量决定。( )
6. AdaBoost算法中,分类误差率大的弱分类器权值应该增大。( )
7. 主成分分析(PCA)是一种监督学习方法。( )
8. 在交叉验证中,k值越大,计算成本越低。( )
9. 信息增益越大,说明该特征对分类越重要。( )
10. Bagging算法通过调整样本权重来提高分类器性能。( )
四、简答题(每题5分,共25分)
1. 简述机器学习三要素及其作用。
2. 请说明欠拟合和过拟合的区别,以及如何解决这两种问题。
3. 简述AdaBoost算法的基本思想和工作流程。
4. 请比较主成分分析(PCA)和线性判别分析(LDA)的区别。
5. 简述SVM中支持向量的概念及其作用。
五、计算题(每题10分,共30分)
1. Logistic回归模型计算
给定一个二分类问题,样本 x = [1, 2, 3]ᵀ,权重向量 w = [0.5, 0.3, 0.2]ᵀ,偏置 b = 0.1。
(1)请计算该样本属于正类(Y=1)的概率。
(2)如果阈值设置为0.5,请判断该样本的分类结果。
2. 信息增益计算
给定一个训练集D,包含10个样本,其中6个属于类 ω₁,4个属于类 ω₂。特征A有两个取值 A₁ 和 A₂:
- 当 A = A₁ 时,有5个样本,其中4个属于 ω₁,1个属于 ω₂
- 当 A = A₂ 时,有5个样本,其中2个属于 ω₁,3个属于 ω₂
请计算特征A对训练数据集D的信息增益g(D,A)。
(提示:log₂2 = 1,log₂5 ≈ 2.32,log₂10 ≈ 3.32)
3. SVM间隔计算
给定一个二维空间中的线性分类器:g(x) = 2x₁ + 3x₂ + 1 = 0
(1)请计算样本点 x = (1, 1) 到分类界面的几何间隔。
(2)请说明该样本点位于分类界面的哪一侧。
试卷结束
本试卷基于机器学习复习资料编写,涵盖监督学习、无监督学习、集成学习等核心知识点。
机器学习试卷 B
机器学习试卷 B
考试时间:100分钟 | 满分:100分
一、选择题(每题2分,共20分)
1. 机器学习中,学习能力太强会导致:
A. 欠拟合
B. 过拟合
C. 模型简单
D. 训练速度快
2. 下列哪种方法属于集成学习?
A. 线性回归
B. 决策树
C. AdaBoost
D. k均值聚类
3. 在k近邻算法中,k值选择过大会导致:
A. 过拟合
B. 欠拟合
C. 近似误差大,估计误差小
D. 近似误差小,估计误差大
4. 决策树中,熵越大表示:
A. 数据越纯
B. 数据越混乱
C. 不确定性越小
D. 分类越容易
5. Logistic回归的损失函数通常是:
A. 均方误差
B. 交叉熵损失
C. 合页损失
D. 指数损失
6. SVM中,最大化间隔等价于:
A. 最大化 ‖w‖
B. 最小化 ‖w‖
C. 最大化 ‖w‖²
D. 最小化 ‖w‖²
7. 以下哪种方法是无监督学习?
A. 线性判别分析
B. 逻辑回归
C. 主成分分析
D. 支持向量机
8. Bagging算法中,每个基分类器使用:
A. 相同的训练数据
B. 不同的训练数据(有放回抽样)
C. 全部训练数据
D. 部分训练数据(无放回)
9. 贝叶斯公式中,后验概率的计算需要:
A. 先验概率和类条件概率
B. 只需要先验概率
C. 只需要类条件概率
D. 需要所有概率
10. 线性判别分析(LDA)是一种:
A. 无监督学习方法
B. 有监督学习方法
C. 强化学习方法
D. 半监督学习方法
二、填空题(每空1分,共10分)
1. 线性回归的损失函数通常是______。
2. 决策树的构建过程包括______和剪枝两个阶段。
3. SVM中,核函数的作用是______。
4. k近邻算法是一种______学习算法。
5. 集成学习的主要方法包括______和Bagging。
6. 交叉验证法中,K折交叉验证将数据集划分为______个互斥子集。
7. 混淆矩阵中,准确率的计算公式是______。
8. 正则化的目的是______。
9. 梯度下降法中,学习率过大会导致______。
10. 特征选择的目的是______。
三、简答题(每题10分,共50分)
1. 请详细说明监督学习和无监督学习的区别,各自的应用场景,并举例说明。
2. 请详细描述梯度下降法的工作原理,包括批量梯度下降、随机梯度下降和小批量梯度下降的区别。
3. 请详细说明决策树的构建过程,包括特征选择的标准(信息增益、信息增益比、基尼指数)。
4. 请详细说明SVM的基本思想,包括线性可分和线性不可分两种情况的处理方法。
5. 请详细说明交叉验证的原理和方法,为什么交叉验证比简单的留出法更可靠?
四、计算题(每题10分,共20分)
1. 线性回归计算
给定一个简单的线性回归问题,训练数据如下:
- 样本1:x₁ = 1, y₁ = 2
- 样本2:x₂ = 2, y₂ = 4
- 样本3:x₃ = 3, y₃ = 5
假设模型为 ŷ = wx + b
(1)使用最小二乘法,求解最优的 w 和 b。
(2)计算训练集上的均方误差(MSE)。
2. SVM间隔计算
给定一个二维空间中的线性分类器:g(x) = x₁ + x₂ - 1 = 0
(1)请计算样本点 x = (2, 0) 到分类界面的几何间隔。
(2)如果该样本点的真实类别是 ω₁(正类),请判断该样本点是否被正确分类。
机器学习试卷 C
机器学习试卷 C
考试时间:100分钟 | 满分:100分
一、选择题(每题2分,共20分)
1. 下列哪种方法属于集成学习中的Boosting方法?
A. 随机森林
B. Bagging
C. AdaBoost
D. k近邻
2. 在线性回归中,最小二乘法的目标是最小化:
A. 绝对误差
B. 均方误差
C. 交叉熵
D. Hinge损失
3. 决策树中,信息增益比修正了信息增益的什么问题?
A. 计算复杂度
B. 对多值特征的偏向
C. 过拟合问题
D. 特征缺失问题
4. SVM中,核函数的作用是:
A. 降低计算复杂度
B. 将低维空间映射到高维空间
C. 减少支持向量数量
D. 提高训练速度
5. 以下哪种方法不属于降维方法?
A. PCA
B. LDA
C. k均值聚类
D. SVD
6. 交叉验证的主要目的是:
A. 加快训练速度
B. 减少过拟合
C. 更准确地评估模型性能
D. 减少特征数量
7. 在贝叶斯决策中,最小风险准则考虑的是:
A. 分类准确率
B. 分类错误率
C. 分类损失
D. 分类速度
8. k近邻算法的时间复杂度是:
A. O(n)
B. O(nlogn)
C. O(n²)
D. O(2ⁿ)
9. 正则化中,L1正则化的特点是:
A. 使所有权重接近0
B. 使部分权重恰好为0,产生稀疏解
C. 使所有权重相等
D. 使权重均匀分布
10. 随机森林算法中,每棵树的训练数据是通过什么方式获得的?
A. 使用全部数据
B. 有放回抽样
C. 无放回抽样
D. 使用部分特征
二、填空题(每空1分,共10分)
1. 机器学习的主要任务包括______、聚类、降维和强化学习。
2. 线性回归的假设函数是______。
3. 决策树的剪枝分为______和后剪枝两种。
4. SVM的对偶问题中,只有______对应的样本才是支持向量。
5. k均值聚类算法中,k表示______。
6. 梯度下降法中,学习率太小会导致______。
7. 特征工程包括______、特征提取和特征选择。
8. 评估分类模型性能的指标有准确率、______、召回率和F1值。
9. 集成学习通过组合多个______来提高模型性能。
10. 主成分分析(PCA)的目标是最大化投影数据的______。
三、简答题(每题10分,共50分)
1. 请详细说明偏差-方差权衡(Bias-Variance Tradeoff)的概念,以及它与过拟合和欠拟合的关系。
2. 请详细说明L1正则化和L2正则化的区别,包括它们的特点、作用和应用场景。
3. 请详细说明随机森林算法的工作原理,包括它与Bagging和决策树的关系,以及它的优缺点。
4. 请详细说明特征选择的目的和方法,包括过滤式、包裹式和嵌入式三种方法的区别。
5. 请详细说明模型评估的方法,包括留出法、交叉验证法和自助法的原理和优缺点。
四、计算题(每题10分,共20分)
1. 正则化线性回归计算
给定一个简单的线性回归问题,训练数据如下:
- 样本1:x₁ = 1, y₁ = 2
- 样本2:x₂ = 2, y₂ = 4
- 样本3:x₃ = 3, y₃ = 5
假设模型为 ŷ = wx + b,使用L2正则化,正则化参数 λ = 0.1。
(1)写出L2正则化线性回归的损失函数。
(2)如果使用梯度下降法,写出参数更新公式。
2. 决策树信息增益计算
给定一个训练集D,包含8个样本,其中4个属于类 ω₁,4个属于类 ω₂。特征A有三个取值 A₁、A₂ 和 A₃:
- 当 A = A₁ 时,有3个样本,其中2个属于 ω₁,1个属于 ω₂
- 当 A = A₂ 时,有3个样本,其中1个属于 ω₁,2个属于 ω₂
- 当 A = A₃ 时,有2个样本,其中1个属于 ω₁,1个属于 ω₂
请计算特征A对训练数据集D的信息增益g(D,A)。
(提示:log₂2 = 1,log₂4 = 2,log₂8 = 3)
机器学习知识点总结
机器学习知识点总结
第一章 机器学习预备知识
1.1 什么是机器学习?
维基百科定义:
- 机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。
- 机器学习理论主要是设计和分析一些让计算机可以自动"学习"的算法。
- 机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。
- 因为学习算法中涉及了大量的统计学理论,机器学习与统计推断学联系尤为密切,也被称为统计学习理论。
- 算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。
1.2 关键术语与任务类型
数据集相关术语:
- 样本/实例:数据集中的一条记录
- 特征/属性:因变量的各种因素,如"天气"、“变天技术”
- 特征维度:特征的数量
- 数据集:样本的集合
任务类型:
- 分类问题:预测的变量是定性的离散值,则该机器学习为分类任务
- 回归问题:如果预测的变量是定量的连续值,则是一个回归任务
- 监督学习:分类和回归问题可以统称为监督学习问题
- 无监督学习:当数据集没有标签时,也可以仅通过特征进行聚类等分析,这种无明确标签的机器学习也叫无监督学习问题
1.3 机器学习的核心要义
- 给定一组数据,要从数据中最大程度上归纳总结出普遍的规律
- 学习的不够,普适规律没有归纳出来,这是欠拟合
- 学习能力太强,以至于把数据中的噪声也拟合了,这是过拟合
- 但在上帝视角,数据中总存在一个模型,它能够最大程度的拟合训练数据,且对未知的测试数据有最好的泛化能力
核心要义: 机器学习的核心要义就是与过拟合作长期坚持不懈的斗争
如何斗争? 数据采集、特征工程、算法调优等
1.4 机器学习三要素
任何一个机器学习方法都是由模型、策略和算法三要素构成。可以理解为机器学习模型在一定的优化策略下使用求解算法来寻优的过程。
模型: 指在假设空间中要学习的决策函数或者条件概率分布
F = {f|Y = f(X)}或F = {P|P(Y|X)}
策略: 是指按照什么样的标准来选择最优模型。对于给定模型,模型输出 f(X) 和真实标签 Y 之间的误差可以用损失函数来度量
L(Y, f(X)) = min_{f∈F} (1/n) Σ L(yi, f(xi)) + λJ(f)- 分类模型一般用对数损失或者交叉熵损失;回归模型一般用均方损失。
算法: 指的是具体的优化求解方法,比如梯度下降、牛顿法、拟牛顿法等。
第二章 回归
2.1 损失函数
假设: hθ(x) = θ₀ + θ₁x
参数: θ₀, θ₁
损失函数: J(θ₀, θ₁) = (1/2m) Σᵢ₌₁ᵐ (hθ(x⁽ⁱ⁾) - y⁽ⁱ⁾)²
- 给定训练集,如何找到最优的参数 θ 使得损失最小?
- 最小化训练集上的损失:
min_{θ₀,θ₁} J(θ₀, θ₁)
2.2 参数优化
如何找到最优的参数 θ* = arg min_θ L(θ)?
策略1: 穷举所有的 θ —— STUPID
策略2: 随机搜索 —— 瞎猫碰死耗子!
策略3: 梯度下降
2.3 梯度下降法
基本思想:
1 | |
正确:同步更新
1 | |
不正确:
1 | |
2.4 广义线性回归模型
- 输出标记的对数为线性模型逼近的目标
ln y = wᵀx + b→y = e^(wᵀx + b)y = wᵀx + b
第三章 线性模型
3.1 基本思想
线性模型一般形式:f(x) = w₁x₁ + w₂x₂ + ... + w_dx_d + b
向量形式:f(x) = wᵀx + b
其中 w = (w₁; w₂; ...; w_d),x = (x₁; x₂; ...; x_d)
问题: 如何确定w和b的值,使得线性模型具有优良性能
3.2 梯度下降法
假设: hθ(x) = θᵀx = θ₀x₀ + θ₁x₁ + θ₂x₂ + ... + θₙxₙ,x₀ = 1
参数: θ₀, θ₁, ..., θₙ
损失函数:J(θ₀, θ₁, ..., θₙ) = (1/2m) Σᵢ₌₁ᵐ (hθ(x⁽ⁱ⁾) - y⁽ⁱ⁾)²
梯度下降:
1 | |
(同步更新,对于 j = 0, …, n)
3.3 线性分类
预测值与输出标记: z = wᵀx + b,y ∈ {0, 1}
寻找函数将分类标记与线性模型输出联系起来
最理想的函数——单位阶跃函数:
1 | |
预测值大于零就判为正例,小于零就判为反例,预测值为临界值零则可任意判别
缺点: 单位阶跃函数不连续,不可导
替代函数——对数几率函数(logistic function):
- 单调可微、任意阶可导
y = 1 / (1 + e⁻ᶻ)
3.4 Logistic回归模型
似然函数
logistic分类器是由一组权值系数组成的,最关键的问题就是如何获取这组权值,通过极大似然函数估计获得,并且 Y ~ f(x; w)
似然函数是统计模型中参数的函数。给定输出x时,关于参数 θ 的似然函数 L(θ|x)(在数值上)等于给定参数 θ 后变量X的概率:
L(θ|x) = P(X = x|θ)似然函数的重要性不是它的取值,而是当参数变化时概率密度函数到底是变大还是变小。
极大似然函数: 似然函数取得最大值表示相应的参数能够使得统计模型最为合理
二项逻辑斯谛回归
- Binomial logistic regression model
- 由条件概率P(Y|X)表示的分类模型
- 形式化为logistic distribution
- X取实数,Y取值1,0
P(Y = 1|x) = exp(w·x + b) / (1 + exp(w·x + b))
P(Y = 0|x) = 1 / (1 + exp(w·x + b))
其中 w = (w⁽¹⁾, w⁽²⁾, ..., w⁽ⁿ⁾, b)ᵀ,x = (x⁽¹⁾, x⁽²⁾, ..., x⁽ⁿ⁾, 1)ᵀ
事件的几率
事件的几率odds:事件发生与事件不发生的概率之比为
p / (1-p)称为事件的发生比(the odds of experiencing an event)
对数几率:
logit(p) = log(p / (1-p))对逻辑斯蒂回归:
log(P(Y = 1|x) / (1 - P(Y = 1|x))) = w·x
极大似然估计
L(w) = Σᵢ₌₁ᵐ [yᵢ(w·xᵢ) - log(1 + exp(w·xᵢ))]
- 对L(w)求极大值,得到w的估计值。
- 通常采用梯度下降法及拟牛顿法,学到的模型:
P(Y = 1|x) = exp(ŵ·x) / (1 + exp(ŵ·x))
P(Y = 0|x) = 1 / (1 + exp(ŵ·x))
3.5 广义线性判决函数
线性判别函数的齐次简化:g(x) = wᵀx + w₀ = αᵀy
其中 y = [1, x]ᵀ(增广样本向量),α = [w₀, w]ᵀ(增广权向量)
——判决面通过特征空间原点
- 因任何非线性函数都可以通过级数展开转化为多项式函数(逼近),所以任何非线性判别函数都可以转化为广义线性判别函数。
- 问题:
- 实现这种转化的非线性变换可能非常复杂
- 变换空间的维数可能非常高——维数灾难
对非线性判别函数g(x),通过适当的变换转化为线性判别函数g’(y)。
比如 x = [x₁, x₂]ᵀ,g(x) = xᵀAx + Bx + c 二次判别函数。
若定义 y = [x₁, x₂, x₁², x₂², x₁x₂]ᵀ
则总可以找到 α, α₀,使
g'(y) = αᵀy + α₀ = g(x)
—— 广义线性判别函数
3.6 判别函数
基于判别函数的分类器:
- 不同模式对应特征在不同的区域中散布。运用已知类别的训练样本进行学习,产生若干个代数界面g(x)=0,将特征空间划分成一些互不重叠的子区域。
判别函数:
- 表示界面的函数g(x)称为判别函数(Discriminant Function)
第四章 线性判别分析
4.1 线性判别分析(Linear Discriminant Analysis,简称LDA)
基本思想: 通过线性投影来最小化同类样本间的差异,最大化不同类样本间的差异
$y = w^T x$
寻找一个向低维空间的投影矩阵W,样本的特征向量x经过投影之后得到新向量y
同一类样本投影后的结果向量差异尽可能小,不同类的样本差异尽可能大
4.2 与主成分分析的比较
主成分分析:
- 向量在低维空间中的投影能很好的近似代替原始向量
- 无监督的学习,没有利用样本标签信息,不同类型样本的特征向量在这个空间中的投影可能很相近,投影对分类不一定合适。
线性判别分析:
- 也一种子空间投影技术,用于分类,让投影后的向量对于分类任务有很好的区分度
- 目标是使得同一种类型的样本在降维之后聚集在一起,不同类型的样本在降维之后相距尽肯能远
主要区别:
- 主成分分析的无监督的,线性判别分析是有监督的,计算过程中使用了样本标签值
- 投影的目标不同,主成分分析的目标是最小化重构误差,线性判别分析是最大化类间差异,最小化类内差异
- 二者均归结为求解矩阵的特征值问题
第五章 两类问题
5.1 线性判别函数
线性可分:
- 对于来自两类的一组样本集合${x_1, x_2, …, x_n}$,如果能用一个线性判别函数正确分类,则称这些样本是线性可分的,否则称为线性不可分的。
本章分类方法的基本技术思路:
- 第一步:利用训练样本求出分类器/判别函数
- 第二步:利用判别函数对未知类别样本分类
5.2 两类情况
g(x) = wᵀx + w₀,其中:
若
g(x) > 0,则 x ∈ ω₁若
g(x) < 0,则 x ∈ ω₂g(x) = 0:判决面方程x = (x₁, x₂, ..., x_d)ᵀ:特征向量w = (w₁, w₂, ..., w_d)ᵀ:权值向量w₀:偏置(bias)
设计线性分类器的关键是给出估计w和w0的准则!
5.3 线性判别函数的几何意义
- 要寻找一个最佳的投影方向w
- 投影后将高分类问题转化为一维数据的分类问题
5.4 两种问题
x点到判决面的距离:
x = xₚ + r · w/‖w‖
g(x) = wᵀx + w₀ = wᵀ(xₚ + r · w/‖w‖) + w₀ = g(xₚ) + r‖w‖ = r‖w‖
距离: r = g(x) / ‖w‖
第六章 两类线性可分情况
6.1 线性可分
对于给定的增广样本集 S = {(x̃₁, y₁), (x̃₂, y₂), ..., (x̃ᵣ, yᵣ)}
如果存在权值向量 ỹ,对于所有正类样本 yᵢ = 1 都有 ỹᵀx̃ᵢ > 0,对于所有负类样本 yᵢ = -1 都有 ỹᵀx̃ᵢ < 0,则称样本集是线性可分的。
6.2 规范化
给定的增广样本 {(x̃₁, y₁), (x̃₂, y₂), ..., (x̃ᵣ, yᵣ)},进行如下规范化操作:
{x̃₁ = y₁·x̃₁, x̃₂ = y₂·x̃₂, ..., x̃ᵣ = yᵣ·x̃ᵣ}
规范化操作后的增广样本满足: ỹᵀx̃ᵢ > 0
在规范化操作之后,可以忽略样本标记,转而寻找一个对所有样本都有 ỹᵀx̃ᵢ > 0 的权向量。这样的向量被称为分离向量,或者解向量。
6.3 解区域
- 规范化前和规范化后的解区域示意图
- 解向量如果存在的话,通常不是唯一的!
6.4 线性分类器设计
线性分类器设计: 求一个解向量
方法: 定义一个准则函数J(a),当a是解向量时,J(a)为最小。J(a)是在训练样本集上的训练误差准则函数。这样就将问题简化为一个标量函数的极小化问题!
6.5 两类线性可分情况
最直观的准则函数定义是最少错分样本数准则:
J(a) = 样本集合中被错误分类的样本数
特点: 分段常函数,不适合基于梯度的搜索方法。
以错分样本到判别界面距离之和(成正比)作为准则:
Jₚ(a) = Σ_{y∈T} (-aᵀy)
∇Jₚ = Σ_{y∈T} (-y)
6.6 梯度下降法最小化准则函数
基本思想:
- 从一个随意选择的权向量a(1)开始,计算J(a)在a(1)处的梯度向量 ∇J(a(1))。下一个值a(2)由a(1)出发,向负梯度(最速下降)方向移动一段距离而得到。如此迭代,直至收敛到J(a)的极小值,通常,在a(k)处通过下式得到a(k+1):
a(k+1) = a(k) - η(k)∇J(a(k))
6.7 基本梯度下降法流程
Algorithm 1 (Basic gradient descent)
1 | |
第七章 多类问题
7.1 多类问题(情况一)
- 每一类模式可以用一个超平面与其它类别分开;
- 这种情况可以把c个类别的多类问题分解为c个两类问题解决,需要c个线性分类界面;
- 第i类与其它类别之间的判别函数:
gᵢ(x) = wᵢᵀx + wᵢ₀
若存在i,使得:gᵢ(x) > 0,gⱼ(x) < 0, j ≠ i
则判别x属于 ωᵢ 类;其它情况,拒识。
第八章 k近邻算法与距离度量学习
8.1 算法的基本思想
模板匹配的思想:
- 确定样本所属类别直接比较它和所有训练样本的相似度,将其归类为最相似的样本所属的那个类。
k近邻算法的基本思想:
- 确定一个样本的类别,可以计算它与所有训练样本的距离,然后找出和该样本最接近的k个样本,统计这些样本的类别进行投票,票数最多的那个类就是分类结果
k近邻法的三要素:
- k值的选择
- 距离度量
- 分类决策规则
8.2 模型
根据三要素将特征空间划分为一些子空间,确定子空间里的每个点所属的类
8.3 距离度量
设特征空间 X 是n维实数向量空间 Rⁿ,xᵢ, xⱼ ∈ X,xᵢ = (xᵢ⁽¹⁾, xᵢ⁽²⁾, ..., xᵢ⁽ⁿ⁾)ᵀ,xⱼ = (xⱼ⁽¹⁾, xⱼ⁽²⁾, ..., xⱼ⁽ⁿ⁾)ᵀ,xᵢ, xⱼ 的 Lₚ 距离定义为:
Lₚ(xᵢ, xⱼ) = (Σₗ₌₁ⁿ |xᵢ⁽ˡ⁾ - xⱼ⁽ˡ⁾|^p)^(1/p)
常用距离:
L₁(xᵢ, xⱼ) = Σₗ₌₁ⁿ |xᵢ⁽ˡ⁾ - xⱼ⁽ˡ⁾|(曼哈顿距离)L₂(xᵢ, xⱼ) = (Σₗ₌₁ⁿ |xᵢ⁽ˡ⁾ - xⱼ⁽ˡ⁾|²)^(1/2)(欧氏距离)L∞(xᵢ, xⱼ) = maxₗ |xᵢ⁽ˡ⁾ - xⱼ⁽ˡ⁾|(切比雪夫距离)
8.4 相似度
- 用距离度量相似度时,距离越小样本越相似
- 用相关系数时,相关系数越大样本越相似
- 注意不同相似度量得到的结果并不一定一致。
示例:
- 从距离的角度看,A和B比A和C更相似
- 但从相关系数的角度看,A和C比A和B更相似。
8.5 K值选择
- 太小: 容易受到噪声的影响,导致泛函性能下降,出现过拟合;近似误差小,估计误差大
- 太大: 近似误差大,估计误差小
8.6 分类决策规则
多数表决规则: f: Rⁿ → {c₁, c₂, ..., cₖ}
误分类的概率: P(Y ≠ f(X)) = 1 - P(Y = f(X))
使误分类率最小即经验风险最小
多数表决规则等价于经验风险最小化:(1/k) Σ_{xᵢ∈Nₖ(x)} I(yᵢ ≠ cⱼ) = 1 - (1/k) Σ_{xᵢ∈Nₖ(x)} I(yᵢ = cⱼ)(误分类率)
第九章 决策树
9.1 决策树
- 决策树是一种典型的分类方法
- 首先对数据进行处理,利用归纳算法生成可读的规则和决策树,
- 然后使用决策对新数据进行分析。
- 本质上决策树是通过一系列规则对数据进行分类的过程。
9.2 决策树的表示
- 决策树的基本组成部分:决策结点、分支和叶子。
- 决策树中最上面的结点称为根结点,是整个决策树的开始。每个分支是一个新的决策结点,或者是树的叶子。每个决策结点代表一个问题或决策,通常对应待分类对象的属性。每个叶结点代表一种可能的分类结果
- 在沿着决策树从上到下的遍历过程中,在每个结点都有一个测试。对每个结点上问题的不同测试输出导致不同的分支,最后会达到一个叶子结点。这一过程就是利用决策树进行分类的过程,利用若干个变量来判断属性的类别
9.3 决策树-解决分类问题的一般方法
通过以上对分类问题一般方法的描述,可以看出分类问题一般包括两个步骤:
- 模型构建(归纳): 通过对训练集合的归纳,建立分类模型。
- 预测应用(推论): 根据建立的分类模型,对测试集合进行测试。
9.4 信息增益
设有随机变量(X,Y),其联合概率分布为:P(X = xᵢ, Y = yⱼ) = pᵢⱼ,i = 1,2,...,n;j = 1,2,...,m
条件熵H(Y|X): 表示在已知随机变量X的条件下随机变量Y的不确定性,定义为X给定条件下Y的条件概率分布的熵对X的数学期望:H(Y|X) = Σᵢ₌₁ⁿ pᵢH(Y|X = xᵢ)
- 当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵与条件熵分别称为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy)
信息增益定义: 特征A对训练数据集D的信息增益,g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,即g(D,A) = H(D) - H(D|A)
- (Information gain)表示得知特征X的信息而使得类Y的信息的不确定性减少的程度
- 一般地,熵H(Y)与条件熵H(Y|X)之差称为互信息(mutual information)
- 决策树学习中的信息增益等价于训练数据集中类与特征的互信息
9.5 熵的理论解释
熵越大,随机变量的不确定性越大:
0 ≤ H(p) ≤ log n当X为1,0分布时:
P(X = 1) = p,P(X = 0) = 1 - p,0 ≤ p ≤ 1
熵:
H(p) = -p log₂p - (1-p) log₂(1-p)
第十章 评估方法
10.1 机器学习性能度量 - 回归模型指标
MAE(Mean Absolute Error,平均绝对误差):MAE(y, ŷ) = (1/n_samples) Σᵢ₌₁ⁿ |yᵢ - ŷᵢ|
MSE(Mean Squared Error,均方误差):MSE(y, ŷ) = (1/n_samples) Σᵢ₌₁ⁿ (yᵢ - ŷᵢ)²
R Square(决定系数):ŷ = (1/n) Σᵢ₌₁ⁿ yᵢ
SSₜₒₜ = Σᵢ₌₁ⁿ (yᵢ - ŷ)²
SSᵣₑ₉ = Σᵢ₌₁ⁿ (ŷᵢ - ŷ)²
SSᵣₑₛ = Σᵢ₌₁ⁿ (yᵢ - ŷᵢ)² = Σᵢ₌₁ⁿ σᵢ²
R² = 1 - SSᵣₑₛ/SSₜₒₜ
10.2 机器学习性能度量 - 分类模型指标
混淆矩阵(Confusion Matrix):
| 实际正例 | 实际负例 | |
|---|---|---|
| 预测正例 | TP(真正例) | FP(假正例) |
| 预测负例 | FN(假负例) | TN(真负例) |
准确率(Accuracy):Accuracy = (TP + TN) / (TP + TN + FP + FN)
精确率(Precision):Precision = TP / (TP + FP)
召回率(Recall/Sensitivity):Recall = TP / (TP + FN)
特异性(Specificity):Specificity = TN / (TN + FP)
Precision和Recall的区别?
- 精确率针对预测结果而言,表示的是预测为正的样本中有多少是真正的正样本。
- 召回率是针对原样本而言,表示的是样本中的正例有多少被预测正确了。
- 精确率也叫查准率,召回率也叫查全率。
10.3 分类任务 - P、R、F1
查准率(Precision):P = TP / (TP + FP)
查全率(Recall):R = TP / (TP + FN)
F1值:2/F₁ = 1/P + 1/R
F₁ = 2TP / (2TP + FP + FN)
10.4 评估方法
机器学习性能度量 - 分类模型指标
F1 Score:2/F₁ = 1/P + 1/R
F₁ = 2TP / (2TP + FP + FN)
P-R Curve(精确率-召回率曲线)
ROC Curve(受试者工作特征曲线)
AUC (Area Under Curve):
- ROC曲线下的面积
- 随机挑选一个正样本以及一个负样本,分类器判定正样本的值高于负样本的概率就是AUC。
10.5 评估方法
- 通常,我们可以通过实验测试来对学习器的泛化误差进行评估从而做出选择。因此需要使用一个"测试集 test set"来测试学习器对新样本的判别能力,以测试集上的"测试误差"作为泛化误差的近似。
- 需要注意,测试集应该尽可能与训练集互斥,即测试样本尽量不在训练集中出现过。
常用方法:
- 留出法 hold-out
- 交叉验证法 cross validation
- 先将数据集D划分为k个大小相似的互斥子集,即
D = D₁ ∪ D₂ ∪ ... ∪ Dₖ,Dᵢ ∩ Dⱼ = ∅ (i ≠ j) - 每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集
- 这样可获得k组训练/测试集,从而可进行k次训练和测试,最终返回其均值。也叫做"K折交叉验证"
- 先将数据集D划分为k个大小相似的互斥子集,即
- 自助法
第十一章 支持向量机(SVM)
11.1 支持向量机(SVM)
间隔(margin):
- 模式到判决面最小距离称为分类间隔(margin)
- 一般认为,分类间隔越大的判决面越好
要找到离判决面最近的样本点:支持向量
11.2 间隔的计算
函数间隔: 样本 xᵢ 到分类界面 g(x) = 0 的函数间隔定义为:bᵢ = |g(xᵢ)| = |wᵀxᵢ + w₀|
几何间隔:γᵢ = bᵢ / ‖w‖
11.3 最优分类界面
样本集与分类界面之间的间隔,定义为样本与分类界面之间几何间隔的最小值。
最优分类界面: 给定线性可分样本集,能够将样本分开的最大间隔超平面。
11.4 支持向量
- 支持向量: 距离最优分类界面最近的这些训练样本称为支持向量;
- 训练一个支持向量机的目标是找到一个具有最大间隔的分割平面;如果间隔越大,得到的分类器也越好。
- 最优分类界面完全由支持向量决定,然而支持向量的寻找比较困难。
11.5 SVM的准则函数
样本点到判决面的距离:γₖ = zₖg(yₖ) = 1/‖w‖ ≥ 1/‖w‖
优化目标: 最大化 γₖ,即,最小化 ‖w‖
约束条件:zₖg(yₖ) = zₖ(wᵀyₖ + w₀) ≥ 1
第十二章 AdaBoost
12.1 AdaBoost基本概念
两个问题如何解决:
每一轮如何改变训练数据的权值或概率分布?
- AdaBoost:提高那些被前一轮弱分类器错误分类样本的权值,降低那些被正确分类样本的权值
如何将弱分类器组合成一个强分类器?
- AdaBoost:加权多数表决,加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用,减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用。
12.2 怎样获得不同的弱分类器
- 使用不同的弱学习算法得到不同基本学习器
- 参数估计、非参数估计…
- 使用相同的弱学习算法,但用不同的参数
- K-Mean不同的K,神经网络不同的隐含层…
- 相同输入对象的不同表示凸显事物不同的特征
- 使用不同的训练集
- 装袋(bagging)
- 提升(boosting)
12.3 怎样组合弱分类器
多专家组合:
- 一种并行结构,所有的弱分类器都给出各自的预测结果,通过"组合器"把这些预测结果转换为最终结果。eg.投票(voting)及其变种、混合专家模型
多级组合:
- 一种串行结构,其中下一个分类器只在前一个分类器预测不够准(不够自信)的实例上进行训练或检测。eg.级联算法(cascading)
12.4 Bagging
- 也称为自举汇聚法(bootstrap aggregating)
- 从原始数据集选择S次后得到S个新数据集
- 新数据集和原数据集的大小相等
- 每个数据集都是通过在原始数据集中随机选择样本来进行替换而得到的。
- S个数据集建好之后,将某个学习算法分别作用于每个数据集就得到S个分类器。
- 选择分类器投票结果中最多的类别作为最后的分类结果。
- 改进的Bagging算法,如随机森林等。
机器学习模型体系
监督模型
线性模型:
- 线性回归
- Logistic回归
- LASSO
- Ridge
- LDA
非线性模型:
- k近邻
- 决策树
- ID3
- C4.5
- CART
- 神经网络
- 深度学习
- 模式识别
- 支持向量机
- 线性可分
- 线性不可分
- 核函数
集成学习:
- Boosting
- GBDT
- AdaBoost
- XGBoost
- LightGBM
- CatBoost
- Bagging
- 随机森林
无监督模型
聚类:
- k均值聚类
- 层次聚类
- 密度聚类
降维:
- PCA
- SVD
概率模型
- EM算法
- MCMC
- 贝叶斯
- 朴素贝叶斯
- 贝叶斯网络
- 判别模型
- CRF
- HMM
- 最大熵模型
聚合聚类
聚合聚类需要预先确定下面三个要素:
距离或相似度:
- 闵可夫斯基距离
- 马哈拉诺比斯距离
- 相关系数
- 夹角余弦
合并规则:
- 类间距离最小
- 类间距离可以是最近距离、最远距离、中心距离、平均距离
停止条件:
- 停止条件可以是类的个数达到闭值(极端情况类的个数是1)
- 类的直径超过阈值
层次聚类
- 层次聚类假设类别之间存在层次结构,将样本聚到层次化的类中。
- 层次聚类又有聚合(agglomerative)或自下而上(bottom-up)聚类、分裂(divisive)或自上而下(top-down)聚类两种方法。
- 因为每个样本只属于一个类,所以层次聚类属于硬聚类
类或簇
- 通过聚类得到的类或簇,本质是样本的子集。
- 如果一个聚类方法假定一个样本只能属于一个类,或类的交集为空集,那么该方法称为硬聚类(hard clustering)方法。
- 如果一个样本可以属于多个类,或类的交集不为空集,那么该方法称为软聚类(soft clustering)方法。
类与类之间的距离
下面考虑类$G_p$与类$G_q$之间的距离D(p,q),也称为连接(linkage)。类与类之间的距离也有多种定义。
设类$G_p$包含$n_p$个样本,$G_q$包含$n_q$个样本,分别用$\bar{x}_p$和$\bar{x}_q$表示$G_p$和$G_q$的均值,即类的中心。
最小错误率准则
贝叶斯公式:P(ωᵢ|x) = P(x|ωᵢ)P(ωᵢ) / P(x),其中:P(x) = Σᵢ₌₁ᶜ P(x|ωᵢ)P(ωᵢ)
先验概率: P(ωᵢ) 未获得观测数据之前类别的分布
类条件概率: P(x|ωᵢ) 观测数据在各类别种情况下的分布
后验概率: P(ωᵢ|x) x属于哪一类的概率
最小错误率准则的平均错误率
记平均错误率为P(e),令 t = x₂ = x₃,则
P(e) = ∫ P(e, x)dx = ∫ P(e|x)p(x)dx
1 | |
P(e) = ∫_{-∞}^{t} P(ω₂|x)p(x)dx + ∫_{t}^{+∞} P(ω₁|x)p(x)dx = ∫_{-∞}^{t} [p(x|ω₂)p(ω₂)] dx + ∫_{t}^{+∞} [p(x|ω₁)p(ω₁)] dx
似然比公式
P(ω₁|x) = P(x|ω₁)P(ω₁) / P(x)
则:P(ω₁|x) > P(ω₂|x) 等价于:
p(x|ω₁)P(ω₁) > p(x|ω₂)P(ω₂)
p(x|ω₁) / p(x|ω₂) > P(ω₂) / P(ω₁)(似然比公式)
特例1:
均匀先验概率:P(ω₁) = P(ω₂) = ... = P(ω_c) = 1/c
决策仅仅依赖于 p(x|ωᵢ)
从样本中观察到x的情况下,如果 P(x|ωⱼ) ≥ P(x|ωᵢ), ∀i ≠ j,则预测该模式为 ωⱼ
最小风险准则
最小风险贝叶斯决策: 考虑各种错误造成损失不同而提出的一种决策规则。
条件风险:
给定 {ω₁, ω₂, ..., ω_c} 表示有限的C个类别,{α₁, α₂, ..., αₖ} 表示有限的k种决策,λ(αᵢ|ωⱼ) 表示当样本属于 ωⱼ 时,采取 αᵢ 决策所引起的损失,则对于样本x定义如下的条件风险函数:
R(αᵢ|x) = Σⱼ λ(αᵢ|ωⱼ) P(ωⱼ|x)
两分类问题的例子:
行动:
α₁:判决为类别 ω₁,α₂:判决为类别 ω₂
损失:λᵢⱼ = λ(αᵢ|ωⱼ) 样本属于第j类被判决为第i类的损失
条件风险:R(α₁|x) = λ₁₁P(ω₁|x) + λ₁₂P(ω₂|x)R(α₂|x) = λ₂₁P(ω₁|x) + λ₂₂P(ω₂|x)
最小风险决策规则:
如果 R(αᵢ|x) ≤ R(αⱼ|x), i ≠ j,则模式为 ωᵢ
最小风险贝叶斯决策的步骤:
- 根据先验概率和类条件概率计算出后验概率;
- 利用后验概率和损失矩阵计算采取每种决策的条件风险;
- 比较各个条件风险的值,条件风险最小的决策即为最小风险贝叶斯决策
似然比公式
R(α₁|x) = λ₁₁P(ω₁|x) + λ₁₂P(ω₂|x)R(α₂|x) = λ₂₁P(ω₁|x) + λ₂₂P(ω₂|x)
R(α₁|x) ≤ R(α₂|x) 等价于
λ₁₁P(ω₁|x) + λ₁₂P(ω₂|x) ≤ λ₂₁P(ω₁|x) + λ₂₂P(ω₂|x)
(λ₂₂ - λ₁₂)P(ω₂|x) ≤ (λ₂₁ - λ₁₁)P(ω₁|x)
(λ₂₂ - λ₁₂)P(x|ω₂)P(ω₂)/P(x) ≤ (λ₂₁ - λ₁₁)P(x|ω₁)P(ω₁)/P(x)
(λ₂₂ - λ₁₂)P(x|ω₂)P(ω₂) ≤ (λ₂₁ - λ₁₁)P(x|ω₁)P(ω₁)
即:P(x|ω₁)/P(x|ω₂) ≥ (λ₂₂ - λ₁₂)/(λ₂₁ - λ₁₁) · P(ω₂)/P(ω₁)
此时,样本x被判定的类别为:ω₁
与样本x无关,对某个问题来讲,是可以事先计算的常量 θ
0-1损失时等价于最小错误率决策
引言
贝叶斯决策理论
贝叶斯统计决策理论是处理模式分类问题的基本理论之一,对模式分析和分类器(Classifier)的设计起指导作用。
贝叶斯决策的两个要求:
- 各个类别的总体概率分布(先验概率和类条件概率密度)是已知的
- 要决策分类的类别数是一定的
引言
在连续情况下,假设对要识别的物理对象有d种特征观察量 x₁, x₂, ..., x_d,这些特征的所有可能的取值范围构成了d维特征空间。
- 称向量
x = [x₁, x₂, ..., x_d]ᵀ,x ∈ R^d为d维特征向量。 - 假设要研究的分类问题有c个类别,类型空间表示为:
Ω = {ω₁, ω₂, ..., ωᵢ, ..., ω_c}
分类任务 - P、R、F1
学习器泛化性能度量
回归任务 → 均方误差
分类任务:
- 错误率与精度
- 查准率、查全率
- ROC与AUC
二分类评价指标:
- TP(true positive)
- FN(false negative)
- FP(false positive)
- TN(true negative)
查准率: P = TP / (TP + FP)
查全率: R = TP / (TP + FN)
F1值: 2/F₁ = 1/P + 1/R
F₁ = 2TP / (2TP + FP + FN)
本文档整理自机器学习复习PDF,共86页内容。







