机器学习基石线性回归(代码片段)

桃陉 桃陉     2022-12-22     720

关键词:


写在前面

本节主要介绍了线性回归原理以及它的可行性,最后与前面学过的线性分类进行了对比分析。


1. 线性回归问题

∙ \\bullet 引入:我们假设现在有些用户已经申请到了信用卡,但是银行决定给他们发放多少钱。此时返回的结果就是一个实数区间

∙ \\bullet 实现

▹ \\triangleright 现在我们有用户的信息,包括以下内容:年龄、年收入、工作年龄、当前负债。

▹ \\triangleright 我们还是像(二)中感知机模型提到的一样,为每一个维度分配一个权重,然后求得总和,最后在减去一个偏差(阈值)。为了优化,把这个偏差放到了第0维度。(具体实现看机器学习基石二中第一块内容)

所以当有d个维度时,自变量 x = ( x 0 , x 1 , . . . x d ) x=(x_0,x_1,...x_d) x=(x0,x1,...xd),返回值 y ≈ ∑ i = 0 d w i x i y≈\\sum_i=0^dw_ix_i yi=0dwixi
线性回归假设: h ( x ) = w T x h(x)=w^Tx h(x)=wTx

(它很像感知机模型,但是感知机模型最终求的是符号)

▹ \\triangleright x x x 只有一个维度或者两个维度时,做出来的直线如下:

对于一维、二维的 x x x 来说,线性回归最终要找到的就是误差最小的直线以及平面。每个点到直线或者平面的竖直距离就是该点的误差。

▹ \\triangleright 计算误差的方法:最小二乘法。我们求解误差的平方和对应的权重,对于单点来说就是:
e r r ( y ^ , y ) = ( y ^ − y ) 2 err(\\haty,y )=(\\haty-y)^2 err(y^,y)=(y^y)2
对于样本数据来说,计算方法为(选择对应误差最小的一组权重值):
E i n ( w ) = 1 N ∑ n = 1 N ( w T x n − y n ) 2 E_in(w)=\\frac1N \\sum_n=1^N(w^Tx_n-y_n)^2 Ein(w)=N1n=1N(wTxnyn)2
对于整体数据来说,计算方法为(整体数据对应的误差结果):
E o u t ( w ) = ε ( x , y ) ∼ P ( w T x − y ) 2 E_out(w)= \\underset(x,y)\\sim P\\varepsilon (w^Tx-y)^2 Eout(w)=(x,y)Pε(wTxy)2

我们接下来需要实现的就是如何找到较小的 E i n ( w ) E_in(w) Ein(w)


2. 求解最小的 E i n ( w ) E_in(w) Ein(w) 对应的 w w w

∙ \\bullet 上面我们已经得到了 E i n ( w ) E_in(w) Ein(w) 的计算方法,接着我们对其进行转换:
E i n ( w ) = 1 N ∑ n = 1 N ( w T x n − y n ) 2 = 1 N ∑ n = 1 N ( x n T w − y n ) 2 = 1 N ∥ x 1 T w − y 1 x 2 T w − y 2 . . . x n T w − y n ∥ 2 = 1 N ∥ [ − x 1 T − − x 2 T − − . . . − − x N T − ] w − [ y 1 y 2 . . . y N ] ∥ 2 = 1 N ∥ X ⏟ N × d + 1 w ⏟ d + 1 × 1 − y ⏟ N × 1 ∥ \\beginmatrix E_in(w)&= &\\frac1N \\sum_n=1^N(w^Tx_n-y_n)^2= &\\frac1N \\sum_n=1^N(x_n^Tw-y_n)^2 \\\\ & = & \\frac1N\\beginVmatrix x_1^Tw-y_1 \\\\ x_2^Tw-y_2\\\\ ...\\\\ x_n^Tw-y_n \\endVmatrix^2 & \\\\ & = &\\frac1N\\beginVmatrix \\beginbmatrix -& x_1^T & -\\\\ -& x_2^T & - \\\\ -& ... & -\\\\ -& x_N^T & - \\endbmatrixw-\\beginbmatrix y_1\\\\ y_2 \\\\ ...\\\\ y_N \\endbmatrix \\endVmatrix^2 & \\\\ & = & \\frac1N\\left \\| \\undersetN×d+1\\underbraceX \\undersetd+1×1\\underbracew -\\undersetN×1\\underbracey \\right \\| & \\endmatrix Ein(w)====N1n=1N(wTxnyn)2=N1x1Twy1x2Twy2...x查看详情

《机器学习基石》---linearmodelsforclassification

1用回归来做分类到目前为止,我们学习了线性分类,线性回归,逻辑回归这三种模型。以下是它们的pointwise损失函数对比(为了更容易对比,都把它们写作s和y的函数,s是wTx,表示线性打分的分数):把这几个损失函数画在一... 查看详情

机器学习线性回归(回炉重造)(代码片段)

机器学习---线性回归1.简单线性回归2.多元线性回归3.线性回归的正规方程解4.衡量线性回归的性能指标MSERMSEMAER-Squared5.scikit-learn线性回归实践-波斯顿房价预测LinearRegression线性回归是属于机器学习里面的监督学习,与分类问题... 查看详情

机器学习_线性回归(代码片段)

线性回归 人工智能是机器学习的父类;机器学习是深度学习的父类 1.怎么做线性回归?2.理解回归--最大似然函数3.应用正态分布概率密度函数--对数总似然4.推导出损失函数--推导出解析解       &... 查看详情

线性回归模型|机器学习(代码片段)

目录1.线性回归模型1.1一元线性回归模型1.2多元线性回归模型1.3损失函数2.相关代码2.1LinearRegression类2.2求解代码2.3绘图代码1.线性回归模型1.1一元线性回归模型简单的讲,一元线性模型就是指只有一个特征量,然后对应带... 查看详情

机器学习一般线性回归(代码片段)

...归"模型。 0.概述线性回归应该是我们听过次数最多的机器学习算法了。在一般的统计学教科书中,最后都会提到这种方法。因此该算法也算是架起了数理统计与机器学习之间的桥梁。线性回归虽然常见,但是却并不简单。该... 查看详情

机器学习导论————线性回归(linerregression)(代码片段)

机器学习导论————线性回归(LinerRegression)一、线性回归的应用场景监督学习-目标值连续房价预测销售额预测贷款额度预测二、什么是线性回归2.1定义与公式线性回归(LinearRegression)是利用回归方程(函数)对... 查看详情

机器学习—线性回归(代码片段)

一、原理部分:只能图片形式展现了~~~二、Python手工实现线性回归importpandasaspdimportnumpyasnpimportmatplotlib.pyplotaspltclasslinear_regression(object):#计算均方误差损失defcompute_loss(self,y,y_hat):returnnp.average((y-y_hat)**2)#梯度下降算 查看详情

机器学习线性回归api快速入门(代码片段)

目录1线性回归API2举例2.1步骤分析2.2代码过程3小结1线性回归API机器学习线性回归简介:https://blog.csdn.net/ZGL_cyy/article/details/126918295sklearn.linear_model.LinearRegression()LinearRegression.coef_:回归系数2举例2.1步骤分析1.获取数据 查看详情

机器学习——线性回归(代码片段)

导入类库1fromsklearn.externalsimportjoblib2fromsklearn.model_selectionimporttrain_test_split3fromsklearn.datasetsimportload_boston4fromsklearn.preprocessingimportStandardScaler5fromsklearn.linear_modelimp 查看详情

机器学习入门:多变量线性回归(代码片段)

...的两个小技巧。本文分享自华为云社区《【跟着小Mi一起机器学习吧!】多变量线性回归(一)》,原文作者:Skytier。1 多维特征既然是多变量线性回归,那么肯定是存在多个变量或者多个特征的情况啦。就拿之前研究的线... 查看详情

机器学习模型和算法(代码片段)

文章目录python简介python基本语法监督学习--回归模型线性回归模型一元线性回归线性回归最小二乘代码实现多元线性回归梯度下降法和最小二乘法相比线性回归梯度下降代码实现非线性回归python简介略python基本语法文件开头加上#... 查看详情

机器学习-8.线性回归(代码片段)

1.概述定义:线性回归通过一个或多个自变量(理解为特征)与因变量(理解为目标值)之间进行建模的回归分析。其中可以为一个或多个自变量之间的线性组合(线性回归的一种)。一元线性回归:涉及到的变量只有... 查看详情

机器学习-线性回归(代码片段)

线性回归简介:之前的文章中介绍过一种回归算法,梯度下降算法,这里再看看另外一个回归算法,线性回归,主要的内容包括简单的线性回归和局部加权回归算法。在回归里面需要考虑的问题就是,我如... 查看详情

机器学习入门三------线性回归(代码片段)

...方法。本模块会先直观介绍线性回归,为介绍线性回归的机器学习方法奠定基础。人们早就知晓,相比凉爽的天气,蟋蟀在较为炎热的天气里鸣叫更为频繁。数十年来,专业和业余昆虫学者已将每分钟的鸣叫声和温度方面的数据... 查看详情

线性回归(代码片段)

...性回归实验介绍线性回归是一种较为简单,但十分重要的机器学习方法。掌握线性的原理及求解方法,是深入了解线性回归的基本要求。除此之外,线性回归也是监督学习回归部分的基石,希望您能通过本次实验掌握机器学习的... 查看详情

机器学习sklearn监督学习回归算法线性回归linearregression(代码片段)

importnumpyasnpimportmatplotlib.pyplotaspltfromsklearnimportlinear_model#设置中文字体plt.rcParams['font.sans-serif']='SimHei'plt.rcParams['axes.unicode_minus']=False#设置自变量和因变 查看详情

机器学习--线性回归的原理与基础实现(代码片段)

文章目录一、一元线性回归的实现1.1原理1.2Python底层实现一元线性回归二、多元线性回归的实现2.1参考文献2.2代码实现2.3相关性分析三、第三方库实现线性回归四、线性回归案例4.1回归知识复习4.2案例编写一、一元线性回归的实... 查看详情