机器学习笔记一【线性回归】

来源:互联网 发布:网络作家怎样赚钱 编辑:程序博客网 时间:2024/05/22 04:56

基本认识:

线性回归是基本的机器学习方法。

线性回归是回归问题,其所求的值为连续值。分类问题求的值为离散的值。

线性回归问题 ,简而言之就是求一个函数  ‘f’ 使输入的自变量 X 通过 f得到比较接近真实的 Y Y*




举例:

比如这个X可以是今天的风力,湿度等  (超过一维的自变量我们设为矩阵或向量)

如            X=[x1,x2,x3,x4,x5,......] Xi=(i=0,1,2,3.....n)

 f(X)=20 ( 设Y为 明天的温度  ),这也就达到了预测的作用

这也是线性回归的其中一个作用




一般来说(一般方程):

我们给出的直线   Y = w'x+e

w,x  均为向量,而我们要求的是这个最佳的w*,让 f对 的预测总体上最准

为此我们就定义误差(也叫代价函数) J(W)=(Y-Y*)^2     这里我们采取的是方差来作为衡量我们的 W是否优秀的依据如此假设我们有 个数据  Xi

图一)(注明其中的 θ 就是我们的 W 向量,下面均为如此

即最小化 通过某种方法得到的 W 使得 J(W) 最小 ,为此我们引入优化方法



优化方法+训练模型:

我们可以采用梯度下降法(gradient descent )来作为我们的优化方法,梯度 顾名思义,就是函数上升最快的方向

我们要做的就是利用梯度找到 J(W) 梯度的反方向走下去,走到底部就会得到一个极小值,我们的优化就完成,此时我们所得到的 W 就会大体上预测到不错的结果

下图为误差 J(W) 对于向量中参数的分布图(途中 θ就是上面讲的向量 W

图二)就像当你站在一个山坡上,你上升最快的方向就是你的梯度,而你想做的是走到山底。


而你要做的就像下面这样。

图三)通过不断的修正向量 的各个项使得误差走到山底。


那么我们该怎么做呢?

上面我们讲到了梯度就是J(W)对向量W的导数,式子如下:

图四

很容易由 图一 求导数得到 图四 的式子

得到的梯度我们又可以这样表示:


图五)这样显得直观。倒三角形表示梯度,按这种方式来表示会大大的简化数学的描述。

然后呢,相信你们已经察觉到,我上面讲到,梯度是 J(W) 上升最快的方向,而我们的目的时间小误差,所以我们接下来给出式子:



图六),

为了方便控制,我们引入 α 学习率(learning rate)来限制梯度下降的速度,α 一般都是人为根据具体情况设置(通常小于1)。

这样我们就能一步步从图二的山坡上迭代 一步一步向下走(更新 向量),直到达到我们设置的阀值推出迭代。

阀值 ε使得  | Y-Y*  | < ε时退出迭代,得到最佳的W(注意,此时的W只是一个极小值而不是最小值,就像图二中不止一个山底一样)

训练好我们的模型,我们就可以开始预测了。





0 0
原创粉丝点击