机器学习线性回归_机器学习——Linear Regression 线性回归

Linear Regression 线性回归

Created: Mar 30, 2020 8:59 PM

什么是线性回归?

线性回归是一种用线性方法建模表示变量y和x直接的关系。例如房价的预测,温度的预测

92f1f9a66355d369dcc6fefd04869f3c.png
  • 线性回归是一种监督学习算法
  • 每个样本有一个或者多个输入和一个输出
  • 线性回归使用直线,平面,超平面去拟合训练样本,并输出结果
  • 线性回归易于解释和训练
  • 线性回归可以用作评估其他更复杂的回归模型的基准

线性回归可以用来干嘛?

  • - 预测
  • - 确定变量之间是否存在关系

如何找到最好的线

在数据集上表现最好的线是使点和回归之间的“平方差”之和最小。

c6ddd1140be77f57cfef2aaf013c70bf.png

Mean vs Total Squared

Total Squared error

464dfb2c06d8f0069acb05645312a6b4.png

Mean squared error

d9a127de0571e98cfb85e6566b83e391.png

M = 2T

因为梯度下降会乘以学习率alpha ,因此,在均方误差和总平方误差之间进行选择实际上就等于选择了不同的学习率。

Mean Squared Error 均方误差

ad5e4dff4d19032b5c29a1b7f5fa7374.png

### Mean Absolute Error 均绝对值误差

732469f4c8d0f8d455bc2d63e9c41478.png

梯度下降

梯度的本意是一个向量,表示某一个函数在该点处的方向导数,沿着该方向取得最大值,即函数在该点处沿着该方向变化最快,变化率最大。梯度就是对多变量函数导数的泛化。

正规方程

b470647e58a9f36f0f138ceccdbbffe5.png

我们用矩阵的形式表示:

n表示特征的个数,m表示样本的个数

f63e806a05e6bc33eaed028d701a4d12.png
3e1f922826045c00ecea475aced9ef4c.png
54023d71ef93ea9421e2965040160eb9.png

所以损失函数可以表示为:

111db2e79c6e09d0c51c18ae8901c497.png

在上述总和中,第二项和第三项是相同的,因为它是两个向量的内积,这意味着它是其坐标的乘积之和。因此

41e9be34d5f99cc27b9e2b87817a201b.png

我们需要对矩阵中的所有值取导数

eb84f7810151713026fd493453160da7.png

scikit-learn 实现

# TODO: Add import statementsimport pandas as pdfrom sklearn.linear_model import LinearRegression# Assign the dataframe to this variable.# TODO: Load the databmi_life_data = pd.read_csv("Ames_Housing_Sales.csv")# Make and fit the linear regression model#TODO: Fit the model and Assign it to bmi_life_modelbmi_life_model = LinearRegression()bmi_life_model.fit(bmi_life_data[['BMI']], bmi_life_data[['Life expectancy']])# Mak a prediction using the model# TODO: Predict life expectancy for a BMI value of 21.07931laos_life_exp = bmi_life_model.predict(21.07931)

多元线性回归

除了房子的大小,再加入一个学校的质量。

3cf53b3776d74395073dd4cc437c0928.png

对于多维的求解和二维的算法完全相同。

446707d75dd2b59072653ae7fd081927.png
6198692c5d94cdb8214c3b28023cb5bc.png

需要注意的点:

1、当数据为线性的时,线性回归表现最佳,如果训练的数据不是真正的线性关系,则需要进行调整,例如添加特征,

2、线性回归对异常值比较敏感

多项式回归

那么如果我们拥有看起来像下图的数据会发生什么,直线不能很好的拟合,我们就可以使用一条曲线或多项式回归,可以使用与线性回归非常相似的算法来解决。

e5d6d542449dbb79efde970dd682b8e6.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值