光之使者 发表于 2024-7-28 18:35:25

机器学习条记

1. 监视学习(Supervised Learning)

监视学习(Supervised Learning)是机器学习的一种方法,它使用带有标签的数据来训练模子,使模子可以或许从输入数据中预测输出。监视学习的目标是找到一个函数或映射关系(x --> y),使得给定新的输入数据时,模子可以或许准确地预测对应的输出。监视学习广泛应用于各种实际问题中,如分类、回归、语音识别、图像识别等。
监视学习的主要范例


[*]回归(Regression):使命是预测连续数值输出。例如,房价预测(根据房屋特性预测其价格)、股票价格预测(根据历史数据预测未来价格)。
[*]分类( Classification):使命是将输入数据分配到预界说的种别中。例如,垃圾邮件分类(将邮件分类为“垃圾邮件”或“非垃圾邮件”)、图像分类(将图像分类为不同的物体种别)。
https://img-blog.csdnimg.cn/img_convert/f2e62617480bce71547651cdd171d08f.png
假设我们有一个房价数据集,每个数据点包含房屋的特性(如面积、房间数、位置等)和对应的房价。通过监视学习算法,我们可以训练一个回归模子,根据房屋特性来预测房价。
https://img-blog.csdnimg.cn/img_convert/f53fff870c3ee32c0dee2d90b6f4242d.png
假设有一个病人检测肿瘤数据集,通过监视学习算法,可以训练一个分类器,根据肿瘤巨细和病人年事来预测肿瘤为良性或恶性。
2. 无监视学习(Unsupervised Learning)

无监视学习(Unsupervised Learning)是机器学习的一种范例,它在没有标签的数据集上举行训练,即数据集中没有明白的输入和输出对。无监视学习的主要目标是从数据中发现隐藏的模式或结构,而不必要人工标注的数据。
无监视学习的主要范例


[*]聚类(Clustering):获取没有标签的数据并尝试主动将它们分组到集群中。
https://img-blog.csdnimg.cn/img_convert/db4152597b4cf4f395fd5b35a321de0f.png
https://img-blog.csdnimg.cn/img_convert/2becb8de41f203061543cdce1ab115f6.png
https://img-blog.csdnimg.cn/img_convert/fd842771977aeb87ab12382d5cb9fd47.png
3. 线性回归模子(Linear Regression Model)

线性回归(Linear Regression)是一种用于预测连续数值的监视学习算法,它通过创建输入特性与输出变量之间的线性关系来预测输出。
https://img-blog.csdnimg.cn/img_convert/f87bbd1df7fbdf52ae5c31913119077a.png
输入的训练集(输入特性。输出目标)通过学习算法构造函数 f,再将特性x输入学好的模子,输出预测结果 y-hat,直到结果接近真实目标值y。
4. 损失函数(Loss Function)

在机器学习中,代价函数(也称为损失函数)用于评估模子的预测结果与实际结果之间的差异。在线性回归中,常用的代价函数是均方误差(Mean Squared Error, MSE)。代价函数越小,分析模子的预测结果越接近实际值,因此训练模子的目标是最小化代价函数。
https://img-blog.csdnimg.cn/img_convert/6b0995e27314fed86fc0e580202b65b2.png
对于线性回归损失函数,要选择参数 w 和 b 的值,以便从函数 f 得到的直线以某种方式很好地拟合数据。
https://img-blog.csdnimg.cn/img_convert/d3ed189e69fabc119a0873553bd18a2e.png
J(w, b)为损失函数
m是训练样本数量
f((x)(i))为第 i 个样本的预测值
y(i)是第 i 个样本的实际值
https://img-blog.csdnimg.cn/img_convert/3ce4fc69f5990bb20340ad82ec9a5cf0.png
5. 梯度降落(Gradient Descent)

梯度降落是一种用于优化损失函数的迭代算法,通过渐渐调整模子参数,使损失函数达到最小值。
https://img-blog.csdnimg.cn/img_convert/2d1e29afa0cbcfac3fb9740a51bc0da4.png
w,b 是模子参数。
α 是学习率,控制每次更新的步长。
偏导数:
https://img-blog.csdnimg.cn/img_convert/3b8d369593ee6f6aad81a29d82b6db91.png
https://img-blog.csdnimg.cn/img_convert/12de5337659eab62edbcac32829b315f.png
https://img-blog.csdnimg.cn/img_convert/da01aabf2b34f82a933bcbf77bf414f6.png
学习率 :α 是梯度降落中一个紧张的超参数。学习率过大可能导致参数更新过快,跳过最优解;学习率过小可能导致收敛速度过慢。通常通过实验和调参来选择合适的学习率。
https://img-blog.csdnimg.cn/img_convert/e0c7838e5042a64c2ee0b3f9ee016099.png
如果梯度降落接近局部最小值时,导数会主动变小,即使 α 保持在某个固定值。
https://img-blog.csdnimg.cn/img_convert/c2a557751a0f0ecad991d638edb27824.png
https://img-blog.csdnimg.cn/img_convert/72b9f85bd9e1e148e64ba43bdbca48be.png
6. 线性回归梯度降落(Gradient Descent for Linear Regression)

参数更新规则:
https://img-blog.csdnimg.cn/img_convert/dc9a91a36a3a8fcaecacab2f678e4c23.png
线性回归的损失函数(通常是均方误差,MSE)是一个凸函数,这意味着它只有一个全局最小值,而没有多个局部最小值。
https://img-blog.csdnimg.cn/img_convert/27db69212c4bc21431a404f11da50998.png
不断运行梯度降落举行数据拟合,成本函数越靠近等高线图的中心圈,w,b越接近最优解。
https://img-blog.csdnimg.cn/img_convert/09a55388162c414ef7dc2ef81fbeca3e.png
批量梯度降落(Batch Gradient Descent)用于最小化损失函数并找到最佳的模子参数。在批量梯度降落中,每次迭代使用整个训练集来计算梯度和更新参数。
https://img-blog.csdnimg.cn/img_convert/795dcf958829877e5f27f45ef567d138.png
7. 多类特性(Multiple features)

通过多个输入特性举行预测结果输出,通过结合多个特性,模子可以或许捕获更复杂的关系和模式,从而提高预测的准确性。
https://img-blog.csdnimg.cn/img_convert/2a584ccf03bda5be24ebed9078206047.png
将参数 w 和 特性 x 举行矢量化,通过向量的内积求得模子函数。
https://img-blog.csdnimg.cn/img_convert/7acae352b47ecd7cfb4aee621e65a074.png
8. 向量化(Vectorization)

向量化是将数据转换为向量形式的过程。
下图对比了向量化前和后的求模子函数的方法:
https://img-blog.csdnimg.cn/img_convert/0a04cdc278fdc691d9ff3993efdfd479.png
d 为导数,这里体现 w 的厘革量,通过减去厘革量不断更新 w 的值。
https://img-blog.csdnimg.cn/img_convert/4f6fd67674a930f086ab750d9f15ba33.png
9. 多元线性回归的梯度降落法(Gradient Descent for Multiple Regression)

https://img-blog.csdnimg.cn/img_convert/bea62fa4c428b42a872d6f989c76eedb.png
函数执行梯度降落迭代,更新参数并记载每次迭代的损失。
https://img-blog.csdnimg.cn/img_convert/f68035d1e6eba9563032070883a1ba2a.png
10. 特性缩放(Feature scaling)

特性缩放是数据预处理的紧张步调,旨在将不同特性的值缩放到一个相似的范围,以提高机器学习模子的性能和训练速度。
https://img-blog.csdnimg.cn/img_convert/615fcd044d3688e4da0b00712c9a6f51.png
当一个特性的值范围大时,对应的参数范围有必要小;反之。
https://img-blog.csdnimg.cn/img_convert/8f8e291229e51351b815e212c57126c4.png
当有不同的功能,具有非常不同的值范围时,它会导致梯度降落运行缓慢;但重新缩放不同的功能,它们的值具有可比的值范围后就可以显著加快梯度降落。


[*] 标准化(Standardization)(也称为Z-score normalization):将特性缩放到均值为0、标准差为1的分布。适用于大多数机器学习算法。
https://img-blog.csdnimg.cn/img_convert/425a5be228c751a5836aff314bc292bd.png
https://img-blog.csdnimg.cn/img_convert/a59b48c73231b6250f6297dba016bd6a.png
[*] 最大绝对值缩放(MaxAbsScaler):将每个特性的值缩放到[-1, 1]之间,适用于数据已经中心化为0且包含负值的情况。
https://img-blog.csdnimg.cn/img_convert/6ae6fc0cf19041fbd56c1264c4bb0460.png
https://img-blog.csdnimg.cn/img_convert/3e9562fb8aa28b97d329dd5193ac7ea7.png
[*] 归一化(Normalization):将特性缩放到特定范围(通常是0到1)。适用于必要特性具有类似量纲的算法,如神经网络和基于隔断的算法。
https://img-blog.csdnimg.cn/img_convert/275942822a3075f4e037dbddeacb8596.png
https://img-blog.csdnimg.cn/img_convert/d0d39e6712f461d22ece73725634af61.png
11. 查抄梯度降落是否收敛(Checking Gradient Descent for Convergence)

横轴为梯度降落的迭代次数,纵轴为成本值。
当曲线达到平稳时,梯度降落接近于收敛。
主动收敛测试:设置一个固定值 ε,如果成本值在一次迭代中小于 ε,则梯度降落收敛。
https://img-blog.csdnimg.cn/img_convert/b6a564fa71b39c592620e48689692e4d.png
12. 学习率的选择(Choosing the Learning Rate)

如果 α 太小,梯度降落速度太慢;如果太大,梯度降落可能不会收敛。
https://img-blog.csdnimg.cn/img_convert/c653d056a80cb52a4455fdf67115dd7d.png
https://img-blog.csdnimg.cn/img_convert/32a711ebf3335bcd46535e6f297c9a0a.png
13. 特性工程(Feature Engineering)

特性工程是指在机器学习和数据分析中,通过对原始数据举行特性提取、转换和选择,以创建可以或许更好地反映问题本质、提升模子性能的特性的过程。特性工程对于模子的终极性能有着紧张的影响,它可以或许帮助模子更好地明白数据,提取有效的信息,从而提高模子的准确性和泛化能力。
https://img-blog.csdnimg.cn/img_convert/09c5270246f68aeb76dc3e6f98ee2cf6.png
14. 多项式回归(Polynomial Regression)

多项式回归是线性回归的一种扩展形式,它通过增长特性的高次项来拟合数据中的非线性关系。与平凡线性回归不同,多项式回归可以更灵活地适应数据的曲线形态,因此在处理非线性数据时特别有效。
https://img-blog.csdnimg.cn/img_convert/4ecd913101a717a6e6556abcbb0b8a52.png
https://img-blog.csdnimg.cn/img_convert/2938519d129e865e0e56a36ed53ae282.png
https://img-blog.csdnimg.cn/img_convert/1aaeeda4219dc676f6bd1444f97886ee.png
15. 逻辑回归(Logistic Regression)

逻辑回归是一种广泛使用的分类算法,主要用于办理二分类问题。尽管名称中带有“回归”,但逻辑回归实际上是一种分类算法,由于它预测的是离散的种别标签。
https://img-blog.csdnimg.cn/img_convert/34349208d098284bea350a4e754dcb5d.png
https://img-blog.csdnimg.cn/img_convert/e14469a97d010cdf8292ab3c0318006b.png
16. 决策边界(Decision Boundary)

逻辑回归的决策边界是由线性方程 z=0 确定的。
https://img-blog.csdnimg.cn/img_convert/5080634a7d7540d08046fafddb524f6f.png
令 w1 = w2 = 1,b = -3,令 z = 0,则
https://img-blog.csdnimg.cn/img_convert/08955efcabb061d2f00c060aa3c40f39.png
画出 x1 与 x2 的直线图,即为决策边界。
https://img-blog.csdnimg.cn/img_convert/e1fc0a3dda1c421b9bb65edebf3a9ad9.png
令 w1 = w2 = 1,b = -1,则
https://img-blog.csdnimg.cn/img_convert/dac2ef6f91f5f364285de691d7983d9d.png
画出图像为一个单位圆,这个单位圆即为决策边界。
https://img-blog.csdnimg.cn/img_convert/2ae4248d35cb173d9dbcd07851bbad2e.png
https://img-blog.csdnimg.cn/img_convert/a0fc2cb4ec88b240bc58c97f4c973eb0.png
17. 逻辑回归的代价函数(Cost Function for Logistic Regression)

在逻辑回归中,代价函数(也称为损失函数)用于衡量模子预测与实际结果之间的差距,并指导模子参数的优化。对于逻辑回归,代价函数是基于似然函数的对数体现,即对数似然函数。最大化对数似然函数等价于最小化负对数似然函数,后者通常被用作代价函数。
https://img-blog.csdnimg.cn/img_convert/0e6dbdc821f016c8b884c1171a8dbf97.png
https://img-blog.csdnimg.cn/img_convert/fcd4664f9e0b8f4f193641db6abd58fc.png
https://img-blog.csdnimg.cn/img_convert/0192c52d512db1389df8f9a44eeb9add.png
https://img-blog.csdnimg.cn/img_convert/e2fbba8533ec2dfee6384496530369e4.png
https://img-blog.csdnimg.cn/img_convert/809b820f9c952605a6ab158fa7e5ef6a.png
https://img-blog.csdnimg.cn/img_convert/e34c69e447706491ec3a010b5d38bfdd.png
https://img-blog.csdnimg.cn/img_convert/c9d9b6770bfed881a88aa8d85c1dedf9.png
https://img-blog.csdnimg.cn/img_convert/3ea828c2d261bbb7d5acbe36b07109a7.png
https://img-blog.csdnimg.cn/img_convert/5c789fa9256c61ea4f23a0b8058a7cb3.png
18. 梯度降落实现(Gradient Descent Implement)

https://img-blog.csdnimg.cn/img_convert/202a009d6f6a13ad0c46a5f771335784.png
https://img-blog.csdnimg.cn/img_convert/027aa697eb4e93e4de96d90e005366a9.png
19. 过拟合(Overfitting)与欠拟合(Underfitting)

在机器学习中,过拟合(Overfitting)是指模子在训练数据上体现非常好,但在未见过的测试数据或新数据上体现较差的一种现象。过拟合意味着模子在训练数据中学习到了过多的噪声和细节,而不是学习到了数据的通用特性。如许一来,模子的泛化能力变差,在实际应用中结果不佳。
欠拟合是指模子过于简单,无法捕获数据的内在规律,导致在训练数据和测试数据上的体现都很差。欠拟合通常发生在模子的复杂度太低的情况下,例如使用线性模子来拟合非线性数据。
过拟合是指模子过于复杂,捕获到了训练数据中的噪声和细节,虽然在训练数据上的体现非常好,但在测试数据上的体现很差。过拟合通常发生在模子的复杂度太高的情况下,例如使用高次多项式来拟合数据。
https://img-blog.csdnimg.cn/img_convert/b60efe032526788e856c4e8df45c27b0.png
https://img-blog.csdnimg.cn/img_convert/0f26e74e0927191012d4170d7cc1a8f5.png
20. 办理过拟合的方法(Addressing Overfitting)



[*]增长训练数据:更多的数据可以帮助模子更好地捕获数据的总体分布,减少过拟合的可能性。
https://img-blog.csdnimg.cn/img_convert/c8a8a017d027ce4c2c4faeb78707fa14.png


[*]简化模子:减少模子的复杂度,例如减少参数数量,使用更简单的模子(如决策树的最大深度,神经网络的层数和每层的神经元数等)。
https://img-blog.csdnimg.cn/img_convert/dbc237103bf72127035aee07a8738442.png


[*]正则化:在损失函数中加入正则化项,可以限制模子参数的巨细,防止模子过于复杂。常见的正则化方法包罗L1正则化(Lasso)和L2正则化(Ridge)。
https://img-blog.csdnimg.cn/img_convert/35fc5ed5ffa27dff507c2c602b64b664.png
21. 正则化代价函数(Cost Function with Regularization)

正则化是机器学习中防止过拟合的一种技能。它通过在模子的损失函数中增长一个正则化项来限制模子的复杂度,从而提高模子在新数据上的泛化能力。


[*] L1正则化:L1正则化在损失函数中增长一个正则化项,使得新的损失函数为:
https://img-blog.csdnimg.cn/img_convert/efcf02fddd47cf3491f6160469f4fc29.png
其中
页: [1]
查看完整版本: 机器学习条记