线性回归:这可能是机器学习中最简单的一个模型了

栏目: 数据库 · 发布时间: 5年前

内容简介:本文是《机器学习宝典》第 7 篇,读完本文你能够掌握机器学习中线性回归模型。在《机器学习宝典》前 6 篇的内容主要都是聊一些关于机器学习中的一些基础常识、模型评估指标、模型评估方法以及数据泄露问题,从这一篇开始聊一些模型的原理的事情。这篇带来的是关于线性回归模型的原理介绍。线性回归模型算是机器学习中非常简单的一个模型了,它主要用于寻找变量之间的因果关系,希望能够通过一个线性组合来表述特征与目标之间存在的关系。假定数据中的

本文是《机器学习宝典》第 7 篇,读完本文你能够掌握机器学习中线性回归模型。

在《机器学习宝典》前 6 篇的内容主要都是聊一些关于机器学习中的一些基础常识、模型评估指标、模型评估方法以及数据泄露问题,从这一篇开始聊一些模型的原理的事情。这篇带来的是关于线性回归模型的原理介绍。

什么是线性回归

线性回归模型算是机器学习中非常简单的一个模型了,它主要用于寻找变量之间的因果关系,希望能够通过一个线性组合来表述特征与目标之间存在的关系。假定数据中的 线性回归:这可能是机器学习中最简单的一个模型了 包含 n 个特征: 线性回归:这可能是机器学习中最简单的一个模型了 ,其中 线性回归:这可能是机器学习中最简单的一个模型了 表示第 i 个特征对应的取值。我们可以用下面的公式来表示线性回归:

线性回归:这可能是机器学习中最简单的一个模型了

其中, 线性回归:这可能是机器学习中最简单的一个模型了 表示目标真实值, 线性回归:这可能是机器学习中最简单的一个模型了 表示目标预测值,如果写成向量形式的话,则:

线性回归:这可能是机器学习中最简单的一个模型了

其中, 线性回归:这可能是机器学习中最简单的一个模型了线性回归:这可能是机器学习中最简单的一个模型了 表示一个常数。一旦能够确定参数 线性回归:这可能是机器学习中最简单的一个模型了线性回归:这可能是机器学习中最简单的一个模型了 ,那么模型就能够确定下来,所以训练的过程其实就是寻找 线性回归:这可能是机器学习中最简单的一个模型了线性回归:这可能是机器学习中最简单的一个模型了 的过程。此外,由于 线性回归:这可能是机器学习中最简单的一个模型了 直观地表达了各个特征在预测中的重要性,因此线性模型具有很好的可解释性。

最简单的线性回归就是一元线性回归了,也就是只有一个特征的时候;如果特征个数超过一个,那就是多元线性回归了。我们来直观的体验下线性回归模型到底长什么样子。比如我们想要根据披萨的直径来预测披萨的价格,通过线性回归我们拟合出了下面的的图形。

线性回归:这可能是机器学习中最简单的一个模型了

一元线性回归对应的图形其实就是一条直线,其中,蓝色的小圆点表示披萨价格的真实值,绿色的直线对应训练的模型,红色的竖直的线表示披萨价格的预测值与真实值的差异。可以看到,只要能够确定了参数 线性回归:这可能是机器学习中最简单的一个模型了线性回归:这可能是机器学习中最简单的一个模型了 ,那么就能够使用模型根据披萨直径预测出披萨的价格。

线性回归的损失函数

实际上,参数 线性回归:这可能是机器学习中最简单的一个模型了线性回归:这可能是机器学习中最简单的一个模型了 可以取很多值,我们要解决的就是如何去确定参数 线性回归:这可能是机器学习中最简单的一个模型了线性回归:这可能是机器学习中最简单的一个模型了 的最佳值,确定最佳值的原则是使得模型对目标的预测值与真实值的差异尽可能的小,关于如何衡量预测值 线性回归:这可能是机器学习中最简单的一个模型了 和 真实值 线性回归:这可能是机器学习中最简单的一个模型了 之间的差异,我们可以使用 损失函数 (loss function)来衡量。

线性回归:这可能是机器学习中最简单的一个模型了

其中,m 表示样本的个数, 线性回归:这可能是机器学习中最简单的一个模型了 表示第 i 个样本的真实值, 线性回归:这可能是机器学习中最简单的一个模型了 表示第 i 个样本的预测值。整个公式表示的意思是求出 m 个样本中的真实值与预测值之差的平方和。

为什么要将损失函数要采用真实值与预测值之差的平方和,而不是绝对值、三次方、四次方形式呢?这里做一个解释。

我们将真实值、预测值以及误差之间的关系设为:

线性回归:这可能是机器学习中最简单的一个模型了

回归模型的最终目标是建立特征 线性回归:这可能是机器学习中最简单的一个模型了 与目标 线性回归:这可能是机器学习中最简单的一个模型了 之间的关系(通过函数表达式),希望通过 线性回归:这可能是机器学习中最简单的一个模型了 能较准确的表示目标 线性回归:这可能是机器学习中最简单的一个模型了 。在实际生活中,我们基本上不太可能将所有导致目标 线性回归:这可能是机器学习中最简单的一个模型了 出现的特征 线性回归:这可能是机器学习中最简单的一个模型了 都找出来,模型的预测值与真实值的误差也是因为这些没有找出来的特征导致的,假设这些没有找出来的特征互相独立,根据中心极限定理,可以知道这些没有找出来的特征之和服从正态分布,那么:

线性回归:这可能是机器学习中最简单的一个模型了

所以可以得到误差的概率密度函数:

线性回归:这可能是机器学习中最简单的一个模型了

有了误差的概率密度函数之后,我们希望利用 m 个训练样本(观测样本)的误差分布,求解导致出现这种分布的最佳参数 线性回归:这可能是机器学习中最简单的一个模型了线性回归:这可能是机器学习中最简单的一个模型了 ,使得出现这种分布出现概率最大,这时候我们得到在 m 个样本下参数 线性回归:这可能是机器学习中最简单的一个模型了线性回归:这可能是机器学习中最简单的一个模型了 的的似然函数为:

线性回归:这可能是机器学习中最简单的一个模型了

接下来要做的就是使得 线性回归:这可能是机器学习中最简单的一个模型了 最大,为了方便求解,对等式两边取 log,可以得到:

线性回归:这可能是机器学习中最简单的一个模型了

当数据(m)趋于无穷大时,期望 线性回归:这可能是机器学习中最简单的一个模型了 和方差 线性回归:这可能是机器学习中最简单的一个模型了 都是一个常数,所以只需要最小化 线性回归:这可能是机器学习中最简单的一个模型了 即可,这也就是我们前面要优化的损失函数。

当有了损失函数之后,问题就变为了一个优化损失函数的问题,关于优化方法有很多种,这里介绍一种常见的一种优化算法: 最小二乘法

最小二乘法

针对一元线性回归,将损失函数 线性回归:这可能是机器学习中最简单的一个模型了 分别对 线性回归:这可能是机器学习中最简单的一个模型了线性回归:这可能是机器学习中最简单的一个模型了 求一阶偏导,然后将一阶偏导为 0 可以得出 线性回归:这可能是机器学习中最简单的一个模型了线性回归:这可能是机器学习中最简单的一个模型了 的求解公式,如下:

线性回归:这可能是机器学习中最简单的一个模型了 线性回归:这可能是机器学习中最简单的一个模型了

实际生活中更多的是多元线性回归,为了方便后面描述,我们将数据集 D 表示为一个 m x (n + 1) 大小的矩阵 X, 其中每行对应于一个样本,每行的第一列为 1,其他为对应的特征的取值。将 线性回归:这可能是机器学习中最简单的一个模型了 和 b 吸入到向量 线性回归:这可能是机器学习中最简单的一个模型了 ,即 线性回归:这可能是机器学习中最简单的一个模型了 为一个 (n + 1) 的列向量,目标 y 是一个 m 的列向量,则可以得到多元线性回归的矩阵形式为:

线性回归:这可能是机器学习中最简单的一个模型了

简写就是:

线性回归:这可能是机器学习中最简单的一个模型了

对应的损失函数为:

线性回归:这可能是机器学习中最简单的一个模型了

经过一系列推导可以得到: 线性回归:这可能是机器学习中最简单的一个模型了

可以看到,使用最小二乘法来求解损失函数最小值时很方便,不过当数据量较大或者特征较多时,最小二乘法的计算效率会比较低,另外使用最小二乘法有一个前提是 线性回归:这可能是机器学习中最简单的一个模型了 必须是可逆矩阵,但实际生活中很多情况下特征的个数超过样本的个数,导致 线性回归:这可能是机器学习中最简单的一个模型了 的列数多于行数, 线性回归:这可能是机器学习中最简单的一个模型了 显然不是可逆矩阵,常见的一种解决方案是引入 正则化 (regularization)。

正则化

当样本数量较少并且特征较多时,优化上面的损失函数时得到的参数 线性回归:这可能是机器学习中最简单的一个模型了线性回归:这可能是机器学习中最简单的一个模型了 很容易使得模型陷入过拟合,我们可以对损失函数引入正则化项的来解决它。常用的正则化有:L1 正则化项和 L2 正则化项。

使用 L1 正则化项的模型叫做 Lasso 回归,损失函数如下:

线性回归:这可能是机器学习中最简单的一个模型了

其中, 线性回归:这可能是机器学习中最简单的一个模型了 , 表示正则化参数,可以看到,L1 正则化项计算的是所有的权重 线性回归:这可能是机器学习中最简单的一个模型了 的绝对值之和,使用 L1 正则化项可以使得学习到的权重 线性回归:这可能是机器学习中最简单的一个模型了 产生很多 0,也就是可以得到权重非常稀疏,常用于特征选择,在一定程度上也可以防止过拟合。

使用 L2 正则化项的模型叫做 Ridge(岭) 回归,损失函数如下:

线性回归:这可能是机器学习中最简单的一个模型了

其中, 线性回归:这可能是机器学习中最简单的一个模型了 , 表示正则化参数,可以看到,L2 正则化项计算的是所有的权重 线性回归:这可能是机器学习中最简单的一个模型了 的平方之和,使用 L2 正则化项可以使得学习到的权重 线性回归:这可能是机器学习中最简单的一个模型了 变得非常小,防止过拟合。为什么这么说呢?因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。可以设想一下对于一个线性回归方程,若参数很大,那么只要数据偏移一点点,就会对结果造成很大的影响;但如果参数足够小,数据偏移得多一点也不会对结果造成什么影响。

线性回归模型如何处理分类特征

从公式 线性回归:这可能是机器学习中最简单的一个模型了 可以看出,线性回归能够处理的都是数值特征,但实际生活中存在很多分类特征,比如血型就是一个分类特征,它的取值有:A、B、O 以及 AB 这四种,想要被线性回归模型所使用,通常将它进行 One-Hot 编码,得到 4 维向量,经过处理后原来的一个特征就成为了线性回归模型中的 4 个特征。

原始值 One-Hot值
A [1, 0, 0, 0]
B [0, 1, 0, 0]
O [0, 0, 1, 0]
AB [0, 0, 0, 1]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web Analytics 2.0

Web Analytics 2.0

Avinash Kaushik / Sybex / 2009-10-26 / USD 39.99

The bestselling book Web Analytics: An Hour A Day was the first book in the analytics space to move beyond clickstream analysis. Web Analytics 2.0 will significantly evolve the approaches from the fir......一起来看看 《Web Analytics 2.0》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试