机器学习西瓜书期末复习(含经典题)
搬过来些Obsidian中记录的有关机器学习的内容,待优化
1绪论
机器学习在互联网搜索、自动汽车驾驶,网络安全,画作鉴别,古文献修复等方面均有涉猎。
人工智能与机器学习,深度学习的关系:
机器学习是人工智能领域一个分支。
深度学习是机器学习中神经网络算法的延伸,换句话,机器学习是深度学习的基础。
人们想要让一个系统(计算机)像人一样思考,开始是人去总结知识,将知识教给系统,有点困难。人类社会的数据也越来越多,于是让系统自己去学。
机器学习是数据分析技术,数据库是数据管理技术,这两个技术组成数据挖掘。![![[file-20241218094740412.png]]](https://i-blog.csdnimg.cn/direct/c2f9159429b9444c9032636b1cf5ef0c.png)
机器学习的过程:![![[file-20241218100421679.png]]](https://i-blog.csdnimg.cn/direct/d85c5559036b4b15afe4d73c35ddbbc7.png)
一. 机器学习分类
- 监督学习
- 非监督学习
- 半监督学习
- 迁移学习
- 主动学习
- 强化学习
- 元学习
- …
数据标记:![![[file-20241218101315418.png]]](https://i-blog.csdnimg.cn/direct/36823ade5da1414996a893281342dc48.png)
监督学习:从带有标识的数据集中学习一个函数(模型),新数据来时起到预测结果的作用。常见的算法回归分析,统计分类。
无监督学习:从不带有标识的数据集中学习一个函数(模型),目的是推断这个数据内在结构,规律。常见算法聚类。
半监督学习:介于监督与无监督学习之间,目的是利用少量的标注样本和大量未标注样本进行训练和分类问题。
强化学习:每个动作都会对环境有所影响,通过观察周围环境的反馈来做判断。(不愧是绪论,一脸懵,什么动作?环境是指什么,环境的反馈又是什么?待定)
eg例题
1、简述机器学习,以及监督学习、无监督学习;
- 机器学习 是通过数据训练函数(模型),使计算机能够自动学习和改进性能。
- 监督学习 使用带标签的数据,学习一个函数(模型),目标是学习输入与输出之间的映射关系。
- 无监督学习 使用无标签的数据,学习一个函数(模型),目标是发现数据的内在结构或模式。
二. 常见的六大类型算法
- 回归算法(监督学习)
- 神经网络(监督学习)
- SVM支持向量机(监督学习)
- 聚类算法(无监督学习)
- 降维算法(无监督学习)
- 推荐算法(特殊)
回归算法两个重要子类:线性回归和逻辑回归
- 线性回归是如何拟合出一条直线最佳匹配所有数据,即找出一条线让更多的数据靠近这条线。逻辑回归类似。
- 处理的问题类型不一致,线性回归处理数值问题,如房价预测;逻辑回归处理分类问题,如邮件是否是垃圾邮件。
神经网络(ANN)开始时在视觉和语音的识别上效果想的好。但是,神经网络算法在九十年代遇到训练过程困难的问题瓶颈,深度学习打破这一瓶颈,使神经网络重新成为最强大的机器学习算法之一。
SVM支持向量机是逻辑回归算法的强化,通过更严格的优化条件,获得比逻辑回归算法更好的分类界线,也能表达出更复杂的分类界线。
聚类算法思想是计算种群中的距离,根据距离的远近将数据划分为多个族群,![![[file-20241218103830026.png]]](https://i-blog.csdnimg.cn/direct/5da06fd96e754dc2b4a5000fdc1ee350.png)
降维算法思想是将数据从高维降低到低维,这里的维度表示数据的特征量的大小。如房子包含房子的长、宽、面积和房间数,此时面积与长宽表示的信息重叠,将特征减少为面积和房间数,即4维数据压缩到2维。
推荐算法主要有两个类别
- 一是基于物品内容进行推荐,将与用户购买的内容近似的物品推荐给用户,意味着每个物品有若干标签。
- 二是基于用户相似度进行推荐,将与目标用户兴趣相同的其他用户购买的东西推荐给目标用户。
有一些算法的名字在机器学习领域中也经常出现。但他们本身并不算是一个机器学习算法,而是为了解决某个子问题而诞生的。可以理解他们为以上算法的子算法,用于大幅度提高训练过程。如梯度下降法、牛顿法、BP算法、SMO算法等。
2模型评估与选择
机器学习的目标是使得学得的模型能很好地适用于“新样本”,适用于新样本的能力,称为泛化能力。
什么样的模型好?结合典型的机器学习过程,笼统的讲,预测新数据时,错误率低,精度高、泛化能力强的的模型好。
概念:
- 错误率:分类错误样本数占总样本数的比例
- 精度:1-错误率
- 泛化误差:在未来样本上的误差
- 经验误差:在训练集上的误差
泛化误差越小越好,但经验误差不是越小越好,因为会出现过拟合。
一. 过拟合和欠拟合
- 过拟合:模型在训练数据上表现得过于优秀,但在新的数据上表现较差。比喻为学生死记硬背题库答案,对于新问题无法正确回答。
- 欠拟合:模型无法很好的拟合训练数据,训练出的函数在训练数据上的表现都不行。比喻为学生基础知识都没学好,老题新题都没有掌握。

欠拟合原因:
- 模型复杂度不足:模型过于简单,无法捕捉数据中的复杂关系和模式,
- 数据特征不足:训练数据缺乏代表性的特征或者重要的特征被忽略,模型可能无法学习到足够的信息来进行准确预测。
避免欠拟合方法:
- 增加模型复杂度:增加参数或层级,使其能够更好地拟合训练数据中的模式和关系。
- 特征工程:进行特征工程,提取更多有效的特征,以提高模型的表达能力。
- 模型集成:使用多个模型组合的方法,如集成学习,可以提高模型的性能和泛化能力。
过拟合原因:
- 训练数据量较少
- 模型过于复杂:过于复杂的模型具有更多的参数和灵活性,可以更好地拟合训练数据,但也更容易过拟合。
- 特征过多:如果特征过多,而与目标变量之间的关系又较弱,模型可能会过度拟合噪声或无关的特征。
总感觉欠拟合的第二条原因与过拟合第一条原因有重合部分,数据集中的数据量少,这不更有可能数据的特征不足?也不严谨,也有可能这个量少的数据集中,每个样本数据列项多,hhh…
二. 避免过拟合的方法
- 数据扩充:增加更多的训练样本
- 正则化:引入正则化项,限制模型的复杂度
- 特征选择:选择与目标变量相关性较高的特征,减少噪声和不相关的特征对模型的影响
- 交叉验证:使用交叉验证来评估模型的泛化性能,选择最优的模型。
- 提前停止:通过监视损耗图,设置提前停止模型
- Dropout(深度学习中常用):在神经网络的训练过程中,对于一次迭代中的某一层神经网络,先随机选择其中的一些神经元并将其临时丢弃,然后再进行本次的训练和优化。在下一次迭代中,继续随机隐藏一些神经元,直至训练结束。由于是随机丢弃,故而每一个批次都在训练不同的网络。
避免过拟合的方法—正则化描述1
-
通过在模型的损失函数中引入额外的惩罚项,来对模型的参数进行约束,从而降低模型的复杂度,减少泛化误差(方差)而不是训练误差(偏差)
-
在目标函数后面添加一个系数的“惩罚项”是正则化的常用方式,
-
L1正则化通过让原目标函数加上了所有特征系数绝对值的和来实现正则化,而L2正则化通过让原目标函数加上了所有特征系数的平方和来实现正则化。

L1和L2两者都是通过加上一个和项来限制参数大小,却有不同的效果: L1正则化更适用于特征选择,而L2正则化更适用于防止模型过拟合
避免过拟合的方法—正则化描述2
L1正则化和L2正则化是机器学习中用于防止模型过拟合的重要方法,二者通过对模型参数加以约束来实现正则化。
L1正则化:也称为Lasso回归。其正则化项为模型中所有参数的绝对值之和,公式表示为:
特点:L1正则化能够产生稀疏模型,即可以将一些特征的权重直接变为零,从而起到特征选择的作用。
应用场景:适用于特征选择和稀疏数据建模的场景
L2正则化:也称为Ridge回归。其正则化项为模型中所有参数的平方和,公式表示为:
特点:L2正则化会使模型参数较小且趋于平滑,但不会将权重完全减为零。相对于L1正则化,它更倾向于均匀地缩小参数,而不是完全去除某些特征。
应用场景:适用于多重共线性问题、需要平滑参数值时。
总结:L1正则化通常用于特征稀疏化和选择,而L2正则化更适合在减少模型复杂度和控制参数值方面。两者都在一定程度上减少过拟合,提高模型的泛化能力。
eg例题
1.下列关于 Ridge 回归,说法正确的是?
A.若 λ=0,则等价于一般的线性回归
B.若 λ=0,则不等价于一般的线性回归
C.若 λ=+∞,则得到的权重系数很小,接近于零
D.若 λ=+∞,则得到的权重系数很大,接近与无穷大
解:Ridge回归的目标函数由两部分组成:目标函数=损失函数+λ⋅正则化项,正则化项是
假设我们有一个简单的线性回归模型:y=w1x1+w2x2+b
情况1:λ=0(无正则化)
- 模型的目标是最小化损失函数(MSE),完全拟合数据。
- 假设最优权重系数为 w1=5,w2=3。
情况2:λ>0(有正则化)
- 模型不仅要最小化损失函数,还要最小化正则化项 λ(w12+w22)。
- 如果 λ 较大,模型会倾向于让 w1 和 w2变小。
- 假设 λ 很大,最终的权重系数可能变为 w1=0.1,w2=0.05。
情况3:λ=+∞(极大正则化)
- 正则化项的影响力无限大,模型会尽可能让权重系数接近于零。
- 最终的权重系数可能变为 w1=0.0001,w2=0.0001,几乎可以忽略不计。
三. 模型选择三个关键问题:
- 如何获得测试结果?—评估方法
- 如何评估性能优劣?—性能度量
- 如何判断实质差别?—比较经验
1. 评估方法
对于评估方法关键是如何获得测试集:测试集与训练集应该互斥。
-
留出法
- 将现有的数据集划分为测试集和训练集
- 注意点有:数据分布一致,多次重复划分,测试集不能太大也不能太小。
-
k折交叉验证法

-
自助法
- 从原始数据集中随机抽取样本,允许重复抽样。通常,样本数量与原始数据集相同。 由于允许重复抽样,某些样本可能在训练集中出现多次,而另一些样本可能完全不被选中。

- 从原始数据集中随机抽取样本,允许重复抽样。通常,样本数量与原始数据集相同。 由于允许重复抽样,某些样本可能在训练集中出现多次,而另一些样本可能完全不被选中。
eg例题
简述k折交叉验证法:
在 K 折交叉验证中,我们把原始训练数据集分割成 K 个不重合的子数据集,然后我们做K次模型训练和验证。每一次,我们使用一个子集数据集验证模型,并使⽤其它 K−1 个子数据集来训练模型。在这 K 次训练和验证中,每次⽤来验证模型的子数据集都不同。最后,我们对这 K 次训练误差和验证误差分别求平均。
“调参”与最终模型
参数概念
- 算法的参数:一般由人工设定,亦称“超参数”
- 模型的参数:一般由学习确定
调参过程相似:先产生若干模型,然后基于某种评估方法进行选择。
2. 性能度量
根据任务,模型采取的度量性能一般也不相同。
回归任务:均方误差,
分类任务:错误率与精度,查准率与查全率与F1,ROC与AOC,代价敏感错误率与代价曲线,
PRF
混淆矩阵:
查准率P=TP/(TP+FP) 查准率为预测结果为正例中实际正例的占比 分母竖着和,以预测正例为主
查全率R=TP/(TP+FN) 查全率为真实情况为正例中预测正例的占比 分母横着和,以真实正例为主
前一个字母为真实情况与预测结果比较的结果,后一个字母表示为预测结果
调和平均数F1=2PR/(P+R) 用于总体评估查准率与查全率的
Fβ是加权调和平均:
宏平均与微平均:
宏平均:宏平均是对每个类别的精确率、召回率进行算术平均
微平均:将所有类别的真正例(TP)、假正例(FP)和假反例(FN)汇总后,再计算精确率、召回率。
公式:
eg例题
假设有一项关于肿瘤诊断的实验,医生通过某种检测手段对一批病人进行诊断,结果如下:
- 实际患有恶性肿瘤的病人:50人
- 实际未患有恶性肿瘤的病人:50人
- 检测结果为阳性的病人:40人
- 检测结果为阴性的病人:60人
- 检测结果阳性且实际患有恶性肿瘤的病人:30人
- 检测结果阳性但实际未患有恶性肿瘤的病人:10人
- 检测结果阴性但实际患有恶性肿瘤的病人:20人
- 检测结果阴性且实际未患有恶性肿瘤的病人:40人



3.对于一个二分类问题,假设已经建好了模型,输出是0或1,初始时设阈值为0.5,超过0.5概率故居就判别为1,否则为0;如果现在修改阈值为0.6,那么关于分类模型的以下描述,正确的是
A.模型的分类查准率会降低
B.模型的分类查准率会升高
C.模型的分类查全率会降低
D.模型的分类查全率会升高
解:
提高阈值后,模型预测为正类的样本会更少,但预测为正类的样本更有可能是真正的正类(因为阈值更高,预测为正类的条件更严格)。因此,FP(假正例)会减少,Precision 会升高。
提高阈值后,模型预测为正类的样本更少,可能会导致一些实际为正类的样本被错误地预测为负类。因此,FN(假负例)会增加,Recall 会降低。
4.预测 20 个西瓜中哪些是好瓜,这 20 个西瓜中实际有 15 个好瓜,5个坏瓜。某个模型预测的结果是:16 个好瓜,4 个坏瓜。其中,预测的 16 个好瓜中有14 个确实是好瓜,预测的 4 个坏瓜中有 3 个确实是坏瓜。注:好瓜为正例,坏瓜为反例。 (1)画出混淆矩阵; (2)什么是精确率(Presion),计算准确率 P; (3)什么是召回率(Recall),计算召回率 R; (4)写出 F1 值的计算公式,求出本例中 F1 值。
3. 比较经验:
不同模型的性能度量以及比较远比大家想象的要复杂的多。涉及因素:
首先,我们希望比较的是泛化性能,然后通过实验评估方法获得的是测试集上的性能,两者对比的结果未必相同。
其二,测试集上的性能与测试集本身的选择有很大的关系,且不论使用不同大小的测试集会得到不同的结果,即便使用相同大小的测试集,若包含的测试样例不同,测试结果也会不同。
其三,很多机器学习算法本身有一定的随机性,即便使用相同的参数设置在同一个测试集上多次运行,其结果也会有所不同。
统计假设检验(hypothesis test) 为我们进行学习器性能比较提供了重要依据。基于假设检验结果我们可以推断出,若在测试集上观察到学习器A比B好,则A的泛化性能是否在统计意义上优于B,以及这个结论的把握有多大。
交叉验证 t 检验
续…
3线性模型
一. 线性概要
回归现象的概念起源于对身高的研究,大自然约束人的身高回归于一个范围。
也算是多元一次方程的再次创新使用。
线性模型的最基本形式:
线性模型模型根据任务目标的不同,损失函数有回归和分类两大类,分类和回归的区别是分类的预测值是离散的,回归的预测值是连续的。
在线性回归中,常用的损失函数是均方误差:
在线性分类任务中,常采用交叉熵作为损失函数,并使用梯度下降法来对参数进行优化:
eg例题
在无人驾驶时,希望程序能够根据路况决策汽车的方向盘的旋转角度,那么该任务是?
A、分类
B、回归
C、聚类
D、降维
解:方向盘的旋转角度是一个连续值(例如 -90° 到 +90° 之间的任意角度),而不是离散的类别。
二. 对数几率回归
Logistic回归(Logistic Regression,LR)是一种常用的处理二分类问题的线性模型。Softmax 回归(Softmax Regression),也称为多项(Multinomial)或多类(Multi-Class)的Logistic回归,是Logistic回归在多分类问题上的推广。
线性分类模型中,对数几率模型(Logistic Regression)较为经典。模型形式为:![![[file-20241230154751399.png]]](https://i-blog.csdnimg.cn/direct/d1788b1c646a4c2b9fb3e9709540514f.png)

其中
是一种sigmoid函数。也是对数几率模型的本质,对于分段函数的拟合,取值范围为(0,1)。
既然是分类,就可以将类别模拟为0类,1类。对数几率模型对应的概率公式给出样本属于哪一类的概率求解方法:
对数几率模型在使用梯度下降法优化时,优化的参数是权重向量W和偏执项b。
eg例题
![![[file-20241230153317576.png]]](https://i-blog.csdnimg.cn/direct/9260a85422b4484aa9281e355e15ab41.png)
三. 梯度下降
梯度下降步骤:
梯度下降法不是一个机器学习算法。
梯度下降法是一种基于搜索的最优化方法。
梯度下降法主要用于最小化函数。
四. 最小二乘法
基于均方误差最小化来进行模型求解的方法叫最小二乘法。
五. 一些隐藏内容
纵观:
线性回归模型是用线性模型的预测值逼近样本的真实标记,对数几率回归模型是用线性回归模型的预测结果去逼近真实标记的对数几率。
第三章的有关课外参考:
机器学习-梯度下降算法原理及公式推导_梯度下降计算公式-CSDN博客
对数几率回归 —— Logistic Regression - 知乎
各种误差区别总结: 方差、标准差、均方差、均方误差、均方根误差_均方差和标准差的区别-CSDN博客
4决策树
一. 决策树基础
1. 什么是决策树
决策树是一种 树状结构的分类或回归模型。它通过一系列 特征划分 将数据分为不同的子集,最终输出一个预测结果。
- 每个 节点 是一个特征。
- 每个 分支 是特征的取值。
- 每个 叶节点 是分类结果或预测值。

2.决策树划分数据的方法
决策树通过特定的准则(如 信息增益、信息增益比 或 基尼指数)来选择最优特征进行划分。
二. 信息增益
1. 什么是信息增益
信息增益(Gain(D∣A)) 是一种衡量特征对数据分类“有多大帮助”的指标。换句话说,衡量特征对数据集不确定性的减少程度。信息增益越高,特征越适合作为划分的依据。
2. 信息增益计算

数据集熵H(D)的计算:
数据集的熵H(D)关键在于找D中不同结果发生的概率,然后套熵公式即可。
条件熵H(D|A)的计算:
条件熵 H(D∣A)的含义是:特征 A的条件下,数据集 D 的不确定性。
条件熵为 0 的情况是决策树中特别理想的场景,意味着该特征完全能够决定目标分类。
计算条件熵的步骤
- 计算H(Dv),这里的关键是找好特征取值v对应的D中不同结果发生的概率,然后套熵公式即可。如果对应的结果只有一种,那熵直接为0,因为只有一个类别,对应概率自然为1,对数自然为0。
- 计算P(v)
- 求和
eg例题

答:
决策树是一种 树状结构的分类或回归模型。它通过一系列 特征划分 将数据分为不同的子集,最终输出一个预测结果。
三. 信息增益比
1. 为什么需要信息增益比
信息增益比是 决策树算法(如 C4.5) 中常用的划分标准,用于解决信息增益的偏好问题。
信息增益容易偏向取值较多的特征。例如,一个特征每个样本都取唯一值,信息增益会很大,但它对分类没有实际意义。
2. 信息增益比的定义

这里的信息增益比也叫信息增益率。
(前面就在想,怎么只有D的熵,就是只用结果中不同取值占比Pi带入熵公式求H(D),而没有只看一个特征中不同取值占比Pv带入熵公式,这里的固有值就是了。)
eg例题

答:


- 信息增益比约为 0.423,说明“天气”有一定的划分能力,但并不是特别强。
- 如果其他特征的信息增益比更高,则应该优先选择那个特征。
四. 基尼指数
1. 什么是基尼指数
基尼指数是衡量数据集纯度的一种指标,常用于 CART(Classification And Regression Tree)决策树 中。它描述了一个数据集的 不纯度,基尼指数越低,数据集越纯。
2. 公式定义

3. 基尼指数在特征划分中的应用

eg例题

答:


五. 减枝
1. 什么是剪枝?
剪枝是通过减少决策树的复杂度,避免过拟合的一种技术。是决策树对付过拟合的主要手段。剪枝分为两种方式:
- 预剪枝:在决策树生成过程中,对每个节点在划分之前先进行估计,若当前节点的划分不能带来决策树泛化性能提升,则停止划分,并将当前节点标记为叶节点;
- 剪枝发生在构造决策树时,提前“阻止”子树的生长。
- 基于条件,比如:信息增益不显著、样本数过少、分裂后准确率不提高等。
- 优点:降低模型复杂度,避免过拟合。
- 缺点:可能导致过早停止,漏掉有效的划分。
- 后剪枝: 先从训练集生成一颗完整的决策树,然后自底向上对非叶子结点进行考察,若将该结点对应的子树替换为叶子节点能带来决策树泛化性能提升,则将该子树替换为叶结点。
- 剪枝发生在树完全生成之后。
- 剪枝的依据:通过交叉验证或其他评估方法,衡量剪枝是否提升了模型的泛化能力。
- 优点:在完整决策树的基础上进行优化,降低过拟合。
- 缺点:需要先生成完整的树,计算代价较高。
2. 为什么需要剪枝?
- 决策树如果过于复杂,可能会过度拟合训练数据,导致泛化能力差。
- 剪枝能减少决策树的噪声影响,提高模型的泛化性能。
3. 剪枝的标准
剪枝时,通常基于以下标准:
- 误差评估:在验证集上评估剪枝后决策树的表现。
- 最小描述长度(MDL):权衡树的复杂度和预测能力。
- 统计检验:通过卡方检验等方法判断子树是否显著提升预测效果。
eg例题

六. 一些隐藏的内容
- 信息增益准则对可取值数目较多的属性有所偏好,增益率准则对可取值数目较少的属性有所偏好
信息增益偏向取值多的属性,因为每次划分后,数据集被分成的子集数目多。更多的子集意味着这些子集更容易在分类上显得“纯”- 比如,“是否外出运动”是分类目标,属性“天气”有三个取值(晴、阴、雨),划分后数据集被分成三部分。
- 但如果属性是“温度”,且温度有10种取值,那么划分后数据集被分成10部分。由于每部分可能包含更少的数据,某些子集可能是完全纯的(纯度更高),导致信息增益变大
益率通过对信息增益进行归一化,削弱了取值较多的属性的偏向性,使得它对取值较少的属性更友好。 - 它用一个公式将取值的数量对信息增益的影响进行“惩罚”。这样,属性“温度”即使划分为10个部分,其影响也会被削弱。
- 这个惩罚项就是信息增益比公式中的固有值,从固有值公式看出,固有值就是特征的熵H(A)
5神经网络
一. 神经网络基础
1. 什么是神经网络?
- 神经网络是一种模拟人脑神经元连接的机器学习模型。
- 通过多层神经元(节点)和权重连接进行信息传递,从而实现复杂的函数映射。
主要组成部分:
- 输入层: 接收输入数据,每个节点对应一个输入特征。
- 隐藏层: 中间计算层,包含激活函数,用于引入非线性。
- 输出层: 最终输出,取决于任务(分类/回归)。
- 权重和偏置: 权重 W 表示连接的强度,偏置 b用于调整计算结果。


2. 神经网络如何工作?
神经网络通过 前向传播 和 反向传播 进行计算和优化:
- 前向传播: 数据依次从输入层传递到隐藏层和输出层,最终得到预测值。
- 反向传播: 通过误差计算对权重和偏置进行优化(如使用梯度下降)。
3. 前向传播的步骤:
-
线性变换: 每个节点的输入为加权求和:

-
激活函数: 对每个节点的线性变换结果进行非线性变换:
- 常见激活函数:ReLU、sigmoid、tanh 等。
4. 激活函数的作用:
- ReLU(Rectified Linear Unit):

用于引入非线性。 - sigmoid::

将输出值映射到 (0,1),常用于二分类问题。
激活函数的作用是增加网络的非线性
eg例题

答:
- 神经网络通过输入层、隐藏层和输出层连接,模拟生物神经元的激发过程。
- 输入数据经过每层的线性变换(加权求和)和非线性激活函数,最终输出预测结果。


二. 反向传播与梯度下降
1. 什么是反向传播?
反向传播(Backpropagation)是训练神经网络的核心算法,用于通过计算误差的梯度调整权重。
核心思想:
- 误差计算:从输出层开始计算与目标值的误差。
- 梯度传播:将误差通过链式法则传回隐藏层和输入层,计算每个权重对误差的贡献。
- 权重更新:利用梯度下降算法调整权重,以最小化误差函数。
反向传播经常导致过拟合,主要解决办法是早停和正则化。
反向传播算法步骤:(1)初始化参数 (2)前向传播(3)计算损失函数(4)反向传播(5)更新参数(6)重复迭代
2. 梯度下降算法
梯度下降是一种优化方法,通过沿误差函数梯度的负方向更新权重。
公式:
eg例题

答:
1,反向传播(Backpropagation)是训练神经网络的核心算法,用于通过计算误差的梯度调整权重。
核心思想:
- 误差计算:从输出层开始计算与目标值的误差。
- 梯度传播:将误差通过链式法则传回隐藏层和输入层,计算每个权重对误差的贡献。
- 权重更新:利用梯度下降算法调整权重,以最小化误差函数。


2.现有一神经网络(采用反向传播算法)结构如下: 5-4-3-2。5对应输入层节点数,4对应隐藏层节点数,3对应隐藏层节点数,2对应输出层节点数。(1)请画出神经网络图。 (2)计算权重和偏置的数量。 (3)简述该题中反向传播算法(BP)的步骤。
1)一层一层,一对下一层所有点进行连线即可。
2)权重的数量 = 当前层节点数 × 下一层节点数(每个节点与下一层全连接)
权重数量:5×4+4×3+3×2=38
每层的每个节点都会有一个偏置值,除了输入层。
偏置数量:4+3+2=9
(注:参数数量=权重数量+偏置数量)
3)
前向传播,从输入层开始,逐层计算每个节点的输出值(激活值);
计算误差(损失),对于输出层,根据目标值和预测值计算误差;
反向传播误差,从输出层开始,逐层计算每个节点的误差项;
更新权重和偏置,使用梯度下降法调整权重和偏置;
重复迭代,直到损失函数收敛(即达到最小值)
三. 卷积神经网络
1. 什么是卷积神经网络?
CNN 是一种特别适合于处理图像和时序数据的神经网络结构,其主要特点是通过卷积操作提取局部特征,具有平移不变性。CNN 的优势在于:
- 能够有效降低模型复杂度,减少参数数量。
- 通过共享权重学习局部特征,适合大规模数据训练。
2. CNN 的核心组成部分
CNN 主要由以下几部分组成:
- 卷积层(Convolution Layer):
- 使用卷积核(或滤波器)对输入数据进行局部加权运算,提取特征。
- 输出的结果称为特征图(Feature Map)。
- 激活函数(Activation Function):
- 常用 ReLU 函数,使得输出具有非线性特性。
- 池化层(Pooling Layer):
- 用于压缩卷积层信息,常见方法有最大池化(Max Pooling)和平均池化(Average Pooling)。
- 通常的神经单元是从前一层的神经单元接收加权输入,而池化层的神经单元不存在权重和偏置的概念,也就是不具有模型参数
- 全连接层(Fully Connected Layer):
- 将高维特征展平成一维,并通过多层感知机完成分类或回归任务。
3. 卷积操作的步骤
卷积操作是 CNN 的核心,步骤如下:
- 将卷积核按一定步幅滑动到输入数据的每个区域。
- 对应位置的数值逐元素相乘并求和。
- 得到的结果构成特征图中的一个值。

eg例题

答:
CNN 是一种基于卷积操作构建的神经网络,特别适合处理图像等二维数据。它通过卷积、激活和池化等操作逐层提取数据的高层特征。

四、循环神经网络
1. 什么是循环神经网络?
- 定义:循环神经网络(Recurrent Neural Network, RNN)是一类专门用于处理序列数据的神经网络。它具有“记忆能力”,可以利用之前的输入信息来影响当前的输出。
- 关键特性:
- 循环结构:每个时间步的输出依赖于当前输入和前一个时间步的隐藏状态。
- 共享参数:不同时间步之间共享相同的参数,提高了模型效率。
- 与前馈神经网络的区别:
- 前馈神经网络(如全连接网络)适合处理固定维度的输入,而 RNN 可以处理变长的序列数据。
- RNN 在时间维度上引入了状态传递。
2. RNN的网络结构

3. RNN 的前向传播与反向传播
- 前向传播:
- 按时间顺序依次计算每个时间步的隐藏状态和输出。
- 反向传播(BPTT, Backpropagation Through Time):
- 通过时间展开,将损失函数对所有时间步的权重求导,并进行梯度更新。
- 问题:RNN 的梯度在时间维度上可能会出现梯度消失或梯度爆炸。
4. 应用场景
- 自然语言处理:文本生成、情感分析、翻译。
- 时间序列预测:股票预测、天气预报。
- 语音处理:语音识别、音乐生成。
eg例题

答:
- 循环神经网络是一种可以处理序列数据的网络,利用前一时间步的隐藏状态和当前输入计算当前时间步的输出。
- 与前馈神经网络相比,RNN 能够建模时间序列中数据的动态变化关系,而前馈网络只能处理静态输入。


五、感知机
1,什么是感知机?

2,感知机的算法

3,感知机的局限性
- 线性可分性:
感知机只能解决线性可分问题。如果数据不可线性分,感知机无法找到分类超平面。 - 改进方向:
- 多层感知机(MLP):通过引入隐藏层,感知机可以解决非线性问题。
- 核方法:通过核技巧将数据映射到高维空间。
eg例题

答:
6支持向量机
一. 支持向量机
1. 什么是支持向量机(SVM)?
支持向量机是一种基于最大化分类间隔的监督学习模型,广泛用于分类任务。SVM 的主要思想是找到一个 最优分割超平面,使数据点之间的间隔最大化,从而提高模型的泛化能力。
- 超平面:将样本分隔开的决策边界,定义为 w⋅x+b=0。划分超平面可以被法向量w和位移b确定,记为(w,b)。
- 支持向量:最靠近超平面的数据点,这些点决定了分类间隔。
- 分类间隔:正负类支持向量到超平面的距离之和,间隔越大,分类器越鲁棒。
{鲁棒性(Robustness)是指一个系统、模型或函数在面对错误输入、意外情况、外部干扰或变化时,仍能保持稳定性和性能的能力。}
超平面指可以把n维线性空间分割成不相交的两部分的维度为n-1维的子空间。比如二维坐标系中的一条一维线,三维坐标系中的一个二维面。名字很容易误解为是一个平面。
法向量是垂直于超平面的向量。一般记为w。
方程前面的系数(A,B)为该直线的法向量。
进而可以推广得出点X0到超平面的距离为(法向量一般是列向量,所以需要转置。)
将二维高中内容带入下面公式可轻易解释b的由来:
推广到n维:
所以支持向量机的基本模型:
2. SVM 如何解决分类问题?
- 对于线性可分的数据,SVM 寻找分类间隔最大的超平面。
- 如果数据不可线性分割,SVM 使用核函数将数据映射到高维空间,在高维空间寻找超平面。
- 常见的核函数有线性核、多项式核、高斯核(RBF)等。
3. SVM 的目标函数

4. 数据线性不可分时的处理

eg例题

答:
支持向量机是一种基于最大化分类间隔的监督学习模型,广泛用于分类任务。
二. 核函数的原理及应用
1. 什么是核函数?

2. 核函数的作用是什么?
- 核函数通过隐式映射,将低维空间中不可分的数据转换为高维空间中可分。
- 在高维空间中,SVM 能够通过找到一个超平面实现线性分割。
3. 常见的核函数类型

eg例题

答:
第一问:什么是核函数?
核函数是一种通过隐式映射,将低维空间中不可分的数据转换到高维空间中的工具,使其在高维空间中线性可分。
3)
- 线性核:适合线性可分数据,计算简单,速度快。
- 多项式核:适合具有一定非线性的数据,阶数越高模型越复杂。
- 高斯核:适合高度非线性分布的数据,具有强大的映射能力。
- Sigmoid 核:用于模拟神经网络,但可能不一定适合所有场景。
三. 软间隔与松弛变量
1. 硬间隔 SVM 的局限性

2. 软间隔的提出

3. 松弛变量

对于软间隔支持向量机,每个样本都有一个对应的松弛变量,用以表征 该样本不满足原约束的程度。
4. 软间隔优化函数

eg例题

四. 支持向量回归
1. SVR 的定义

2. SVR 的核心思想

3. ϵ-不敏感带

4. 惩罚系数 C

5. SVR 的优化问题公式

eg例题

答:



五. 一些隐藏内容
续…
7贝叶斯分类器
一. 贝叶斯分类器
1. 什么是贝叶斯分类器?
贝叶斯分类器是一种基于贝叶斯定理的分类算法,利用条件概率预测样本所属类别。
- 输入:样本的特征值。
- 输出:样本所属的类别。
2. 贝叶斯定理的数学表达

P(C|X)叫后验概率,也是贝叶斯公式要求的。
P(X|C)是条件概率
3. 朴素假设
朴素贝叶斯假设特征之间相互独立,简化了 P(X∣C)的计算:
朴素贝叶斯分类器采用了该假设
4. 算法步骤
- 计算先验概率:各类别在训练集中的比例。
- 计算条件概率:每个特征在各类别中的分布。
- 应用贝叶斯定理:计算 P(C∣X)并选择概率最大的类别作为预测结果。
eg例题


二. 极大似然估计
都知道大自然非常神奇,在统计与概率中,人们是发现某种频率现象后,开始找可以拟合的函数,达到一定程度预测的目标。函数里面有参数,最经典的就是正太分布,也叫高斯分布。叫高斯就不说了,叫正太是因为它契合大自然喜欢的分布,两头少中间多。这可能也是一种回归现象。
估计类条件概率的常用策略:先假定其具有某种确定的概率分布形式,再基于训练样本对概率分布参数估计。
当我们已经观测到一组样本观测值y1 y2 y3 … ym 时, 要去估计未知参数,一种直观的想法就是,哪一组参数值使得现在的样本观测值出现的概率最大,哪一组参数可能就是真正的参数, 我们就用它作为参数的估计值,这就是所谓的极大似然估计。
极大似然法的目标是找到使观测数据出现的概率最大的模型参数。
三. 拉普拉斯修正
1. 为什么引入拉普拉斯修正?
若某个属性值在训练集中没有与某个类同时出现过,则直接计算会出现问题,. 比如“敲声=清脆”测试例,训练集中没有该样例,因此连乘式计算的概率值为0,无论其他属性上明显像好瓜,分类结果都是“好瓜=否”,这显然不合理。
为了避免其他属性携带的信息被训练集中未出现的属性值“抹去”,在估计概率值时通常要进行“拉普拉斯修正”
在朴素贝叶斯分类器的训练过程中,拉普拉斯修正避免了零概率以及属性值未出现的数量过小的问题。
四. EM算法
EM算法提供一种近似计算含有隐变量概率模型的极大似然估计的方法。
EM算法时常用的估计参数隐变量的方法,是一种迭代式的方法,能收敛到局部最优解。
8集成学习
一. 集成学习基本概念
1. 集成学习是什么?
- 集成学习(Ensemble Learning)是一种通过构建并结合多个学习器来完成学习任务,通常可获得比单一学习器更良好的泛化性能。
- 核心思想:多个模型的组合效果通常优于单一模型(多数人的智慧 > 个体智慧)。
2. 集成学习的主要类型
- Bagging:通过对数据进行随机采样,构建多个模型并对结果进行平均或投票,典型算法是 随机森林。
- Boosting:通过加权的方式关注错误分类的数据,逐步优化模型,典型算法是 AdaBoost 和 Gradient Boosting。
- Stacking:通过将多个模型的输出作为输入,再训练一个新的模型进行预测。
3. Bagging 与 Boosting 的主要区别
- Bagging:并行训练多个模型,目的是降低方差。
- Boosting:串行训练多个模型,目的是降低偏差。
- Bagging 对数据分布的噪声鲁棒性较强;Boosting 更关注模型的复杂度和训练误差
4. 简单投票法
- 简单投票法是一种常见的 Bagging 集成方法,即根据多数基分类器的输出作为最终预测结果。
eg例题

答:


简述Boosting算法与Bagging算法,并分析其区别:
1. Boosting 算法
- 核心思想:通过串行地训练一组弱学习器,使每个弱学习器关注前一轮中未正确处理的样本。最终将多个弱学习器组合成一个强学习器。
- 基本流程:
- 初始化样本权重分布,所有样本权重均等。
- 依次训练多个弱学习器,每次根据前一轮的误分类情况调整样本权重。
- 组合所有弱学习器的结果,通常通过加权投票或加权平均。
-
特点:
-
强调困难样本的学习。
-
每个学习器是依赖前一轮结果的。
-
代表算法:AdaBoost、Gradient Boosting、XGBoost。
2. Bagging 算法 -
核心思想:通过并行训练多个学习器,每个学习器基于从原始数据集中有放回抽样生成的不同子数据集。最终将多个学习器的结果结合起来以降低模型的方差。
-
基本流程:
- 从原始数据集中进行多次有放回抽样,生成若干个不同的训练集。
- 在每个训练集上训练一个基学习器。
- 将多个基学习器的预测结果结合(如投票或平均)。
- 特点:
- 各学习器之间相互独立。
- 通过样本随机化降低过拟合。
- 代表算法:随机森林(Random Forest)。

9聚类
一. . 聚类概要
1. 聚类是什么
- 聚类是一种无监督学习方法,旨在将相似的对象归为一组(称为簇)。
- 聚类算法会根据对象之间的相似性或距离,将数据划分成多个簇
- 在“无监督学习”任务中研究最多、应用最广。

2. 聚类与分类的区别
- 聚类: 数据没有标签,算法自己发现数据的结构。
- 分类: 数据有标签,算法基于已有标签预测新数据的类别。
3. 聚类的性能指标
我们希望“物以类聚”,即同一簇的样本尽可能彼此相似,不同簇的样本尽可能不同。换言之,聚类结果的“簇内相似度”(intra-cluster similarity)高,且“簇间相似度”(inter-cluster similarity)低,这样的聚类效果较好.
外部指标 (external index):将聚类结果与某个“参考模型”(reference model)进行比较。
内部指标 (internal index):直接考察聚类结果而不用任何参考模型。

二. 常见距离公式

三. 不同聚类算法
1. 原型聚类(Prototype-based Clustering)
概念:
- 原型聚类是基于原型(通常是簇的中心点或质心)将数据划分为不同簇的算法。
- 每个簇由一个中心点代表,其他样本分配到距离最近的中心点所在簇。
- 常见有:k均值算法,学习向量量化,高斯混合聚类算法
1. k均值算法
k均值算法(K-Means)是一种常用的基于距离的聚类算法,步骤如下:
- 初始化聚类中心: 随机选择k个点作为初始中心。
- 分配样本点: 根据样本点到每个中心的距离,将其分配到最近的中心所在的簇中。
- 更新中心: 重新计算每个簇的中心(即所有簇内点的均值)。
- 重复步骤2和3: 直到中心不再变化或达到最大迭代次数。
eg例题

答:
- 聚类: 数据没有标签,算法自己发现数据的结构。
- 分类: 数据有标签,算法基于已有标签预测新数据的类别。

2. 密度聚类(Density-based Clustering)
概念:
- 密度聚类根据样本的密度将数据划分为不同簇,密度高的区域形成一个簇。
- 它可以识别任意形状的簇,并能有效处理噪声数据。
代表算法:DBSCAN
- 基本步骤:
- 定义两个重要参数:
- ϵ\epsilonϵ (邻域半径):用于确定样本的邻域范围。
- MinPts(最小点数):一个簇必须包含的最小样本数。
- 分类点:
- 核心点:在邻域内至少有MinPts个样本。
- 边界点:邻域内样本数不足MinPts,但在核心点的邻域内。
- 噪声点:既不是核心点也不是边界点。
- 形成簇:通过核心点连接形成簇,边界点属于邻近的核心点簇。
- 定义两个重要参数:
- 优缺点:
- 优点:可以发现任意形状的簇;对噪声和离群点鲁棒。
- 缺点:参数 ϵ\epsilonϵ 和 MinPts 的选择较敏感;不适合处理高维数据。
- 适用场景:
- 空间聚类(如地理信息分析)、异常检测。
3. 层次聚类(Hierarchical Clustering)
概念:
- 层次聚类构建一个层次结构的树(称为树状图或Dendrogram),通过合并或分裂数据逐步形成簇。
- 按照合并或分裂方式,分为两类:
- 自底向上(凝聚型): 从每个样本作为一个簇开始,逐步合并最近的簇。
- 自顶向下(分裂型): 从所有样本作为一个簇开始,逐步分裂为小簇。
基本步骤(以凝聚型为例):
- 每个样本初始化为一个簇。
- 计算簇间距离,合并最近的两个簇。
- 重复步骤2,直到所有样本合并为一个簇或达到预定义的簇数。
- 通过树状图确定聚类结果。
距离计算方法:
- 单链接:最近样本的距离。
- 全链接:最远样本的距离。
- 平均链接:簇间样本的平均距离。
- 中心链接:簇中心间的距离。
优缺点: - 优点:不需要预定义簇数;可以获得不同分辨率的聚类结果。
- 缺点:计算复杂度高;对噪声和离群点敏感。
适用场景: - 生物信息学中的基因聚类、文档聚类。
4. 总结对比

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)