【笔记0106】机器学习期末复习
1 线性分类
题目:
首先,我们有感知机的线性判别函数
错误分类样本集
给定训练样本:
, , ,
按照随机梯度下降的方式进行模型学习,迭代更新参数。进行6步迭代,更新过程如下:
迭代过程
初始参数:
第一步:选择样本
-
判断是否错误分类:
错误分类。
-
更新
和 :
第二步:选择样本
-
判断是否错误分类:
错误分类。
-
更新
和 :
第三步:选择样本
- 判断是否错误分类:正确分类,不更新。
第四步:选择样本
-
判断是否错误分类:
错误分类。
-
更新
和 :
第五步:选择样本
-
判断是否错误分类:
错误分类。
-
更新
和 :
第六步:选择样本
- 判断是否错误分类:正确分类,不更新。
最终结果
经过6步迭代后,参数为:
线性判别函数为:
2 非线性分类
3 概率图联合分布的因子分解式
这个图中左边的是无向图,右边的是有向图。
概率图模型通过图结构表示随机变量间的条件依赖关系,联合分布的因子分解式依赖于图的类型。
1. 有向图模型(贝叶斯网络)
有向图模型使用有向无环图(DAG)表示变量间的因果关系。联合分布可分解为各变量在其父节点条件下的条件概率的乘积:
其中,
2. 无向图模型(马尔可夫随机场)
无向图模型使用无向图表示变量间的依赖关系。联合分布分解为图中最大团的势函数乘积,再归一化:
其中,
3. 有向图与无向图的区别
- 有向图:表示因果关系,适合表达变量间的因果依赖。
- 无向图:表示关联关系,适合表达变量间的对称依赖。
选择哪种模型取决于具体问题和变量间的关系。
无向图表示的是什么?
无向图用来表示变量之间的“关联关系”。比如右图:A-B, B-C, C-D, A-C, B-D,它表示变量 A、B、C、D 之间的依赖关系。图中的每条边(比如 A-B)表示两个变量之间有直接的关联。
- A-B:A 和 B 有关系。
- B-C:B 和 C 有关系。
- C-D:C 和 D 有关系。
- A-C:A 和 C 有关系。
- B-D:B 和 D 有关系。
这个图的意思是:
- A 和 B 有关系,A 和 C 有关系,B 和 C 有关系,等等。
- 但 A 和 D 没有直接的关系(因为没有 A-D 这条边)。
最大团是啥?
“团”是指图中一些节点,它们之间两两都有边相连。而“最大团”是指一个团,它不能通过加入更多的节点而变得更大。
在你的图中:
- 最大团 1:A、B、C(因为 A-B, B-C, A-C 都有边相连)。
- 最大团 2:B、C、D(因为 B-C, C-D, B-D 都有边相连)。
最大团的意义是:这些变量之间的关系非常紧密,可以作为一个整体来考虑。
势函数是啥?
势函数是用来描述一个团中变量之间的“亲密程度”的函数。它表示这些变量在一起的可能性有多大。
比如:
- 对于最大团 A、B、C,势函数
表示 A、B、C 同时取某些值的可能性。 - 对于最大团 B、C、D,势函数
表示 B、C、D 同时取某些值的可能性。
势函数的值越大,说明这些变量取某些值的可能性越高。
归一化常数是啥?
归一化常数(通常记作
公式是:
这里的
结合例子解释
假设右面的图表示一个社交网络:
- A、B、C、D 是四个人。
- 边表示两个人是朋友。
最大团:
- A、B、C 是一个朋友圈。
- B、C、D 是另一个朋友圈。
势函数:
表示 A、B、C 三个人一起出现的可能性(比如他们经常一起吃饭)。 表示 B、C、D 三个人一起出现的可能性。
归一化常数:
- 假设
和 的值算出来很大,但为了让所有可能的概率加起来等于 1,需要用 来调整。
总结
- 无向图:表示变量之间的关联关系。
- 最大团:图中关系最紧密的变量组。
- 势函数:描述一个团中变量之间的“亲密程度”。
- 归一化常数:让所有概率加起来等于 1。
通过这种方式,无向图模型可以很好地描述变量之间的复杂关系!
4 隐马尔科夫模型
1. 隐马尔可夫模型(HMM)简介
隐马尔可夫模型是一种统计模型,用于描述一个含有隐含未知参数的马尔可夫过程。它由两个随机过程组成:
- 状态序列:这是隐藏的,不可直接观测的。
- 观测序列:这是可以直接观测到的,由状态序列生成。
2. 信封抽球问题
假设你有两个信封,每个信封里有不同颜色的球。你随机选择一个信封,然后从中抽取一个球,记录颜色,再把球放回信封。这个过程重复多次,形成一个球的颜色序列。
3. 模型参数解释
-
𝝅(初始状态概率):表示初始时刻选择每个信封的概率。这里𝝅=(0.5,0.5)表示初始时刻选择两个信封的概率都是50%。
-
𝐀(状态转移矩阵):表示从一个状态转移到另一个状态的概率。这里A=[0,1; 0.5,0.5]表示:
- 从信封1转移到信封2的概率是1(即一定会转移到信封2)。
- 从信封2转移到信封1的概率是0.5,转移到信封2的概率也是0.5。
-
𝐁(观测概率矩阵):表示在某个状态下生成某个观测值的概率。这里B=[0.5,0.5; 0,1]表示:
- 在信封1中,抽到红球和黑球的概率都是50%。
- 在信封2中,抽到红球的概率是0,抽到黑球的概率是100%。
4. 问题解析
题目给出了一个球的颜色序列𝐱={红,黑,黑,黑,红},要求利用前向算法和后向算法计算𝑃(𝐱|𝜆),即在给定模型𝜆下,生成这个观测序列的概率。
5. 前向算法和后向算法
- 前向算法:计算从初始时刻到当前时刻,生成部分观测序列并处于某个状态的概率。
- 后向算法:计算从当前时刻到最终时刻,生成剩余观测序列并处于某个状态的概率。
通过结合前向和后向算法,可以计算出整个观测序列的概率。
计算过程
接下来我们来逐步计算
- 初始状态概率
- 状态转移矩阵
- 观测概率矩阵
假设状态
1. 前向算法
前向算法计算的是在时刻
初始化( )
对于每个状态
其中
- 对于状态
:
- 对于状态
:
所以:
递推( 到 )
对于每个时刻
我们逐步计算:
,观测 (索引 )
- 对于状态
:
- 对于状态
:
所以:
,观测 (索引 )
- 对于状态
:
- 对于状态
:
所以:
,观测 (索引 )
- 对于状态
:
- 对于状态
:
所以:
,观测 (索引 )
- 对于状态
:
- 对于状态
:
所以:
最终概率
观测序列的概率为:
2. 后向算法
后向算法计算的是在时刻
初始化( )
对于每个状态
所以:
递推( 到 )
对于每个时刻
我们逐步计算:
,观测 (索引 )
- 对于状态
:
- 对于状态
:
所以:
,观测 (索引 )
- 对于状态
:
- 对于状态
:
所以:
,观测 (索引 )
- 对于状态
:
- 对于状态
:
所以:
,观测 (索引 )
- 对于状态
:
- 对于状态
:
所以:
最终概率
观测序列的概率为:
3. 结果
无论是前向算法还是后向算法,最终计算得到的观测序列概率均为:
这个结果表明,在给定的隐马尔可夫模型下,生成观测序列
维特比算法
在上述隐马尔可夫模型中,试用维特比算法确定最有可能的信封序列。
维特比算法是一种动态规划算法,用于在隐马尔可夫模型中找到最可能的状态序列(即最有可能的信封序列)。
维特比算法的核心是动态规划,分为以下几步:
1.初始化:计算初始时刻每个状态的最大概率和路径。
2.递推:对于每个时刻t,计算每个状态的最大概率,并记录路径。
3.终止:找到最终时刻的最大概率和对应的状态。
4.回溯:根据记录的路径,回溯得到最可能的状态序列。
5 ID3、C4.5、CART
6 Maximum Likelihood方法
抛一枚硬币问题,观察数据情况是:一枚硬币包括正反两面,共抛了30 次,其中12 次是正面,18 次是反面。采用Maximum Likelihood 方法,估计正面出现的概率和反面出现的概率。
Maximum Likelihood(最大似然)方法是一种用于估计统计模型参数的常用方法。其核心思想是寻找一组参数,使得在该参数下,观测数据出现的概率(即似然)最大化。
具体步骤:
- 定义模型:假设数据服从某个概率分布(如正态分布、泊松分布等),其形式由参数决定。
- 构建似然函数:基于观测数据和模型,构建似然函数
,表示在参数 下观测数据出现的概率。 - 最大化似然函数:通过优化方法(如求导、数值优化等)找到使
最大的参数 ,即为最大似然估计。
举例:
假设观测数据
- 似然函数:
- 对数似然函数(便于计算):
- 求导并最大化:
对 和 求导,令导数为零,解得:
优点:
- 一致性:随着数据量增加,估计值趋近于真实值。
- 渐近正态性:在大样本下,估计值服从正态分布。
- 广泛适用:可用于多种模型和分布。
缺点:
- 计算复杂:对复杂模型,优化可能困难。
- 对初值敏感:可能陷入局部最优。
总结:
Maximum Likelihood方法通过最大化观测数据的似然函数来估计模型参数,是统计学和机器学习中的重要工具。
7 Fisher最优鉴别矢量
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)