超全总结,十大回归算法!!

开通VIP,畅享免费电子书等14项超值服

首页

好书

留言交流

下载APP

联系客服

2024.04.26陕西

大家好,咱们今天聊聊回归类算法~

今天的内容非常详细,大家可以先点赞收藏、慢慢学习!

回归类算法在机器学习中扮演着关键角色,通过分析输入变量与连续目标变量之间的关系,可预测未知数据的数值输出。它们广泛应用于预测、建模和优化问题中,例如房价预测、股票价格预测以及销售量预测等。其灵活性和广泛适用性使得回归算法成为实际问题中不可或缺的工具之一。

今天涉及到的算法有:

具体细节,一起来看看~

当谈到简单而又常用的回归算法时,线性回归是首选。它建立在一个简单而强大的假设上:自变量和因变量之间存在线性关系。

线性回归是一种用于建立自变量(特征)和因变量(目标)之间线性关系的统计模型。其基本形式是一个线性方程,可以用来预测连续型的因变量。在简单线性回归中,只有一个自变量,而在多元线性回归中,有多个自变量。

线性回归的核心思想是寻找最佳拟合直线(或超平面),使得预测值与实际值之间的残差(误差)最小化。这里的“最佳拟合”是通过最小化残差平方和来定义的,这种方法被称为最小二乘法。

给定一个简单线性回归模型:

其中:

我们的目标是通过拟合出最佳的和来最小化误差。

最小化残差平方和的核心公式是:

其中是实际观测值,是模型的预测值。

通过对对和求导并令导数等于0,可以得到最佳拟合的参数值。具体推导过程略。

代码中,首先构造了一些示例数据,然后使用Scikit-Learn的LinearRegression类来拟合数据,并打印出拟合的斜率和截距。最后,使用Matplotlib库绘制了原始数据和拟合的直线。

岭回归是一种线性回归的扩展,它通过引入L2范数的正则化项来解决普通线性回归中的过拟合问题。

岭回归是一种线性回归的改进算法,它通过在损失函数中添加一个正则化项来约束模型的复杂度。这个正则化项是L2范数(参数的平方和)的惩罚项,它可以防止模型过度拟合训练数据。

岭回归的核心思想是在普通线性回归的损失函数中加入一个惩罚项,使得模型的系数尽可能小,从而防止模型过拟合。这个惩罚项的大小由一个超参数控制,越大,正则化项的影响就越强,系数就越趋向于0。

我们的目标是最小化损失函数。

为了求解最优的,我们可以对损失函数进行求导,并令导数等于0,求解得到最优的参数。具体推导过程略。

Lasso回归是一种使用L1范数(参数绝对值的和)的正则化项来约束模型复杂度的线性回归方法。与岭回归不同,Lasso回归可以使得一些系数变为零,从而实现特征选择。

Lasso回归的核心思想是在普通线性回归的损失函数中加入一个L1范数的惩罚项,使得模型的系数尽可能小,并且有些系数会被压缩至零。这样可以有效地减少模型的复杂度,并提高模型的泛化能力。

给定一个Lasso回归模型:

使用Lasso类来拟合数据,并打印出拟合的系数。值得注意的是,为了更好地拟合数据,使用了多项式特征扩展。

弹性网络回归(ElasticNetRegression)是一种结合了岭回归(RidgeRegression)和Lasso回归(LassoRegression)的线性回归方法,它既有L1正则化项也有L2正则化项,能够克服它们各自的缺点。

弹性网络回归是一种线性回归的改进算法,它结合了L1和L2正则化项,同时具有Lasso回归和岭回归的优点。弹性网络回归在特征数量较多时可以稳健地处理共线性,并且可以实现特征选择。

弹性网络回归的核心思想是在损失函数中同时添加L1和L2正则化项,这样可以综合考虑两种正则化的优势,同时控制模型的复杂度和稀疏性。

给定一个弹性网络回归模型:$\min_\beta}\frac{1}{2n}|Y-X\beta||^2_2+\alpha\rho||\beta||_1+\frac{\alpha(1-\rho){2}||\beta||^2_2$

#导入必要的库importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.linear_modelimportElasticNetfromsklearn.preprocessingimportPolynomialFeatures#构造一些示例数据np.random.seed(0)X=np.sort(5*np.random.rand(40,1),axis=0)y=np.sin(X).ravel()y[::5]+=3*(0.5-np.random.rand(8))#创建弹性网络回归模型对象alpha=0.1#正则化参数l1_ratio=0.5#混合参数rhomodel=ElasticNet(alpha=alpha,l1_ratio=l1_ratio)#使用多项式特征扩展poly=PolynomialFeatures(degree=12,include_bias=False)X_poly=poly.fit_transform(X)#使用数据拟合模型model.fit(X_poly,y)#打印模型参数print('系数:',model.coef_)#绘制数据和拟合曲线plt.scatter(X,y,color='blue',label='Data')plt.plot(X,model.predict(X_poly),color='red',linewidth=2,label='ElasticNetRegression')plt.xlabel('X')plt.ylabel('y')plt.title('ElasticNetRegression')plt.legend()plt.show()后使用ElasticNet类来拟合数据,并打印出拟合的系数。

多项式回归(PolynomialRegression)是一种在线性回归的基础上,通过增加自变量的高次项来拟合非线性关系的方法。

多项式回归是一种简单而有效的非线性回归方法,它通过引入自变量的高次项来拟合数据中的非线性关系。通过将线性模型扩展到多项式空间,可以更灵活地适应复杂的数据模式。

多项式回归的核心思想是将原始的特征向量转换成包含多项式特征的新特征向量,然后使用线性模型对新特征向量进行拟合。这样,原本的线性回归模型就可以用来拟合非线性关系。

我们的目标是通过拟合出最佳的来最小化误差。

使用PolynomialFeatures类将特征扩展为二次多项式,并使用sklearn的LinearRegression类拟合数据。

决策树回归(DecisionTreeRegression)是一种基于树形结构的非参数回归方法,它通过将特征空间划分为多个矩形区域来逐步逼近数据的分布。

决策树回归是一种基于树形结构的回归方法,它通过在特征空间中划分出多个矩形区域来逼近数据的分布。每个叶子节点代表一个预测值,通过在特征空间中选择合适的划分来最小化预测值与真实值之间的误差。

决策树回归的核心思想是通过递归地将特征空间划分为多个矩形区域,并在每个区域内选择一个常数值作为预测值。划分的过程是通过选择最优的特征和切分点来最小化每个区域内样本的方差(或其他评价指标)。

给定一个决策树回归模型:

我们的目标是通过合适的划分来最小化每个区域内样本的方差,具体的划分方法和优化算法可以是不同的,如ID3、CART等。

#导入必要的库importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.treeimportDecisionTreeRegressor#构造一些示例数据np.random.seed(0)X=np.sort(5*np.random.rand(40,1),axis=0)y=np.sin(X).ravel()y[::5]+=3*(0.5-np.random.rand(8))#创建决策树回归模型对象model=DecisionTreeRegressor(max_depth=2)#限制树的最大深度,防止过拟合#使用数据拟合模型model.fit(X,y)#绘制数据和拟合曲线X_test=np.arange(0.0,5.0,0.01)[:,np.newaxis]y_pred=model.predict(X_test)plt.scatter(X,y,color='blue',label='Data')plt.plot(X_test,y_pred,color='red',linewidth=2,label='DecisionTreeRegression')plt.xlabel('X')plt.ylabel('y')plt.title('DecisionTreeRegression')plt.legend()plt.show()为了防止过拟合,限制了决策树的最大深度。

随机森林回归(RandomForestRegression)是一种基于集成学习的回归方法,它由多个决策树组成,通过对每个树的预测结果进行平均来得到最终的预测值。

随机森林回归是一种集成学习方法,它通过构建多个决策树来进行回归预测。每个决策树的预测结果通过投票或平均来得到最终的预测值。随机森林回归具有良好的鲁棒性和泛化能力,能够处理高维数据和大量特征。

随机森林回归的核心思想是通过构建多个决策树来减少模型的方差,从而提高预测的准确性。每个决策树是在随机选择的子样本和特征集上训练的,这样可以增加模型的多样性,降低模型的过拟合风险。

给定一个随机森林回归模型:

我们的目标是通过构建多个决策树来减少预测值的方差。

设置了10棵决策树来构建随机森林模型。

梯度提升回归(GradientBoostingRegression)是一种基于集成学习的回归方法,它通过逐步迭代地训练多个弱回归器(例如决策树),并将它们组合起来以获得更强大的模型。

梯度提升回归是一种集成学习方法,它通过逐步迭代地训练多个弱回归器,并将它们组合起来以获得更强大的模型。每个弱回归器在训练时都会根据前一个模型的残差进行调整,从而逐步减少残差,最终得到累加的预测值。

梯度提升回归的核心思想是利用梯度下降优化算法来训练模型。每个模型的训练都是在前一个模型的残差上进行的,通过拟合残差来逐步减小模型的预测误差。最终,所有模型的预测结果相加得到最终的预测值。

给定一个梯度提升回归模型:

我们的目标是通过训练多个弱回归器,并逐步减小模型的残差来得到最终的预测值。

#导入必要的库importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.ensembleimportGradientBoostingRegressor#构造一些示例数据np.random.seed(0)X=np.sort(5*np.random.rand(40,1),axis=0)y=np.sin(X).ravel()y[::5]+=3*(0.5-np.random.rand(8))#创建梯度提升回归模型对象model=GradientBoostingRegressor(n_estimators=100,learning_rate=0.1,random_state=0)#设置100棵决策树#使用数据拟合模型model.fit(X,y)#绘制数据和拟合曲线X_test=np.arange(0.0,5.0,0.01)[:,np.newaxis]y_pred=model.predict(X_test)plt.scatter(X,y,color='blue',label='Data')plt.plot(X_test,y_pred,color='red',linewidth=2,label='GradientBoostingRegression')plt.xlabel('X')plt.ylabel('y')plt.title('GradientBoostingRegression')plt.legend()plt.show()设置了100棵决策树来构建梯度提升回归模型,并且设置了学习率为0.1。

支持向量机回归(SupportVectorRegression,SVR)是一种基于支持向量机的回归方法,它通过在特征空间中找到一个最优的超平面来拟合数据。

支持向量机回归是一种基于支持向量机的回归方法,它通过在特征空间中找到一个最优的超平面来拟合数据。与传统的线性回归不同,支持向量机回归可以灵活地处理非线性关系,并且在高维空间中也能取得很好的效果。

支持向量机回归的核心思想是通过在特征空间中找到一个最优的超平面来拟合数据。这个超平面使得训练数据点到超平面的距离尽可能小,并且在满足一定的间隔约束下,最大化预测误差的上界。

给定一个支持向量机回归模型:

我们的目标是找到最优的和来最小化损失函数,并且满足约束条件。

使用径向基函数核(RBFkernel)来构建支持向量机回归模型,并且设置了惩罚参数和核参数。

最近邻回归(K-NearestNeighborsRegression,简称KNN回归)是一种基于实例的回归方法,它通过在训练集中找到与待预测样本最相似的K个邻居,并使用它们的平均值(或加权平均值)作为预测值。

最近邻回归是一种简单而有效的回归方法,它不需要假设数据的分布形式,并且可以灵活地适应各种数据模式。KNN回归的预测值是根据最近邻居的标签(或值)来确定的,因此它对于数据的局部特性表现得很好。

最近邻回归的核心思想是在训练集中找到与待预测样本最相似的K个邻居,并使用它们的平均值(或加权平均值)作为预测值。相似性通常通过距离度量来衡量,例如欧氏距离或曼哈顿距离。预测过程中,K个最近邻居的距离越近,权重越大。

给定一个最近邻回归模型:

我们的目标是找到最相似的K个邻居,并使用它们的平均值作为预测值。

THE END
1.机器学习回归算法—线性回归及案例分析生活中回归分析案例机器学习回归算法—线性回归及案例分析 回归是统计学中最有力的工具之一。机器学习监督学习算法分为分类算法和回归算法两种,其实就是根据类别标签分布类型为离散型、连续性而定义的。回归算法用于连续型分布预测,针对的是数值型的样本,使用回归,可以在给定输入的时候预测出一个数值,这是对分类方法的提升,因为这样可以https://blog.csdn.net/xun527/article/details/79680473
2.回归预测适用的机器学习算法mob64ca12e27f25的技术博客回归预测在各个领域都有广泛的应用,如金融市场预测、房价估算和健康数据分析。通过理解各种机器学习算法的工作原理,我们可以选择最适合特定任务的算法。本文将探讨几种适用于回归预测的机器学习算法,并附上代码示例,以帮助读者更好地理解。 1. 什么是回归预测? https://blog.51cto.com/u_16213373/11913782
3.回归分类与聚类:三大方向剖解机器学习算法的优缺点机器之心在本教程中,作者对现代机器学习算法进行一次简要的实战梳理。虽然类似的总结有很多,但是它们都没有真正解释清楚每个算法在实践中的好坏,而这正是本篇梳理希望完成的。因此本文力图基于实践中的经验,讨论每个算法的优缺点。而机器之心也在文末给出了这些算法的具体实现细节。 https://www.jiqizhixin.com/articles/2017-05-20-3
4.概述机器学习经典算法机器学习算法:监督学习、无监督学习、半监督学习、强化学习、线性回归等 机器学习算法 机器学习算法可以按照不同的标准来进行分类。比如按函数 f (x, θ)的不同,机器学习算法可以分为线性模型和非线性模型;按照学习准则的不同,机器学习算法也可以分为统计方法和非统计方法。 https://weibo.com/ttarticle/p/show?id=2309404598738399395890
5.轻松看懂机器学习十大常用算法(附实例)三、逻辑回归 四、SVM 五、朴素贝叶斯 六、K最近邻算法 七、K均值算法 八、Adaboost 算法 九、神经网络 十、马尔可夫 一、决策树 根据一些 feature 进行分类,每个节点提一个问题,通过判断,将数据分为两类,再继续提问。这些问题是根据已有数据学习出来的,再投入新数据的时候,就可以根据这棵树上的问题,将数据划分https://mse.xauat.edu.cn/info/1038/2182.htm
6.17个机器学习的常用算法!回归算法是试图采用对误差的衡量来探索变量之间的关系的一类算法。回归算法是统计机器学习的利器。在机器学习领域,人们说起回归,有时候是指一类问题,有时候是指一类算法,这一点常常会使初学者有所困惑。常见的回归算法包括:最小二乘法(Ordinary Least Square),逻辑回归(Logistic https://mp.weixin.qq.com/s?__biz=MjM5Mzc2NjczMQ==&mid=2651880511&idx=2&sn=37e28e94a318fe9deef328dede611b56&chksm=bd76d01b8a01590d7c99ce8de0f9ee3d7003306857c3b09ad1de6a0bc122cc5fbbc05f75ad32&scene=27
7.和我一起入门机器学习逻辑回归上一篇博客从数学原理和代码角度解释了线性回归,但是该模型只适合特征与预测值呈线性关系的回归场景,接下来我们将介绍逻辑回归,逻辑回归是一种用于二分类问题的机器学习算法。 数学原理 逻辑斯蒂回归(Logistic Regression)虽然名字中有回归,但模型最初是为了解决二分类问题。线性回归模型帮助我们用最简单的线性方程实现了对https://zhuanlan.zhihu.com/p/676723703
8.干货机器学习中的五种回归模型及其优缺点【导读】近日,机器学习工程师 George Seif 撰写了一篇探讨回归模型的不同方法以及其优缺点。回归是用于建模和分析变量之间关系的一种技术,常用来处理预测问题。博文介绍了常见的五种回归算法和各自的特点,其中不仅包括常见的线性回归和多项式回归,而且还介绍了能用于高维度和多重共线性的情况的Ridge回归、Lasso回归、Elashttps://cloud.tencent.com/developer/article/1086800
9.人工智能机器学习三大类之回归模型(RM)线性回归问题:可能会出现欠拟合、非满秩矩阵问题等。 解决方法:解决欠拟合问题,可采用局部加权线性回归LWLR(Locally Weighted Linear Regression)。解决非满秩矩阵问题,可使用岭回归RR(ridge regression)、Lasso法、前向逐步回归等。 算法优点: 1)最可解释的机器学习算法之一,理解与解释都十分直观; https://www.hqew.com/tech/fangan/2017384.html
10.《常用算法之智能计算(三)》:机器学习计算因为机器学习计算中涉及了大量的统计学理论,机器学习与统计推断的联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习计算关注可以实现的、行之有效的学习算法,很多推论问题具有无程序可循的难度,所以部分的机器学习研究是开发简单、处理容易的近似算法。http://www.kepu.net/blog/zhangjianzhong/201903/t20190327_475625.html
11.机器学习之回归与聚类算法理解: α为学习速率,也可以称为步长,需要手动指定, image 为方向,沿着这个函数下降的方向找,最后就能找到最低点,然后更新W值 image 沿着切线向下的方向,一步步的计算出权重使得损失值最小。 如何在sklearn中使用线性回归算法? API:sklearn.linear_model.LinearRegression(fit_intercept=True) https://www.jianshu.com/p/c009e681c4e0
12.基于机器学习的气温要素空间插值本文选择支持向量机、 高斯过程回归和随机森林这三种被广泛使用的机器学习算法对气温数据进行逐像元插值, 为了测试机器学习方法的性能, 本文将机器学习算法的插值结果与传统的插值方法(反距离权重法, 普通克里金方法和ANUSPLIN插值)进行精度的对比。 2.2.1反距离权重法 http://www.gyqx.ac.cn/CN/abstract/abstract4337.shtml
13.什么是ML.NET以及它如何工作?所有算法在执行预测后还会创建新列。 这些新列的固定名称取决于机器学习算法的类型。 对于回归任务,其中一个新列称为“分数”,如价格属性属性中所示。 C# publicclassPrediction{ [ColumnName("Score")]publicfloatPrice {get;set; } } 可以在机器学习任务指南中找到有关不同机器学习任务的输出列的详细信息。 https://docs.microsoft.com/zh-cn/dotnet/machine-learning/resources/basics
14.机器学习中的回归算法(上)在机器学习中有很多的算法,我们在之前给大家介绍了支持向量机算法,支持向量机算法是一个十分经典的算法,因此也备受大家喜欢。下面我们在这篇文章中给大家介绍一下回归算法,希望这篇文章能够帮助我们更好地理解机器学习的知识。 机器学习中有很多的方法,在大部分机器学习课程中,回归算法都是介绍的第一个算法。其中的原https://www.cda.cn/view/26882.html