机器学习之线性回归

线性回归属于监督学习算法中的一种,也是最简单的一种算法。本文将讲述以下内容

  1. Linear Regression 线性回归
  2. Cost Function 成本函数
  3. Gradient Decent 梯度下降法
  4. Normal Equations 正规方程
  5. Probabilistic interpretation 概率论解释

Linear Regression 线性回归

简单地

若有5个样本,令 \(x_0=1\) ,那么

若有2个变量

那么

一般地

写成向量的形式

其中 \(\theta\) 是权重,\( x_i \) 是feature,\( h_\theta(x) \)是 hypothesis。 对于有 m 个样本,更一般地为

Cost Function 成本函数

成本函数定义为

其中 y 是真实值,而 \(h(x)\) 为机器预测值,i 表示第几个样本,前面的 1/2 是为了后面的计算方便引用的,当 y 和 h 的差的平方和为最小时,这样的直线就是我们要找的最佳拟合直线。

那如何找到这样\(\theta\) 呢?这就用到了Gradient Descent

Gradient Descent 梯度下降法

假设只有单变量的线性函数,那么 \(J(\theta)\) 可以看出是一个碗状的面,如

我们使用一些迭代公式进行搜索,找到最小值

其中 :=表示赋值符号,=表示比较两个值是否相等,\(\alpha\) 是学习率。我们需要对 \(\theta_j\) 求偏导

为了简单起见,我们考虑只有一个样本的情况,这样可以把累加符号去掉

于是,当只有一个样本的情况时

推广到 n 个样本

Normal Equations

假设X 是一个 m x n 的矩阵,那么可以

\(\vec y\) 是一个 m 维向量

由于

又如果 z 是一个向量,那么有

所以

那么要求 \(J(\theta)\) 的最小值,那么需要对其求导,求得极值点。

这时候会用到对矩阵的求导公式

第3步用到

第5步用到

最后用到以下公式

由公式(2)(3)

若 C=I,即 C 为单位矩阵,那么

故要求得 \(J(\theta)\) 最小值,就令导数等于0

于是就得到所谓的 normal equations

Probabilistic interpretation 概率论解释

从上文可以知道成本函数为

那么为什么会这样定义呢?下文我们来从概率论的角度来说明。

假设目标变量 y 与输入变量存在以下关系

\(\epsilon^{(i)}\) 表示误差项,例如样本的测量误差等因素。我们再假设这个误差是独立同分布的,即它是符合高斯分布或正态分布,那么

于是

\(p(y^{(i)} x^{(i)};\theta)\) 表示给定以\(\theta\)为参数的\(x^{(i)} y^{(i)}\)的分布。同时需要注意的时,中间的是分号不能写成逗号,因为\(\theta\)不是随机变量。
通常我们把\(p(y^{(i)} x^{(i)};\theta)\) 称之为 Likelihood Function(似然函数)

还可以写成

要求 \(\theta\) 使得样本中的值出现的概率是最大的,于是要求似然函数的最大值。

把上面的式子的连乘运算转化成加和运算,可以化简计算

于是,要求 \( L(\theta) \) 的最大值,就是要求以下式子的最小值

而这个就是我们的 Cost Function(成本函数)

参考文档

http://cs229.stanford.edu/materials.html


Powered by Jekyll and Theme by solid