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

1、算法简介

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

再讲解LR算法以前,咱们先学习一下什么是线性?什么是非线性?机器学习

咱们首先用弄清楚什么是线性,什么是非线性。函数

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

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

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

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

通俗的说就是用一个函数去逼近这个真实值,那又有人问了,线性回归不是用来作预测吗?是的,经过大量的数据咱们是能够预测到真实值的。优化

2、算法原理

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

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

线性回归通常用于解决什么问题

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

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

3、算法要点

0、一元线性回归

在中学的时候,咱们都学过二元一次方程。咱们将y做为因变量,x做为自变量,获得方程:function

y = ax + b

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

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

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

一、多元线性回归

线性回归的模型形如:

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

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

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

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

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

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

二、损失函数

损失函数公式:

由于

最后经过求解,获得w及b的计算公式分别以下:

三、最小二乘法

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

四、梯度降低法

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

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

4、算法推导

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

y = ax+ b

5、优缺点

线性回归的几个特色:

  • 优势:

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

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

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

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

    (5)能解决回归问题。

  • 缺点:

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

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

相关文章
相关标签/搜索