四十三、【人工智能】【机器学习】- Gradient Descent(梯度下降)

 

系列文章目录

第一章 【机器学习】初识机器学习

第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression)

第三章 【机器学习】【监督学习】- 支持向量机 (SVM)

第四章【机器学习】【监督学习】- K-近邻算法 (K-NN)

第五章【机器学习】【监督学习】- 决策树 (Decision Trees)

第六章【机器学习】【监督学习】- 梯度提升机 (Gradient Boosting Machine, GBM)

第七章 【机器学习】【监督学习】-神经网络 (Neural Networks)

第八章【机器学习】【监督学习】-卷积神经网络 (CNN)

第九章【机器学习】【监督学习】-循环神经网络 (RNN)

第十章【机器学习】【监督学习】-线性回归

第十一章【机器学习】【监督学习】-局部加权线性回归 (Locally Weighted Linear Regression, LWLR)

第十二章【机器学习】【监督学习】- 岭回归 (Ridge Regression)

十三、【机器学习】【监督学习】- Lasso回归 (Least Absolute Shrinkage and Selection Operator)

十四、【机器学习】【监督学习】- 弹性网回归 (Elastic Net Regression)

十五、【机器学习】【监督学习】- 神经网络回归 

十六、【机器学习】【监督学习】- 支持向量回归 (SVR)

十七、【机器学习】【非监督学习】- K-均值 (K-Means) 

十八、【机器学习】【非监督学习】- DBSCAN (Density-Based Spatial Clustering of Applications with Noise)十九、【机器学习】【非监督学习】- 层次聚类 (Hierarchical Clustering)二十、【机器学习】【非监督学习】- 均值漂移 (Mean Shift)

二十一、【机器学习】【非监督学习】- 谱聚类 (Spectral Clustering)​​ 


目录

系列文章目录

一、基本定义

(一)、监督学习

(二)、监督学习的基本流程

(三)、监督学习分类算法(Classification)

二、Gradient Descent(梯度下降)

(一)、定义

(二)、基本概念

(三)、训练过程

标准梯度下降 (Batch Gradient Descent)

随机梯度下降 (Stochastic Gradient Descent, SGD)

小批量梯度下降 (Mini-batch Gradient Descent)

动量 (Momentum)

自适应学习率方法

(四)、特点

(五)、适用场景

(六)、扩展

三、总结

四、相关书籍介绍


一、基本定义

(一)、监督学习

        监督学习(Supervised Learning)是机器学习中的一种主要方法,其核心思想是通过已知的输入-输出对(即带有标签的数据集)来训练模型,从而使模型能够泛化到未见的新数据上,做出正确的预测或分类。在监督学习过程中,算法“学习”的依据是这些已标记的例子,目标是找到输入特征与预期输出之间的映射关系。

(二)、监督学习的基本流程

        数据收集:获取包含输入特征和对应正确输出标签的训练数据集。
        数据预处理:清洗数据,处理缺失值,特征选择与转换,标准化或归一化数据等,以便于模型学习。
        模型选择:选择合适的算法,如决策树、支持向量机、神经网络等。
        训练:使用训练数据集调整模型参数,最小化预测输出与实际标签之间的差距(损失函数)。
        验证与调优:使用验证集评估模型性能,调整超参数以优化模型。
        测试:最后使用独立的测试集评估模型的泛化能力,确保模型不仅在训练数据上表现良好,也能在未见过的新数据上做出准确预测。

(三)、监督学习分类算法(Classification)

        定义:分类任务的目标是学习一个模型,该模型能够将输入数据分配到预定义的几个类别中的一个。这是一个监督学习问题,需要有一组已经标记好类别的训练数据,模型会根据这些数据学习如何区分不同类别。
        例子:垃圾邮件检测(垃圾邮件 vs. 非垃圾邮件)、图像识别(猫 vs. 狗)。


二、Gradient Descent(梯度下降)

(一)、定义

Gradient Descent(梯度下降)算法是一种迭代优化算法,用于求解最小化问题,特别是在机器学习和深度学习领域中寻找损失函数的最小值。其基本思想是沿着目标函数梯度的反方向(即函数下降最快的方向)更新参数,以逐步逼近函数的最小值点。梯度下降算法可以应用于各种类型的函数,但最常用于求解无约束优化问题。

(二)、基本概念

  1. 目标函数: 梯度下降的目标函数通常是损失函数,它衡量模型预测与实际值之间的差距。
  2. 梯度: 梯度是目标函数在某一点的导数或偏导数,表示函数在该点的斜率或方向导数,指向函数增长最快的方向。
  3. 学习率: 学习率(γ 或 η)是更新参数时的步长,控制着每次迭代中参数更新的幅度。
  4. 参数更新公式: 梯度下降更新参数的公式为,其中 xt​ 是当前参数,γ 是学习率,是目标函数在当前参数处的梯度。

(三)、训练过程

梯度下降算法的训练过程是机器学习和深度学习中至关重要的环节,其目标是通过迭代更新参数来最小化损失函数。下面是对训练过程的详细分解,包括不同的梯度下降变种以及它们的特点:

标准梯度下降 (Batch Gradient Descent)
  1. 初始化参数:选择初始参数值,通常是随机的。
  2. 计算梯度:在当前参数值下,计算整个训练集上的损失函数的梯度。
  3. 更新参数:使用计算出的梯度和预先设定的学习率更新参数。
  4. 重复步骤2和3:直到满足停止条件,如梯度足够小、达到最大迭代次数或参数变化低于某个阈值。

特点:保证在凸函数中收敛至全局最小值,但在大数据集上计算梯度非常耗时。

随机梯度下降 (Stochastic Gradient Descent, SGD)
  1. 初始化参数:同样选择初始参数值。
  2. 随机选取样本:每次迭代从训练集中随机选取一个样本。
  3. 计算梯度:仅基于该样本计算损失函数的梯度。
  4. 更新参数:使用该梯度和学习率更新参数。
  5. 重复步骤2至4:直到满足停止条件。

特点:更新速度快,但路径可能非常嘈杂,不一定会收敛到全局最小值,尤其在非凸函数中。然而,它经常在实践中达到足够好的解。

小批量梯度下降 (Mini-batch Gradient Descent)
  1. 初始化参数:初始化参数值。
  2. 划分数据集:将训练集分割成多个小批次。
  3. 计算梯度:对于每个批次,计算该批次上损失函数的平均梯度。
  4. 更新参数:使用计算出的梯度和学习率更新参数。
  5. 重复步骤3和4:直到遍历完所有批次,然后重复整个过程直到满足停止条件。

特点:结合了标准梯度下降和随机梯度下降的优点,既提高了计算效率,又保持了较稳定的收敛路径。

动量 (Momentum)

在标准梯度下降的基础上,引入动量项来加速收敛过程,减少在平坦区域的振荡。动量项基于过去几次迭代的梯度方向。

  1. 初始化参数和动量向量
  2. 计算梯度
  3. 更新动量向量:根据当前梯度和过去的动量向量更新。
  4. 更新参数:使用更新后的动量向量和学习率。
  5. 重复步骤2至4:直到满足停止条件。
自适应学习率方法
  • AdaGrad:根据每个参数的历史梯度平方和调整学习率,有利于稀疏数据。
  • RMSprop:修正了AdaGrad在训练后期学习率过小的问题,使用指数加权移动平均。
  • Adam:结合了Momentum和RMSprop的优点,使用了两组指数加权移动平均(一个是梯度,另一个是梯度的平方)。

这些方法能够自动调整学习率,提高训练效率并帮助模型更好地收敛。

(四)、特点

  • 简单易用: 梯度下降算法概念简单,易于理解和实现。
  • 收敛性: 在适当条件下,梯度下降可以收敛到局部最小值。
  • 对学习率敏感: 学习率的选择对算法的收敛速度和是否收敛有显著影响。
  • 可能陷入局部最小: 梯度下降可能无法跳出局部最小值,尤其是在非凸函数中。

(五)、适用场景

  • 线性回归: 用于拟合最佳直线或超平面。
  • 逻辑回归: 用于分类问题,特别是二分类问题。
  • 神经网络: 用于训练神经网络,包括深度学习模型。

(六)、扩展

梯度下降算法有多种变体,包括:

  1. Batch Gradient Descent: 使用所有训练数据计算梯度,精确但计算量大。
  2. Stochastic Gradient Descent (SGD): 每次仅使用一个样本计算梯度,更新频繁,但可能更不稳定。
  3. Mini-batch Gradient Descent: 折中方案,每次使用一小批样本计算梯度,结合了两者的优势。
  4. Momentum: 引入动量项以加速收敛,帮助算法更快地穿过平坦区域。
  5. Adaptive Learning Rate Methods: 如 AdaGrad、RMSprop 和 Adam,自适应调整学习率,以改善学习过程。

三、总结

梯度下降算法的训练过程涉及多个步骤,包括初始化参数、计算梯度、更新参数和判断停止条件。不同变种的梯度下降算法各有优势,选择哪种算法取决于特定问题的性质、数据集的大小以及计算资源的可用性。在实际应用中,通常需要通过实验来确定最佳的学习率和其它超参数。

四、相关书籍介绍

《Python机器学习算法》这本书是由赵志勇编写,由电子工业出版社出版的一本关于机器学习的入门书籍,出版时间为2017年7月。该书的特点是结合理论与实践,旨在帮助读者不仅理解机器学习算法的理论基础,而且能够动手实践,最终熟练掌握算法的应用。以下是本书的主要内容和适用读者群体的总结:

内容概览
本书分为六个主要部分:

基本概念:介绍监督学习、无监督学习和深度学习的基本概念。
分类算法:包括Logistic回归、Softmax Regression、Factorization Machine、支持向量机(SVM)、随机森林和BP神经网络等。
回归算法:涵盖线性回归、岭回归和CART树回归。
聚类算法:如K-Means、Mean Shift、DBSCAN和Label Propagation算法。
推荐算法:基于协同过滤、矩阵分解和基于图的推荐算法。
深度学习:介绍AutoEncoder和卷积神经网络(CNN)。
此外,本书还特别安排了一章来讲解算法在具体项目中的实践案例,以及附录部分介绍了Python语言、numpy库和TensorFlow框架的使用方法。

适用读者
这本书适合以下几类读者:

机器学习初学者:书中从算法原理出发,逐步深入,适合没有机器学习背景的读者入门。
具有一定项目经验的读者:书中不仅有理论介绍,还有大量实践代码,可以帮助已有一定经验的读者深化理解,提升技能。
对推荐系统、广告算法和深度学习感兴趣的读者:书中详细介绍了这些领域的实用算法,有助于读者在这些方向上进行深入研究。
总之,《Python机器学习算法》是一本全面介绍机器学习算法的书籍,它兼顾理论与实践,无论是对初学者还是有一定经验的读者,都能从中找到适合自己的内容。

书籍下载链接:

链接:https://pan.baidu.com/s/1ngX9yoC1HMZ2ORmHvSEtlA?pwd=0qbm 
提取码:0qbm 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值