线性回归及梯度下降法

  • 回归分析:用来建立方程模拟两个或者多个变量之间如何关联
    被预测的变量叫:因变量,输出
    用来进行预测的变量叫:自变量,输入


    hθ(x) = θ01x
    这个方程对应的图像是一条直线,称为回归线。其中,θ1为回归线的斜率,θ0为回归线的截距

  • 代价函数(cost Function)

  • 最小二乘法:

  • 真实值y,预测值hθ(x),则误差为(y-hθ(x))2

  • 找到合适的参数,使得误差平方和:
    最小
    【注:可有可无,主要是为了求导和平方的2抵消】

    线性回归


  • 相关系数
    我们使用相关系数去衡量线性相关性的强弱

  • 决定系数
    相关系数R(coefficient of determination)是用来描述两个变量之间的线性关系的,但决定系数的适用范围更广,可以用于描述非线性或者有两个及两个以上的相关关系。它可以用来评价模型的效果

总平方和(SST) : 【是真实值,是真实值的平均值】
回归平方和(SSR) :【是预测值】
残差平方和(SSE):
它们三者的关系是:SST=SSR+SSE

决定系数: 【的值越接近1,说明它们之间的关系越接近于线性的关系,越接近0就越不接近于线性关系】

  • 梯度下降法:
    有这么一个函数 求
    1. 初始化
    2. 不断改变,直到 到达全局最小值,或局部极小值
    图1
图2

取不同初始值的变化结果,如图1取值,然后不断改变,直到 到达全局最小值,如图2取值,然后不断改变,直到 到达局部极小值

repeat until convergence {
【α指的是学习率】
}

正确做法 :同步更新



不正确做法:



现在假设只有一个参数,公式如下,现在看图3中的曲线,当我们的取①处的值,那么我们计算出来的斜率是负数,α学习率为正数,相乘就为负数,则减去这个负值以后就变大了,赋给,的取值大了,现在到了②处,计算出来的斜率还是负数,α学习率为正数,相乘就为负数,则减去这个负值以后又变大了,接下来到了③处,计算出来的斜率还是正数,α学习率为正数,相乘就为正数,则减去这个正值以后变小了,则下次取值一定在③的左侧,都会忘最小值靠近。【学习率的值不能太小(变化会太慢),也不能太大(变化会太大),可以多尝试,找到比较合适的 0.1,0.03,0.003,0.001........等等】

图3

  • 用梯度算法来求解线性回归:




repeat until convergence {


}


梯度算法可能会陷入局部最小值:



梯度下降算法的代价函数是凸函数,所以会一直往最小值走

梯度下降算法的代价函数

你可能感兴趣的:(线性回归及梯度下降法)