赞
踩
线性回归模型如同入门程序设计的HelloWorld程序一样,一个基础模型具备几个基本特点:模型数据,方程,损失下降和模型优化
对于神经网络来说,就一个一次方程y=b+Σwx,不同的自变量x对应不同的w,每一个因变量也对应一个偏置项,线性回归预测就是要找出最能使预测值y’接近实际值y时对应的每个因变量的w和偏置项b.
那如何找出w和b呢?
定义Loss为预测值与实际值之差的平方和,即
Loss(w,b)=Σ(y’-(w*x+b))^2
对Loss分别求w和b的导可得
d(Loss)/dw = Σ2(y’-(wx+b))(-x)
d(Loss)/dw = Σ2(y’-(wx+b))(-1)**
然后(注意!我们的目的是找到最佳的w和b使得Loss的值最小即接近实际值)更新w和b,高数知识告诉我们,当导数大于0时曲线在这点是上升的,反之是下降的,为了使得我们找到的w和b是在这个损失函数的最低点(即损失值最小),当导数大于0时要减小因变量,反之要增大因变量,但这个改变的值怎么来呢?伟大的先人找到了各种方法,在此介绍最简单的SGD随机梯度下降。我们将这更新变化的值与损失值挂钩,做如下方程:
w后来 = w原来 - n* Loss
b后来 = b原来 - n*Loss
n是一个自定义的参数,将它与Loss做积求得参数变化值,一般很小。
通过不断循环计算使得Loss变小,最小时的w和b即所找的最佳解。
在很多集成机器学习库中有一个模块叫做优化器(Optimizer),这里就是对我们自定义的参数值进行优化,实际上是不断调整梯度下降的方式使得模型对这些参数具有学习能力,常见的有SGDM,Adagrad,Adam…(这些在以后的文章中会逐一详细介绍)。
综上就是对于超超基础的线性回归的介绍了(讲的太浅只能说是介绍哈),有兴趣的同学可以点赞收藏加关注然后 向我要下数据和源码。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。