初级算法梳理(二)——线性回归

这篇博客介绍了线性回归的基本概念,包括线性关系、回归的本质以及线性回归在多维空间中的应用。接着讨论了损失函数、代价函数和目标函数在模型优化中的作用,并指出过度拟合问题及其解决方案。文章还列举了线性回归的优化方法,如梯度下降、最小二乘法等,并比较了不同实现方法,特别提到了在sklearn库中的应用。
摘要由CSDN通过智能技术生成

1、线性回归
线性:输入和输出变量之间的关系为一次方函数,即在空间上是一条直线。
回归:在模型(函数、关系式、映射关系等)中输入数据,输出的结果是连续的值,这个过程叫回归。ps:回归是典型的监督学习。
线性回归:在N维空间中使用直线方程拟合数据的过程。

2、损失函数
损失函数(Loss Function):度量单样本预测的错误程度,损失函数值越小,模型就越好。
代价函数(Cost Function):度量全部样本集的平均误差。
目标函数(Object Function):代价函数和正则化函数,最终要优化的函数。

我们追求损失函数值越小越好。
是不是损失函数最小就好呢?答案是否定的?
因为随着函数复杂度提高,模型会出现过拟合。
如何解决呢?通过定义复杂度函数防止结构化风险

3、线性回归的优化方法
常用的有梯度下降法、最小二乘法矩阵求解、牛顿法、拟牛顿法等

4、线性回归的实现方法比较
运用sklearn中线性模型的代码比较方便
最小二乘法和梯度下降法需要依据原理一步一步写代码。

5、具体实现(三种方法比较)
第一步:生成数据

import numpy as ny  
#生成随机数
np.random.seed(1234)
x = np.random.rand(500,3)
#构建映射关系,模拟真实的数据待预测值,映射关系为y = 4.2 + 5.7*x1 + 10.8*x2,可自行设置值进行尝试
y = x.dot(np.array([4.25,7,10.8]))

第一种方法:调用sklearn的线性回归模型训练数据

import numpy as ny
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
%matplotlib inline

#调用模型
lr = LinearRegression(fit_intercept=True)
#训练模型
lr.fit(x,y)
print("估计的参数值为:%s"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值