机器学习01:单变量线性回归及python实现

本文介绍单变量线性回归的基本原理与应用实践,通过一个简单的案例解释如何使用梯度下降法来寻找最佳拟合直线,并提供了一段Python代码实现。

Regression 回归分析

线性回归

单变量线性回归

单变量的意思是只有一个自变量。

比如,我们想要根据明天的最高温度预测明天某城市的峰值用电量。我们不可能平白无故地预测明天的数据,而是需要根据以往的数据来预测以后的数据。因此,我们需要收集以往的数据,如下表:

最高温度(℉) 峰值用电量
76.7 1.87
72.7 1.92
71.5 1.96
86.0 2.43
90.0 4.69
87.7 2.50

散点图:
在这里插入图片描述

对于单变量线性回归,可表示为如下模型:
当天峰值用电量=θ0+θ1⋅(当天最高温度) 当天峰值用电量=\theta_0+\theta_1·(当天最高温度) =θ0+θ1()
如果我们把这个模型函数放在上面的散点图中(三条直线的参数值不同):
在这里插入图片描述

很显然,根据明天的最高温度预测明天的峰值用电量的问题,就转化成了在上面的图中找一条最吻合训练数据的直线,“最吻合”也就等价于选择合适的 θ0\theta_0θ0θ1\theta_1θ1.

那么,我们应该怎么衡量“最吻合”呢?这就需要用到Loss Function(损失函数)了。

损失函数

L(f(x)−y)=∑i=1n(f(xi)−yi)2=∑i=1n((θ1x+θ0)−yi)2 L(f(x)-y)=\sum_{i=1}^n(f(x_i)-y_i)^2=\sum_{i=1}^n((\theta_1x+\theta_0)-y_i)^2 L(f(x)y)=i=1n(f(xi)yi)2=i=1n((θ1x+θ0)yi)2

对于损失函数,我们需要注意以下两点:

  • 损失函数值越小,越吻合(预测值与实际值差别越小)
  • 损失函数值是非负

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8EIUgaaI-1600340952863)(C:\Users\Administrator\OneDrive\机器学习\3.png)]

因此这个问题就转换成了一个优化问题:
minJ(θ0,θ1)=min(12m∑i=1n((θ1x+θ0)−yi)2)(m为样本个数) minJ(\theta_0, \theta_1)=min(\frac{1}{2m}\sum_{i=1}^n((\theta_1x+\theta_0)-y_i)^2)\quad (m为样本个数) minJ(θ0,θ1)=min(2m1i=1n((θ1x+θ0)yi)2)(m)
解决上面的优化问题主要用梯度下降法。

梯度下降法

上面说到:“最吻合”也就等价于选择合适的 θ0\theta_0θ0θ1\theta_1θ

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值