机器学习算法(2)—— 线性回归算法

本文介绍了线性回归的基本概念,包括单变量和多元回归,以及如何使用sklearn库实现线性回归模型。重点讨论了损失函数的作用,特别是最小二乘法,以及两种优化算法——正规方程和梯度下降的原理与应用。文中还提供了使用Python的示例代码,以及常见梯度下降算法的比较和适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 线性回归简介

线性回归(Linear regression)是利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式。

在这里插入图片描述

  • h代表学习算法的解决方案或函数,也称为假设(hypothesis),h(x)代表预测的值

注意:

  • 只有一个自变量的情况称为单变量回归,多于一个自变量情况的叫做多元回归
  • 特征值与目标值之间建立了一个关系,这个关系可以理解为线性模型
  • 线性回归当中主要有两种模型,一种是线性关系,另一种是非线性关系

2 线性回归的初步使用

线性回归API

sklearn.linear_model.LinearRegression()

  • LinearRegression.coef_:回归系数

在这里插入图片描述

'''导入模块'''
from sklearn.linear_model import LinearRegression

'''构造数据集'''
x = [[80, 86],
	 [82, 80],
	 [85, 78],
	 [90, 90],
	 [86, 82],
	 [82, 90],
	 [78, 80],
	 [92, 94]]
y = [84.2, 80.6, 80.1, 90, 83.2, 87.6, 79.4, 93.4]

'''模型训练'''
# 实例化一个估计器
estimator = LinearRegression()
# 使用fit方法进行训练
estimator.fit(x,y)
# 查看回归系数值
coef = estimator.coef_
print("系数是:\n",coef) # [0.3 0.7]
# 预测值
prediction = estimator.predict([[100, 80]])
print("预测值是:\n",prediction) # [86.]

3 损失函数

为了评估模型拟合的好坏,通常用损失函数来度量拟合的程度。损失函数极小化,意味着拟合程度最好,对应的模型参数即为最优参数

在这里插入图片描述
如上图所示,真实结果与我们预测的结果之间存在一定的误差,而这个误差(损失)可以计算出来:

在这里插入图片描述

注意:

  • yi为第i个训练样本的真实值
  • h(xi)为第i个训练样本特征值组合预测函数
  • 又称最小二乘法
  • 损失函数(Loss Function)度量单样本预测的错误程度,损失函数值越小,模型就越好。
  • 代价函数(Cost Function)度量全部样本集的平均误差。
  • 目标函数(Object Function)代价函数和正则化函数,最终要优化的函数。

4 优化算法

如何去求模型当中的W,使得损失最小?(目的是找到最小损失对应的W值)

线性回归经常使用的两种优化算法

  • 正规方程
  • 梯度下降法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值