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

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

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

今天涉及到的算法有:

具体细节,一起来看看~

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

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

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

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

其中:

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

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

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

通过对对和求导并令导数等于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.www.stats.gov.cn/zsk/snapshoot?reference=d466cfa12a8d807d0知识库 知识分类:|知识来源: |发布日期:https://www.stats.gov.cn/zsk/snapshoot?reference=d466cfa12a8d807d0c267a76a75d1e42_BF0DA741DD9357F095D4CF7C9AB890EE
2.这才是科研人该学的!一口气学完线性回归多项式回归决策树等【多项式回归】多项式升维代码实战_训练模型和评估 11:23 【多项式回归】实战保险花销预测_数据介绍和加载数据 14:45 【多项式回归】实战保险花销预测_数据预处理 18:33 【多项式回归】实战保险花销预测_模型训练和评估_选择非线性算法改进 25:31 【多项式回归】实战保险花销预测_特征选择思路 https://www.bilibili.com/list/ml2060661446
3.逻辑回归模型逻辑回归的损失函数,我们期待所有样本评估正确的概率最大化,将损失函数设计成带负号即可 又由于损失函数中有大量的乘号,为计算方便,再套一个对数,最后损失函数如下: 5.逻辑回归-模型求解 现在需要求解逻辑回归模型里的参数W,使得损失函数最小, 也就是令预测概率准确性最大化求解方法可以使用梯度下降算法 求解逻辑回https://zhuanlan.zhihu.com/p/676546522
4.神经网络回归模型有哪些神经网络是回归算法吗Logistic Regression(逻辑回归) Decision Trees(决策树) Random Forests(随机森林) Neural Networks(人工神经网络 NNs)——深度学习算法 人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型https://blog.51cto.com/u_16099346/7922482
5.数据挖掘的常见算法有哪些?关联规则算法关联规则算法是一种用于发现数据集中的频繁项集(即出现频率高的数据项集合)的算法。该算法可以帮助识别不同商品之间的关系,以及购物篮分析等应用领域。Apriori和FP-Growth是两种常见的关联规则算法。 4.回归算法 回归算法是一种用于建立输入和输出之间关系的算法。它们通常用于预测连续值,如房价、股票价格等https://www.cda.cn/bigdata/202782.html
6.最全整理万字长文综述目标检测领域,您要的,都在这里!在这方面,主要有两种主流的算法: 一类是结合regionproposal、CNN网络的,基于分类的R-CNN 系列目标检测框架(two stage); 另一类则是将目标检测转换为回归问题的算法(single stage)。 03 PART 传统的目标检测算法 传统的目标检测算法大致可以分为目标实例检测与传统目标类别检测两类: https://cloud.tencent.com/developer/article/1640419
7.机器学习之常用算法总结在此学习方式下,输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构以便合理的组织数据来进行预测。应用场景包括分类和回归,算法包括一些对常用监督式学习算法的延伸,这些算法首先试图对未标识数据进行建模,在此基础上再对标识的数据进行预测。如图论推理算法(Graph Inferehttps://m.blog.csdn.net/dahuacai/article/details/50493686
8.轻松看懂机器学习十大常用算法西南石油大学通过本篇文章大家可以对ML的常用算法形成常识性的认识。没有代码,没有复杂的理论推导,仅是图解,介绍这些算法是什么以及如何应用(例子主要是分类问题)。以后有机会再对单个算法做深入地解析。 一、决策树 二、随机森林算法 三、逻辑回归 四、SVM 五、朴素贝叶斯 https://www.swpu.edu.cn/eelab/info/1090/2296.htm
9.回归分类与聚类:三大方向剖解机器学习算法的优缺点机器之心分类方法是一种对离散型随机变量建模或预测的监督学习算法。使用案例包括邮件过滤、金融欺诈和预测雇员异动等输出为类别的任务。 许多回归算法都有与其相对应的分类算法,分类算法通常适用于预测一个类别(或类别的概率)而不是连续的数值。 2.1 Logistic 回归(正则化) https://www.jiqizhixin.com/articles/2017-05-20-3
10.BAT机器学习面试1000题系列(二)176.常见的分类算法有哪些? SVM、神经网络、随机森林、逻辑回归、KNN、贝叶斯 177.常见的监督学习算法有哪些? 感知机、SVM、人工神经网络、决策树、逻辑回归 178.在其他条件不变的前提下,以下哪种做法容易引起机器学习中的过拟合问题(D) A. 增加训练集量 https://www.jianshu.com/p/4a7f7127eef1