系列文章目录
第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression)
第四章【机器学习】【监督学习】- K-近邻算法 (K-NN)
第五章【机器学习】【监督学习】- 决策树 (Decision Trees)
第六章【机器学习】【监督学习】- 梯度提升机 (Gradient Boosting Machine, GBM)
第七章 【机器学习】【监督学习】-神经网络 (Neural Networks)
第十一章【机器学习】【监督学习】-局部加权线性回归 (Locally Weighted Linear Regression, LWLR)
第十二章【机器学习】【监督学习】- 岭回归 (Ridge Regression)
十三、【机器学习】【监督学习】- Lasso回归 (Least Absolute Shrinkage and Selection Operator)
十四、【机器学习】【监督学习】- 弹性网回归 (Elastic Net Regression)
十七、【机器学习】【非监督学习】- K-均值 (K-Means)
十八、【机器学习】【非监督学习】- DBSCAN (Density-Based Spatial Clustering of Applications with Noise)十九、【机器学习】【非监督学习】- 层次聚类 (Hierarchical Clustering)二十、【机器学习】【非监督学习】- 均值漂移 (Mean Shift)
二十一、【机器学习】【非监督学习】- 谱聚类 (Spectral Clustering)
目录
二、 梯度下降算法(Gradient Descent Algorithms)
标准梯度下降 (Batch Gradient Descent)
随机梯度下降 (Stochastic Gradient Descent, SGD)
一、基本定义
(一)、监督学习
监督学习(Supervised Learning)是机器学习中的一种主要方法,其核心思想是通过已知的输入-输出对(即带有标签的数据集)来训练模型,从而使模型能够泛化到未见的新数据上,做出正确的预测或分类。在监督学习过程中,算法“学习”的依据是这些已标记的例子,目标是找到输入特征与预期输出之间的映射关系。
(二)、监督学习的基本流程
数据收集:获取包含输入特征和对应正确输出标签的训练数据集。
数据预处理:清洗数据,处理缺失值,特征选择与转换,标准化或归一化数据等,以便于模型学习。
模型选择:选择合适的算法,如决策树、支持向量机、神经网络等。
训练:使用训练数据集调整模型参数,最小化预测输出与实际标签之间的差距(损失函数)。
验证与调优:使用验证集评估模型性能,调整超参数以优化模型。
测试:最后使用独立的测试集评估模型的泛化能力,确保模型不仅在训练数据上表现良好,也能在未见过的新数据上做出准确预测。
(三)、监督学习分类算法(Classification)
定义:分类任务的目标是学习一个模型,该模型能够将输入数据分配到预定义的几个类别中的一个。这是一个监督学习问题,需要有一组已经标记好类别的训练数据,模型会根据这些数据学习如何区分不同类别。
例子:垃圾邮件检测(垃圾邮件 vs. 非垃圾邮件)、图像识别(猫 vs. 狗)。
二、 梯度下降算法(Gradient Descent Algorithms)
(一)、定义
Gradient Descent(梯度下降)算法是一种迭代优化算法,用于求解最小化问题,特别是在机器学习和深度学习领域中寻找损失函数的最小值。其基本思想是沿着目标函数梯度的反方向(即函数下降最快的方向)更新参数,以逐步逼近函数的最小值点。梯度下降算法可以应用于各种类型的函数,但最常用于求解无约束优化问题。
(二)、基本概念
- 目标函数: 梯度下降的目标函数通常是损失函数,它衡量模型预测与实际值之间的差距。
- 梯度: 梯度是目标函数在某一点的导数或偏导数,表示函数在该点的斜率或方向导数,指向函数增长最快的方向。
- 学习率: 学习率(γ 或 η)是更新参数时的步长,控制着每次迭代中参数更新的幅度。
- 参数更新公式: 梯度下降更新参数的公式为 ,其中 xt 是当前参数,γ 是学习率,∇f(xt) 是目标函数在当前参数处的梯度。
(三)训练过程
梯度下降算法的训练过程是机器学习和深度学习中至关重要的环节,其目标是通过迭代更新参数来最小化损失函数。下面是对训练过程的详细分解,包括不同的梯度下降变种以及它们的特点:
标准梯度下降 (Batch Gradient Descent)
- 初始化参数:选择初始参数值,通常是随机的。
- 计算梯度:在当前参数值下,计算整个训练集上的损失函数的梯度。
- 更新参数:使用计算出的梯度和预先设定的学习率更新参数。
- 重复步骤2和3:直到满足停止条件,如梯度足够小、达到最大迭代次数或参数变化低于某个阈值。
特点:保证在凸函数中收敛至全局最小值,但在大数据集上计算梯度非常耗时。
随机梯度下降 (Stochastic Gradient Descent, SGD)
- 初始化参数:同样选择初始参数值。
- 随机选取样本:每次迭代从训练集中随机选取一个样本。
- 计算梯度:仅基于该样本计算损失函数的梯度。
- 更新参数:使用该梯度和学习率更新参数。
- 重复步骤2至4:直到满足停止条件。
(四)、特点
- 简单易用: 梯度下降算法概念简单,易于理解和实现。
- 收敛性: 在适当条件下,梯度下降可以收敛到局部最小值。
- 对学习率敏感: 学习率的选择对算法的收敛速度和是否收敛有显著影响。
- 可能陷入局部最小: 梯度下降可能无法跳出局部最小值,尤其是在非凸函数中。
(五)、适用场景
- 线性回归: 用于拟合最佳直线或超平面。
- 逻辑回归: 用于分类问题,特别是二分类问题。
- 神经网络: 用于训练神经网络,包括深度学习模型。
(六)、扩展
梯度下降算法有多种变体,包括:
- Batch Gradient Descent: 使用所有训练数据计算梯度,精确但计算量大。
- Stochastic Gradient Descent (SGD): 每次仅使用一个样本计算梯度,更新频繁,但可能更不稳定。
- Mini-batch Gradient Descent: 折中方案,每次使用一小批样本计算梯度,结合了两者的优势。
- Momentum: 引入动量项以加速收敛,帮助算法更快地穿过平坦区域。
- Adaptive Learning Rate Methods: 如 AdaGrad、RMSprop 和 Adam,自适应调整学习率,以改善学习过程。
三、总结
梯度下降及其变体是机器学习和深度学习中不可或缺的优化算法,广泛应用于参数优化和模型训练。
标签:机器,Descent,Gradient,梯度,监督,学习,算法,Algorithms From: https://blog.csdn.net/xgq8217/article/details/141252077四、相关书籍介绍
《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