线性回归算法的原理及参数优化方案
作者:互联网
线性回归算法的原理及参数优化方案
简单的线性回归算法
y = w0 + w1x
x = 1 ,y = 2
x = 2 ,y = 3
两点确定一条直线,可以求得w0 和 w1
如果给了3组数据,可不可以准确求得w0 和 w1
x = 1 ,y = 2
x = 2 ,y = 3
x = 3 ,y = 5
由于这3点不在一条直线,所以不能准确求得w0 和 w1。这道错题其实是一个机器学习问题
如果给了3亿组数据,不在一条直线上,如果找到一条完美直线,使得误差最小
3亿组数据找到规律,规律就是w参数
完美直线:空间的点到直线的距离最近
量化公式,m个点
J = 1/2m 求和 (h(xi) - yi)的平方
h = w0 + w1x
使得量化公式越小越好
问题转化为求J的极小值
首签确定J的形状,是凹函数,有极小值
为什么是凹函数?y = x平方 是凹函数 y = x平方 + 1 是凹函数
(w0,w1) 乘以(1,x) 的转置 = w0+w1x
J = 1/2m (W转置 X - yi)的平方
J = (W转置)的平方 凹函数
w(w0,w1) 与J
求导,导数等于0
对w0和w1分别求偏导,导数为0
海量数据下,x特别多(x1,x2,x3......),通过偏导为零反推求解 w参数,基本不可能,需要很多的算力
其他方法?
反推不行,正向试
随机给w参数,和 3亿组数据,代到 误差函数 损失函数 目标函数,求得误差值
误差值不可能为0,因为3亿组数据不在一条直线上
人为设置一个能够容忍的误差值,比如0.01,不断迭代当误差值小于0.01,此时的w参数就是最佳参数,此时的直线是最佳直线
迭代次数
误差阈值
当这两个条件达到其一,就停止迭代
1、随机w0,w1参数值
2、训练集数据和随机出来的w参数误差函数中求解出误差
3、如果误差小于用户设置的误差阈值,此时的w参数就是最佳参数
4、否则继续调整w参数,循环2 3步
求解出w参数后,模型训练完毕,
当未来有了x值,求得的y值就是预测的值
参数策略,调参工程师
如果误差非常小,模型可能过拟合
为什么求得的误差是点到直线在y方向上的误差
为什么不求点到直线的垂直距离
因为是要预测的y值更精准,所以是在y方向上的误差
w参数的调整方向和幅度?
梯度下降法指导w的调参
标签:误差,函数,直线,算法,参数,w1,w0,线性 来源: https://www.cnblogs.com/xiyouzhi/p/12838778.html