zoukankan      html  css  js  c++  java
  • 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同时更新】

  • 相关阅读:
    ubuntu android jdk问题
    android adb ubuntu问题
    常用命令
    svn info
    TaskRecord分析
    moveTasktoBack 把当前任务放入后台
    WatchDog机制
    双系统安装
    制作安装U盘
    android 小游戏 ---- 数独(二)
  • 原文地址:https://www.cnblogs.com/jp-mao/p/10163141.html
Copyright © 2011-2022 走看看