1. 简介
1.1 定义
- 线性回归(Linear regression)是利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式
1.2 公式
-
线性关系:
-
房屋价格h(w)和房屋面积w1
-
特征值是房屋面积w1,目标值为房屋价格
-
特征值也可以是房龄w2,楼层数w3,房间数w4
-
我们看到特征值与目标值之间建立了一个关系,这个关系可以理解为线性模型。
-
线性回归当中主要有两种模型,一种是线性关系,另一种是非线性关系。
线性关系
-
单变量线性关系
-
多变量线性关系
非线性关系
1.2 api初步使用
- 导入模块
from sklearn.linear_model import LinearRegression
- 构造数据集
- 机器学习-- 模型训练
# 实例化API
estimator = LinearRegression()
# 使用fit方法进行训练
estimator.fit(x,y)
2.线性回归的损失和优化
2.1 获取数据
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]
2.2 确定模型
根据经验确定特征和标签呈线性关系
2.3 确定表达式
h(t) = y = a*t1+b*t2
y 最终成绩 标签
t1 平时成绩 特征1
t2 考试成绩 特征2
a b是待求的系数
2.4 优化差异值
- 如果真实值和预测值的差异值非常小,甚至是0,可以认为预测结果非常接近于真实结果,就可以把预测结果当作真实结果
y = 0.1*t1+0.5*t2
y 最终成绩
t1 平时成绩
t2 考试成绩
h(x1) 第一个同学的预测结果
h(x1) = 80*0.1+86*0.5
y1 = 84.2
2.5 损失函数
- 用来描述(所有样本)预测值和真实值的差异程度
损失函数最小时,求得的w1, w2,w3
2.6 损失函数优化算法
1. 正规方程
-
令损失函数等于0
求多元未知数 -
令损失函数导数为0,表示损失函数取到了最小值,根据这个计算的系数w是最接近真实结果的
2. 梯度下降
-
损失函数是自己构造的,参数的初始值可以随机取值,接着更新参数
-
让参数减去alpha倍的损失函数对于参数的导数/偏导数
-
不断的迭代循环,最终使得损失函数取到最小值
3. 概念
步长(learning rate):
特征 :
假设函数:根据经验观察的到的目标值和特征值之间的关系的表达式
损失函数:
梯度下降算法
SAG:
样本:
随机