2020机器学习线性模型(3)

作者: zidea | 来源:发表于2020-01-20 06:23 被阅读0次
machine_learning.jpg

在实际中我们是无法找到一条完美线性模型取拟合所以的样本点,我们总是近视找到一条线性模型来拟合所有点。
现在我们哪一个实例说明,我们有这些样数据每一个样本有两个特征分别是 x_1 x_2 然后标签 y 也就是真实值为 y 我么用矩阵形式表示
\begin{bmatrix} 0 & 1 & 2 \\ 1 & 1 & 2 \\ 2 & 1 & 3 \end{bmatrix}
矩阵每一行表示样本,前两列为样本的特征而最后一列为样本真实值 y,好这是我们样本我们就是要找到一条直线可以拟合这些样本点。
下面我们用方程形式描述问题.
\begin{cases} (0,1,2) \Rightarrow x_2 = 2 \\ (1,1,2) \Rightarrow x_1 + x_2 = 2\\ (2,1,3) \Rightarrow 2x_1 + x_2 = 3 \end{cases}
我们容易看出这个方程组是无解,也就说明我们没有办法找到一条直线拟合这些点。
我们用矩阵来表示这个问题,
\begin{bmatrix} 0 & 1\\ 1 & 1\\ 2 & 1\\ \end{bmatrix} \begin{bmatrix} x_1\\ x_2 \end{bmatrix} = \begin{bmatrix} 2\\ 2\\ 3 \end{bmatrix}
然后我们用两个向量来表示这个方程 a1 和 a2 分别是两个向量 x1 和 x2 是对于向量缩放,然后将这些向量线性组合后表示 Y 向量。
a_1 x_1 + a_2 x_2 = Y
a_1 = \left( \begin{matrix} 0 \\ 1 \\ 2 \end{matrix} \right)a_2 = \left( \begin{matrix} 1 \\ 1 \\ 1 \end{matrix} \right)

我们之前知道我们需要通过对着 a1 和 a2 进行线性变换后通过线性组合来表示出 Y 向量,也就是在 a1 和 a2 构成的向量空间内找到 Y ,但是现在问题是 Y 向量并不在 a1 和 a2 所构成的向量。

屏幕快照 2020-01-20 上午5.20.41.png

在三维空间我们用x 和 y 轴表示 x1 和 x2 特征值而 z 轴表示 y 值,然后我们绘制出向量 a1 和 a2 用黄色向量表示,a1 和 a2 构成空间用浅黄色表示。y 值用绿色向量表示,我们发现 y 向量并没有在 a1 和 a2 构成向量空间内,那么我们要做的就是在a1 和 a2 构成向量空间内找到一条最接近 y 的直线(估计值)来拟合真实值,根据我们所学习真实这条直线应该是 y 向量在 a1 和 a2 构成向量空间的投影。好现在我们几何解释一些问题以及如何求解
用 e 表示 \hat{y} - y 差值,也就是误差我们要减少的值。这里\hat{y} 就是 y 在a1 和 a2 构成向量空间的投影。我们在用几何方式推导
e = \hat{y} - y = A\theta - Y
我们知道 e 垂直于 a1 和 a2 构成向量空间,那么 e 也就是垂直 a1 和 a2

\begin{cases} a_1^T e = 0 \\ a_2^T e = 0 \end{cases} \Rightarrow A^Te = 0

A^T(A\theta - Y) = 0 \Rightarrow A^TA\theta -A^TY=0
A^TA\theta -A^TY=0 \Rightarrow \theta = (A^TA)^{-1}A^TY

好吧现在我们用几何重新推导出 theta 公式,这个比较清晰吧。

y^{i} = \theta^Tx^{(i)} + \epsilon^{(i)}
我们如何用概率方式来解释最小二乘,我们假设线性方程,也是他们之间会有误差这里用 \epsilon^{(i)} 表示出来,我们认为这个 \epsilon^{(i)} 可能是噪声,而且服从正态分布

lr1.png

这里均值 为 0 方差 这样正态分布,我们这样解释就是为了将最小二乘和最大似然统一起来看这个问题。

最大似然问题

f_{\theta}(x^{(1)},x^{(2)},\dots,x^{(n)}) = f(x^{(1)},x^{(2)},\dots,x^{(n)}|\theta)
我们在机器学习中总是现有了一组数据然后,然后取求参数\theta来拟合这些数据。当然 \theta 也是给定条件。然后我们认为这些数据是服从正态分布参数分别是\mu \sigma

f(x^{(1)},x^{(2)},\dots,x^{(n)}|\mu,\sigma) = \prod_i^n \frac{1}{\sigma \sqrt{2 \pi}} exp(-\frac{1}{2} [\frac{x_i - \mu}{\sigma}]^2)
那么现在我们就将\theta 替换为 \mu,\sigma ,也就是我们观察到这些数据的联合概率

f(x^{(1)},x^{(2)},\dots,x^{(n)}|\theta) = f(x^{(1)}|\theta)f(x^{(2)}|\theta) \dots f(x^{(n)}|\theta)
这里假设 x^{(i)} 间是相互独立的,所以可以写成连乘的形式,
f(x^{(1)},x^{(2)},\dots,x^{(n)}|\theta) = \prod_{i=1}^n f(x^{(i)}|\theta)
现在也就是给定什么样\theta 我们让他们乘积最大,这就是似然函数因为是小数所以乘积会越来越小。所以我们通过 log 将乘积转换为连加形式
\ln L(x^{(1)},x^{(2)},\dots,x^{(n)}|\theta) = \sum_{i=1}^n f(x^{(i)}|\theta)

这些数据连乘的形式而且每一个f 都是一个正态分布,所以我们极大似然函数就是在给定什么样\theta 我想求上面函数最大。

lr2.png

我们在整条直线上分布同样参数正态分布位于每一个数据点上,在每一个 x 我们将其作为输入,输入概率密度函数得到自己估计,

p(y^{(i)}|x^{(i)}\theta) = \frac{1}{\sigma \sqrt{2 \pi}} exp(-\frac{(y^{(i)} - \theta^Tx^{(i)})^2}{2\sigma^2})

wechat.jpeg

相关文章

  • 2020机器学习线性模型(3)

    在实际中我们是无法找到一条完美线性模型取拟合所以的样本点,我们总是近视找到一条线性模型来拟合所有点。现在我们哪一个...

  • 2019-02-17

    机器学习系列 机器学习100天 机器学习第1天:数据预处理 机器学习第2天:简单线性回归模型 机器学习第3天:多元...

  • 线性回归模型

    参考:1.使用Python进行线性回归2.python机器学习:多元线性回归3.线性回归概念 线性回归模型是线性模...

  • Task4模型调参

    学习目标 了解常用的机器学习模型,并掌握机器学习模型的建模与调参流程 内容介绍 线性回归模型:线性回归对于特征的要...

  • 2019-10-29

    Day2 简单线性回归模型 机器学习入门--简单线性回归机器学习算法之线性回归算法 导入库matplotlib 绘...

  • Python机器学习之线性模型

    一、线性模型基本概念  线性模型不是指某一个模型,而是一类模型。在机器学习领域,常用的线性模型包括,线性回归、岭回...

  • 2-线性模型

    算法简介 线性模型是在机器学习实战中广泛使用的一类模型。线性模型利用输入特征的线性函数(linear functi...

  • 2020机器学习线性模型(1)

    线性模型 今天我们来讨论一下线性模型,之前已经了解到线性模型来做回归问题,所谓回归问题就是根据给定样本数据训练出一...

  • 2020机器学习线性模型(F)

    最大似然问题 在给定数据条件下,我们想要求找到最好的线性来拟合这些点。但是通常我们是无法找到一个可以完美拟合这些点...

  • 2020机器学习线性模型(5)

    我们依旧回归一下上一次内容,上一次我们介绍一下对数几率模型,其实本质是线性模型,但是他是一个泛化的线性模型,他是一...

网友评论

    本文标题:2020机器学习线性模型(3)

    本文链接:https://www.haomeiwen.com/subject/ukodzctx.html