机器学习算法(二)——LR算法

2020-08-06T07:21:49
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

一、算法简介

线性回归算法(Linear Regression),即LR算法。

再讲解LR算法之前,我们先学习一下什么是线性?什么是非线性?

我们首先用弄清楚什么是线性,什么是非线性。

- 线性函数的定义是:一阶或零阶多项式。
- 特征是一维时,线性模型在二维空间构成一条直线;
- 特征是二维时,线性模型在三维空间中构成一个平面;
- 特征是三维时,则最终模型在四维空间中构成一个体;以此类推…

那么回归又是什么意思呢?

- 回归:人们在测量事物的时候因为客观条件所限,求得的都是测量值,而不是事物真实的值。

- 为了能够得到真实值,无限次的进行测量,最后通过这些测量数据计算回归到真实值,这就是回归的由来。

通俗的说就是用一个函数去逼近这个真实值,那又有人问了,线性回归不是用来做预测吗?是的,通过大量的数据我们是可以预测到真实值的。

二、算法原理

线性回归:就是能够用一个直线较为精确地描述数据之间的关系,这样当出现新的数据的时候,就能够预测出一个简单的值。

线性回归才是真正用于回归的,而不像logistic回归是用于分类,基本思想是用梯度下降法对最小二乘法形式的误差函数进行优化

线性回归一般用于解决什么问题

寻找到数据与数据之间的规律所在,从而就可以模拟出结果,也就是对结果进行预测。

解决的就是通过已知的数据得到未知的结果。例如:对房价的预测、判断信用评价、电影票房预估等。

三、算法要点

0、一元线性回归

在中学的时候,我们都学过二元一次方程。我们将y作为因变量,x作为自变量,得到方程:

y = ax + b

当给定参数 a b的时候,画在坐标图内是一条直线(这就是“线性”的含义)。

当我们只用一个x来预测y,就是一元线性回归。

线性回归就是要找一条直线,并且让这条直线尽可能地拟合图中的数据点。

1、多元线性回归

线性回归的模型形如:

线性回归得出的模型不一定是一条直线:

    (1)在只有一个变量的时候,模型是平面中的一条直线;

    (2)有两个变量的时候,模型是空间中的一个平面;

    (3)有更多变量时,模型将是更高维的。

实际上,线性回归中通常使用残差平方和,即点到直线的平行于y轴的距离而不用垂线距离,残差平方和除以样本量n就是均方误差。

均方误差作为线性回归模型的损失函数(cost function)。使所有点到直线的距离之和最小,就是使均方误差最小化,这个方法叫做最小二乘法。

2、损失函数

损失函数公式:

因为

最后通过求解,得到w及b的计算公式分别如下:

3、最小二乘法

在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线的欧式距离最小之后最小。

4、梯度下降法

梯度是一个向量,即有方向有大小,它的方向是最大方向导数的方向,它的值是最大方向导数的值。

从任意点开始,在该点对目标函数求导,沿着导数方向(梯度)“走”(下降)一个给定步长,如此循环迭代,直至“走”到导数为0的位置,则达到极小值。

四、算法推导

假设我们找到了最佳拟合的直线方程 :

y = ax+ b

五、优缺点

线性回归的几个特点:

  • 优点:

    (1)思想简单,实现容易。建模迅速,对于小数据量、简单的关系很有效;

    (2)是许多强大的非线性模型的基础。

    (3)线性回归模型十分容易理解,结果具有很好的可解释性,有利于决策分析。

    (4)蕴含机器学习中的很多重要思想。

    (5)能解决回归问题。

  • 缺点:

    (1)对于非线性数据或者数据特征间具有相关性多项式回归难以建模.

    (2)难以很好地表达高度复杂的数据。

扫一扫关注公众号添加购物返利助手,领红包
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »
因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合MIP标准。