2、单变量线性回归

 引例:以房价和房屋面积作为训练集,学习如何预测房价

房屋面积 房价($1000)
2104 460
1416 232
1534 315
852 178
  • m代表训练集(样本)的数量
  • x代表输入变量或者自变量(特征), 这里代表房屋面积
  • y代表输出变量或者因变量(标签),这里代表房价
  • (x, y)表示一个训练样本,(x(i), y(i))表示第i个训练样本

单变量线性回归算法的实现过程

  • 训练集(房屋面积x, 房价y)-->学习算法-->h(x)假设函数
  • 房屋面积(x)-->h(x)假设函数-->预测房价(y)
  • 假设函数:h(x) =θ1x +θ0   (θ1权重,θ0偏差)

单变量线性回归最常用的损失函数:均方误差MSE

假设函数和房屋价格的实际价格的差值,差值越小损失越小

均方误差MSE = ∑(h(x)-y)2/m

        = ∑(θ1x+θ0-y)2/m

                   = J(θ1, θ0) 【x∈(1, m)】

要使MSE最小,即求一组(θ1, θ0)使J(θ1, θ0)最小【θ1代表权重,θ0代表偏差(y抽截距)】

假设函数和损失函数

  • h(x) = θ1x + θ0 【x是输入变量】
  • J(θ1, θ0) = ∑(θ1x+θ0-y)2/m 【θ1, θ0是输入变量】

梯度下降Gradient descent

梯度下降是求J(θ1, θ0)函数对最小值:初始化任意(θ1, θ0),梯度下降慢慢改变(θ1, θ0)的值,使得J(θ1, θ0)取得最小值或者局部最小值

梯度下降慢慢改变(θ1, θ0)是按照:θ1:=θ1-aJ(θ1, θ0)', 当J(θ1, θ0)'=0时, 下一个w1不变,即找到最小值或者局部最小值

【 :=代表赋值,a代表学习速率learning rate , J(θ1, θ0)'代表函数J(θ1, θ0)在点(θ1, θ0)的导数】

学习速率learning rate

学习速率过小

学习速率过大

线性回归算法实现

结合假函数h(x) = θ1x+θ0、损失函数J(θ1, θ0) = ∑(θ1x+θ0-y)2/m、梯度下降函数θ1:=θ1-aJ(θ1, θ0)',得出线性回归算法:

  • θ1:= θ1-2a∑(θ1x+θ0-y)/m
  • θ0 := θ0-2a∑(θ1x+θ0-y)/m

【θ1和θ0同时更新】

原文地址:https://www.cnblogs.com/jp-mao/p/10163141.html