分类
- 目标变量:分类任务中的目标变量是离散的,也就是说,它将输入数据映射到预定义的类别或标签中。这些类别通常是有限的且不连续的。
- 应用场景:邮件是否为垃圾邮件、图像中是否含有特定物体、患者是否患有某种疾病等。
- 常用算法:
- 决策树(如CART, ID3, C4.5)
- 支持向量机(SVM)
- 逻辑回归
- K最近邻(KNN)
- 随机森林
- 梯度提升决策树(如XGBoost, LightGBM, CatBoost)
- 神经网络
回归
- 目标变量:回归任务中的目标变量是连续的数值。模型的目的是预测出一个具体的数值。
- 应用场景:房价预测、股票价格预测、温度预测等。
- 常用算法:
- 线性回归
- 多项式回归
- 决策树回归
- 支持向量回归(SVR)
- 随机森林回归
- 梯度提升决策树回归(如XGBoost, LightGBM)
- 神经网络
主要区别
- 输出类型:分类是预测离散标签,而回归是预测连续数值。
- 评估标准:分类任务通常使用准确率、精确度、召回率、F1分数等指标进行评估;回归任务则常用均方误差(MSE)、均方根误差(RMSE)、平均绝对误差(MAE)等指标。
- 决策边界:分类任务通常涉及到找到决策边界来区分不同的类别;回归任务则是找到一个最佳拟合线或曲面来预测连续值。
主要联系
- 监督学习:无论是分类还是回归,它们都属于监督学习范畴,这意味着它们都使用已标注的训练数据来学习输入和输出之间的映射关系。
- 模型构建与预测:分类和回归都涉及到使用训练数据构建模型,并使用这些模型来对新的、未见过的数据进行预测。
- 损失函数:两者都通过最小化损失函数来训练模型。虽然使用的具体损失函数可能不同(如分类通常使用交叉熵损失,回归通常使用均方误差损失),但最小化损失函数的基本思想是一致的。
从回归到分类的转变
- 在某些情况下,可以通过引入阈值将回归问题转化为分类问题。例如,在一个二元分类问题中,模型的输出可以是一个连续的概率值,当这个概率值超过某个阈值时,可以将其视为一个类别,否则视为另一个类别。
从分类到回归的转变
- 在某些情况下,分类问题也可以转换为回归问题,特别是当类别之间存在天然顺序(有序分类)时。通过预测一个连续的数值并将其映射到最接近的类别,可以处理这类问题。
总的来说,虽然分类和回归处理的是不同类型的问题,但它们在许多方面是相似的,使用相似的方法,很多算法和技术可以在这两种任务之间转换和重用。
既可分类又可回归的算法
支持向量机
KNN(K-最近邻)
B站讲解
KNN算法详解及实现
史上最全面K近邻算法/KNN算法详解+python实现
由距离待决策样本最近的k个元素投票决定样本类别
总结:
- 有监督学习
- 用于分类和回归任务
- 物体类别由旁边最近的K个样本决定
决策树和随机森林
梯度提升决策树 (Gradient Boosted Decision Trees, GBDT)
梯度提升决策树(Gradient Boosted Decision Trees,GBDT)是一种强大的机器学习算法,用于回归和分类问题,属于集成学习方法的一种。它通过结合多个简单的模型(通常是决策树)来构建一个复杂的模型,以此来提高预测的准确性。GBDT 的核心思想是逐步添加模型(通常是决策树),每次添加的模型都试图纠正前面所有模型的预测残差。
工作原理:
-
初始化: GBDT 首先使用一个基本模型(通常是一个常数值)来进行初始化,作为第一个基学习器,对所有数据做一个初步预测。
-
迭代添加决策树:
- 在每一轮迭代中,GBDT 都会添加一个新的决策树来对之前所有树的预测残差进行拟合。
- 新添加的树试图补偿或改正之前所有树的总体预测中的错误。
-
梯度下降:
- “梯度提升”中的“梯度”指的是损失函数的梯度,GBDT 通过计算损失函数关于模型预测的梯度来确定残差的方向。
- 新树的目标是减少残差,这类似于梯度下降法中参数更新的过程。
-
学习率:
- GBDT 引入了一个学习率(也称作缩减系数)来控制每棵树对最终模型的贡献程度,以避免过拟合。
- 学习率较小意味着需要更多的树来构建模型,但模型的泛化能力通常更好。
-
停止准则:
- GBDT 的训练会在达到指定的树的数量、达到一定的误差改善阈值或满足其他停止条件时结束。
特点:
- 准确性高:通过逐步减少残差,GBDT 能够构建非常精确的预测模型。
- 灵活性:可以用于分类、回归甚至排序任务,并且能处理各种类型的数据。
- 可解释性:虽然不如单一决策树,但相比于很多其他复杂模型,GBDT 的结果更容易理解。
应用场景:
- GBDT 在许多领域都有应用,包括但不限于搜索引擎(如排名算法)、生态模型、金融风险管理等。
流行的GBDT实现:
- XGBoost: 扩展梯度提升,优化了速度和效率,增加了正则化项以控制模型的复杂度,从而避免过拟合。
- LightGBM: 微软开发的框架,优化了大规模数据的处理,通过梯度单边采样(GOSS)和互斥特征捆绑(EFB)技术提高了效率和速度。
- CatBoost: Yandex 开发,特别优化了类别特征的处理,提供了更好的准确性和训练速度。
GBDT 由于其高效性和灵活性,在工业界和各种数据科学竞赛中非常受欢迎。
高斯过程 Gaussian Processes(GP)
如何通俗易懂地介绍 Gaussian Process?
随机过程
在机器学习和深度学习领域,随机过程的概念和方法学被广泛应用于算法的开发和数据分析中,主要应用包括但不限于以下几个方面:
-
随机优化方法:在机器学习模型的训练过程中,随机梯度下降(SGD)及其变体是非常流行的优化算法。这些算法利用随机性来有效地搜索参数空间,以找到使损失函数最小化的参数。随机性有助于算法跳出局部最小值,更可能找到全局最小值或较好的局部最小值。
-
贝叶斯方法:贝叶斯方法在机器学习中用于推理和决策,它们本质上依赖于随机过程的概念。例如,高斯过程是一种用于回归和分类任务的贝叶斯非参数方法,它可以提供关于预测的不确定性的信息。
-
序列模型:在自然语言处理(NLP)、语音识别、时间序列分析和其他序列数据处理领域,随机过程模型如隐马尔可夫模型(HMMs)和循环神经网络(RNNs)及其变体(如长短期记忆网络LSTM和门控循环单元GRU)被用来捕捉序列数据中的时间依赖性。
-
增强学习:在增强学习中,马尔可夫决策过程(MDPs)提供了一个框架,用于建模决策制定者(智能体)与环境之间的交互。每个决策或行动都会导致状态的变化和一定的奖励,智能体的目标是通过学习最佳策略来最大化其获得的总奖励。
-
随机网络:在深度学习中,一些网络结构引入了随机性以增强模型的泛化能力和鲁棒性。例如,Dropout技术通过在训练过程中随机忽略神经网络中的一部分神经元,来防止模型的过拟合。
-
生成模型:在生成对抗网络(GANs)和变分自编码器(VAEs)等生成模型中,随机性被用来生成新的、与训练数据相似的数据实例。这些模型在图像生成、文本到图像的转换和其他生成任务中表现出色。
这些应用显示了随机过程在现代机器学习和深度学习算法设计和数据分析中的广泛影响。随机性不仅增加了模型的灵活性,还有助于提高算法的效率和鲁棒性。
高斯过程(Gaussian Process, GP)是一种非参数贝叶斯模型,广泛应用于机器学习中的回归、分类和其他任务。在高斯过程中,对于给定的数据集,模型假设数据可以由一个具有连续输入空间的随机过程生成,且该过程的任意有限集合的联合分布都是高斯分布的。换句话说,高斯过程提供了一种优雅的方法来描述函数的分布,使我们能够在数据点之间进行平滑插值,预测新的数据点,并量化预测的不确定性。
核心概念
- 非参数方法:尽管称为“非参数”,这并不意味着高斯过程中没有参数。相反,这意味着它们不依赖于固定维数的参数向量,模型复杂度可以随着数据量的增加而增加。
- 随机过程:高斯过程是一种随机过程,其中每个点 x 都被映射到一个随机变量 f(x) ,而这些随机变量的任意有限集合的联合分布都是高斯的。
- 均值函数和协方差函数:高斯过程由均值函数和协方差函数完全定义。均值函数定义了过程的平均水平,通常可以设置为零或其他简单形式。协方差函数(或核函数)定义了任意两点间的协方差,从而编码了函数值之间的相似性或平滑度。
高斯过程回归(GPR)
在高斯过程回归(Gaussian Process Regression, GPR)中,目标是根据一组观测数据来预测新数据点的值。GPR的强大之处在于其能够提供预测的不确定性估计,这对于许多应用(如优化和控制)来说是非常宝贵的。
- 先验分布:在观察到任何数据之前,假设函数遵循一个高斯过程先验分布,具有特定的均值和协方差函数。
- 后验分布:给定观测数据,使用贝叶斯规则更新对函数的信念,从而得到后验分布。后验分布考虑了观测数据,可以用来进行预测。
- 预测和不确定性:在新的输入点,后验分布提供了对应函数值的最佳估计以及估计的不确定性(通常表现为置信区间)。
优缺点
- 优点:能够提供预测的不确定性度量;适应性强,可以通过选择合适的协方差函数来捕捉复杂的数据模式;非参数特性使得模型复杂度可以随数据量自动调整。
- 缺点:对于大数据集,计算成本可能非常高,因为需要对协方差矩阵进行求逆或其他线性代数操作,这些操作的计算复杂度通常是数据点数目的三次方。此外,选择和调整协方差函数的形式可能比较困难,需要专业知识和经验。
常用于分类的算法
Logistic回归(逻辑回归)
【五分钟机器学习】机器分类的基石:逻辑回归Logistic Regression
线性回归输出一个连续值,适用于预测问题,如房价;逻辑回归输出一个概率值,适用于分类问题。
逻辑回归使用 Sigmoid 函数,将线性回归的输出映射为 0 到 1 之间的概率。Sigmoid 函数也叫做 Logistic 函数,所以叫 Logistic 回归;
逻辑回归用的是交叉熵函数,来判断模型的优劣;
朴素贝叶斯
朴素:每个特征相互独立
带你理解朴素贝叶斯分类算法
半监督学习
介于监督学习和无监督学习之间,算法利用大量的未标记数据和少量的标记数据来进行模型训练。这种方法在实际应用中非常有用,因为在许多情况下,获取未标记的数据相对容易和成本较低,而获取大量准确的标记数据则更加困难和昂贵。
核心思想
半监督学习的核心思想是利用未标记数据的分布信息来辅助标记数据的学习过程,以此提高学习的准确性和效率。它基于这样一个假设:相似的数据点可能具有相同的输出标签。
常见方法
半监督学习包括多种不同的方法,其中一些主要方法包括:
-
自训练(Self-training):首先使用少量的标记数据训练一个监督模型,然后用这个模型对未标记数据进行预测,将预测结果中置信度高的作为新的标记数据加入训练集,反复迭代这个过程。
-
生成模型(Generative Models):使用未标记数据学习数据的生成分布,然后利用这个分布来辅助监督学习任务。
-
协同训练(Co-training):当数据有多个独立的视图(feature sets)时,可以分别在每个视图上训练一个分类器,然后让这些分类器在未标记数据上互相教学。
-
图基方法(Graph-based Methods):构建一个图,其中节点代表标记和未标记的数据点,边反映数据点之间的相似性。然后使用图中的信息来推断未标记点的标签。
-
半监督支持向量机(Semi-supervised SVM):这是支持向量机的一种变体,它利用未标记数据来寻找决策边界,使得边界尽可能地远离所有数据点,包括未标记和标记的数据点。
应用场景
半监督学习在实际应用中非常有价值,特别是在以下情况:
- 标记数据稀缺或获取成本高昂,而未标记数据丰富且易于获取。
- 完全监督学习由于标记数据不足而表现不佳。
- 需要提高学习算法的泛化能力。
优缺点
优点:
- 能够利用丰富的未标记数据,减少对标记数据的依赖。
- 通常比纯监督学习方法具有更好的泛化能力。
缺点:
- 半监督学习的有效性依赖于未标记数据的质量和与标记数据的关联性。
- 不当的使用可能导致模型偏差,特别是当未标记数据的分布与标记数据不一致时。
常用于回归的算法
线性回归——最小二乘法
一文让你彻底搞懂最小二乘法(超详细推导)
解决线性回归的常用方法,拟合函数时,让整体数据误差的平方和最小(损失函数),损失函数求导令其等于0就可以解出参数 θ
多项式回归:用基函数扩展线性模型
岭回归
详解岭回归与L2正则化
当样本数据矩阵不可逆时,即数据中存在特征冗余,某些特征可以根据其它特征的线性组合来得到,或者,矩阵为病态矩阵,即求解方程组时对数据的微小扰动比较敏感的矩阵,这两种情况时,最小二乘法无法使用或效果不好,使用岭回归。
岭回归即对应着在最小二乘法基础上增加了一个L2正则化,求导导数=0即可解出参数 θ
贝叶斯回归
贝叶斯回归是一种统计方法,它在回归分析的基础上应用了贝叶斯定理,允许我们在预测中考虑参数的不确定性。与传统的回归方法(如线性回归)不同,贝叶斯回归不仅给出了预测值,还提供了预测的不确定性估计,这在很多需要进行风险评估的应用中非常有用。
在贝叶斯回归中,我们不再寻找一组固定的最优参数值来拟合数据,而是考虑参数的概率分布。这种方法的基本步骤如下:
-
先验分布:首先,我们需要对模型参数设置一个先验分布,这反映了我们在观察数据之前对参数的信念。先验可以是无信息的(即不偏向任何特定值的宽泛分布),也可以是有信息的(基于先前研究或专家知识的分布)。
-
似然函数:似然函数描述了给定模型参数时数据出现的概率。在回归分析中,这通常涉及到假设数据中的误差项遵循某种分布,例如正态分布。
-
后验分布:应用贝叶斯定理结合先验分布和似然函数来计算参数的后验分布。后验分布反映了在考虑了观测数据之后对参数的信念更新。
-
预测:使用后验分布,我们可以对新的数据点进行预测,并为这些预测提供置信区间或预测区间,从而量化预测的不确定性。
贝叶斯回归的优点
- 不确定性量化:贝叶斯回归自然地提供了对预测不确定性的量化,这对于风险管理和决策制定非常重要。
- 先验知识的整合:贝叶斯方法允许我们在分析中显式地使用先前的知识或专家意见,这在数据稀缺的情况下特别有用。
- 灵活性:贝叶斯方法可以扩展到复杂的模型,包括非线性模型、层次模型等,且可以较好地处理过拟合问题。
贝叶斯回归的挑战
- 计算成本:贝叶斯分析通常比传统方法更为计算密集,尤其是在后验分布难以解析求解时,可能需要采用数值方法(如马尔可夫链蒙特卡罗方法)。
- 先验的选择:先验分布的选择可能对分析结果有较大影响,选择不当的先验可能会导致误导性的结果。
- 模型和算法的复杂性:实现贝叶斯回归和解释结果可能比传统的回归方法更加复杂。
尽管存在挑战,贝叶斯回归因其提供预测不确定性的能力以及先验知识整合的优点,在统计分析和机器学习领域中得到了广泛应用。