线性回归

来源:互联网 发布:linux怎么运行多线程 编辑:程序博客网 时间:2024/05/21 06:54

线性回归


前言:最近在学机器学习相关算法,非CS专业,觉得学的比较吃力,所以写博客总结,顺便也验证一下自己学到的,会写的比较啰嗦,知识上有什么比对的,请大家指出来,谢谢!
P.S.第一次写博客,在结构上有什么不正确的地方,希望大家可以指出,谢谢大家!


回归是什么?

  1. 回归是监督学习中的一种。
  2. 回归用于预测输入变量和输出变量自建的关系,回归问题等价于函数拟合。
  3. 回归问题分为学习和预测两个过程。
    来自知乎XZH.小章鱼、李航《统计学习方法》

回归用来做什么?

  • 其实在回归是什么的答案中已经提到了,回归用来预测(线性回归),也可以用来分类(Logistic回归,softmax回归)。

线性回归

1. 线性回归是什么?

假设特征满足线性关系,根据跟定的训练数据,训练一个模型,并用此模型预测。线性归回输出的是连续值。(比如气温、房价)

2. 线性回归原理

根据线性回归的定义,在训练数据集中,每个分量都被当做一个特征,每个特征都对应一个参数,特征与参数符合一定的线性关系,得到预测值:
w为参数,x为样本,h(x)为实际值。
但是预测值与真实值之间总是存在误差的,因此线性模型最终的模型就是预测值加上误差值,即:这里写图片描述
我们认为这里写图片描述服从均值为0,方法为某个定值的正态分布,因此就有如下公式推导:
这里写图片描述
上图即线性回归的目标函数(损失函数)的推导过程,推导的前提条件是认为误差符合正态分布、样本独立同分布。

3. 梯度下降

梯度下降的思想:
1. 随机初始化参数
2. 沿着负梯度方向迭代,更新后是目标函数最小。
公式为:这里写图片描述 其中a为步长。
根据公式,有如下推导:
这里写图片描述最后就是线性回归的梯度下降公式。

我理解的线性回归的目标函数和梯度下降公式的关系是,目标函数是搭建模型的思想,梯度下降是实现目标函数的途径。

在梯度下降中分为批量梯度下降(BGD)和随机梯度下降(SGD)二者在公式上的区别是步长a后面的,思想上,BGD是得到全部样本后才进行梯度下降,SGD是获得一个样本,就进行梯度下降,求的对应的参数。与BGD相比,优先选择SGD,因为SGD速度快,同时可能跳过局部最小值。
SGD与BGD是两种极端情况,所以在实际应用当中多数情况下回选择采用一种折中的做法,即将若干的样本的平均梯度作为更新方向,选择多上样本就需要分情况了,这种折中的做法称为mini-batch

4.正则化

一句话说明正则化的作用就是防止过拟合
一般正则项分为L1与L2;
L1是参数和的绝对值,即∑|θ|,L1正则项可以产生稀疏解,因此有特征选择和降维的功能。
L2是参数的平方和∑(θ^2),L2正则项可以减少特征的参数,因此可以达到防止过拟合的效果。
L1,L2还可以结合使用,称为Elastic Net。

关于线性回归的总结暂时写到这里,自己感觉总结的不好,没有体系,细节也不够深入,还需要继续深入学习。

原创粉丝点击