机器学习之线性回归
线性回归属于监督学习算法中的一种,也是最简单的一种算法。本文将讲述以下内容
- Linear Regression 线性回归
- Cost Function 成本函数
- Gradient Decent 梯度下降法
- Normal Equations 正规方程
- 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