编程语言
首页 > 编程语言> > 线性回归算法的原理及参数优化方案

线性回归算法的原理及参数优化方案

作者:互联网

线性回归算法的原理及参数优化方案

 

简单的线性回归算法

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