机器学习 第三讲:从矩阵和概率的角度解释最小均方误差函数

最小均方误差函数

第一讲里,我们提到了最小均方误差函数,给出一组有 m 个样本的训练集,我们希望找到合适的参数 θ, 使得预测值 hθ(x) 与目标值尽可能接近。为了估计参数 θ, 我们定义如下的 cost function:

J(θ)=12∑i=1m(hθ(xi)?yi)2

这个 cost function 就是最小均方误差函数,第一讲里面,我们用梯度下降算法估计参数 θ, 而第二讲里面我们提到了矩阵的基本运算及矩阵的求导,现在就从矩阵的角度求参数θ的解析解。

矩阵的解析解

给定一组训练样本,D={(xi,yi)|xi∈Rn,yi∈R}mi=1, xi 是维数为 n 的输入特征(默认为列向量),yi 是连续的实数值,m表示样本数,则输入特征可以用矩阵表示为:

X=[x1,x2,?,xm]T

输出变量可以用一个向量表示为:

y=[y1,y2,?,ym]T

而我们从第一讲已经知道,hθ(xi)=xTiθ, 则我们可以得到如下的表达式:

Xθ?y=????xT1θ?xTmθ?????????y1?ym????=????hθ(x1)?y1?hθ(xm)?ym????

则最小均方误差函数可以表示为:

J(θ)=12∑i=1m(hθ(xi)?yi)2=12(Xθ?y)T(Xθ?y)

利用第二讲的矩阵基本运算将上式展开,可以得到:

J(θ)=12θTXTXθ?θTXTy?yTXθ+yTy

利用第二讲的矩阵求导,可以得到 J(θ) 对 θ 的偏导数为:

?J(θ)?θ=12(XTXθ+XTXθ?2XTy)=XTXθ?XTy

令该偏导数为0,则可以得到:

XTXθ=XTy

最终可以得到参数 θ 的解析解为:

θ=(XTX)?1XTy

如果矩阵 (XTX)?1 可逆,则该解就是全局最优解,有的时候,该矩阵不一定可逆,就是我们常常遇到的样本数远远大于参数的个数即m?n,那么参数θ 就只能得到近似解。

从最大似然估计到最小均方误差

有的时候我们会考虑,在做回归问题的时候,为什么用最小均方误差函数作为 \textbf{cost function}, 为什么不用其它的函数。接下来,我们从概率分布的角度去考虑这个问题,随后我们会发现,最小均方误差函数从某种意义上来说,

是从最大似然估计中演化出来的。

我们先假设目标值与输入变量之间存在以下关系:

yi=θTxi+?i

其中,?i是一个误差项,表示由于一些我们没有考虑到的因素导致估计值域目标值之间出现得偏差,我们进一步假设这些误差项是

独立同分布的(independently and identically distributed), 并且是均值为0,方差为 σ2 的高斯分布(这是自然界非常常见的一种分布)。我们可以表示为

?i~N(0,σ2), 其概率密度函数为:

p(?i)=12π??√σexp(??2i2σ2)

将式代入,可以得到:

p(yi|xi;θ)=12π??√σexp(?(yi?θTxi)22σ2)

这里需要注意,p(yi|xi;θ)表示的是yi对xi的条件概率,θ是参数,xi是随机变量,两者之间用";"隔开,不能用

","隔开。当我们考虑所有的样本时,则所有的输出变量的分布表示为:p(y|X;θ), 我们可以建立一个关于参数θ的似然函数:

L(θ)=L(θ;X,y)=p(y|X;θ)

因为?i 是独立同分布的,我们可以得到:

L(θ)=∏i=1mp(yi|xi;θ)=∏i=1m12π??√σexp(?(yi?θTxi)22σ2)

最大似然估计原则告诉我们,要选择参数θ使得概率要尽可能地高。所以我们可以建立如下的优化函数:

maxθ[∏i=1m12π??√σexp(?(yi?θTxi)22σ2)]

上式是一个单调函数,根据单调函数的传递性原则,我们可以对上式取对数,则可以得到:

l(θ)=log(L(θ))=log∏i=1m12π??√σexp(?(yi?θTxi)22σ2)=∑i=1mlog12π??√σexp(?(yi?θTxi)22σ2)=mlog12π??√σ?1σ2?12∑i=1m(yi?θTxi)2

因此,要使上式最大化,则只要使其中的二次项最小化,即

minθ12∑i=1m(hθ(xi)?yi)2

我们可以看到,从概率出发,最小均方误差是最大似然估计非常自然的一种延伸,两者最后可以完美的统一起来。

参考文献

Andrew Ng, “Machine Learning”, Stanford University.

时间: 2024-11-05 15:50:09

机器学习 第三讲:从矩阵和概率的角度解释最小均方误差函数的相关文章

[转载]机器学习中常用的矩阵求导公式

原文地址:机器学习中常用的矩阵求导公式作者:MachineLearner 矩阵求导好像读书的时候都没学过,因为讲矩阵的课程上不讲求导,讲求导的课又不提矩阵.如果从事机器学习方面的工作,那就一定会遇到矩阵求导的东西.维基百科上:http://en.wikipedia.org/wiki/Matrix_calculus , 根据Y与X的不同类型(实值,向量,矩阵),给出了具体的求导公式,以及一堆相关的公式,查起来都费劲. 其实在实际的机器学习工作中,最常用到的就是实值函数y对向量X的求导,定义如下(其

【bzoj1778】[Usaco2010 Hol]Dotp 驱逐猪猡 矩阵乘法+概率dp+高斯消元

题目描述 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= 300)一共N个猪城.这些城市由M (1 <= M <= 44,850)条由两个不同端点A_j和B_j (1 <= A_j<= N; 1 <= B_j <= N)表示的双向道路连接.保证城市1至少连接一个其它的城市.一开始臭气弹会被放在城市1.每个小时(包括第一个小时),它有P/Q (1 <= P <=1,000,000; 1 <= Q <

poj 3744 矩阵加速--概率DP

http://poj.org/problem?id=3744 犯二了,,递推式,矩阵幂什么都会,但是我推得跟别人不一样,,,应该是对矩阵理解问题,,,再看看 #include <cstdio> #include <cstring> #include <algorithm> #include <string> #include <iostream> #include <iomanip> #include <cmath> #i

Stanford机器学习---第三讲. 逻辑回归和过拟合问题的解决 logistic Regression &amp; Regularization

原文地址:http://blog.csdn.net/abcjennifer/article/details/7716281 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学习系统设计.SVM(Support Vector Machines 支持向量机).聚类.降维.异常检测.大规模机器学习等章节.所有内容均来自Standford公开课machin

poj 3744 Scout YYF I(矩阵优化概率)

http://poj.org/problem?id=3744 有n个雷,某人的起始位置在1,每次走一步的概率为p,走两步的概率是1-p,给出n个雷的位置,问最后成功走出雷区的概率. 放在高中应该是很简单的分步乘法求概率.即把每一个雷都没踩到的概率求出来,最后n个相乘就是顺利通过的概率.对于输入的n个位置进行分段1~num[1],num[1]+1~num[2]......每一段都只有一个雷num[i],每一段内踩不到雷的概率就是1-踩到num[i]雷的概率. 设dp[i]表示踩到第i个雷的概率,那

poj 3744 Scout YYF I(矩阵优化概率DP)

Scout YYF I Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5153   Accepted: 1404 Description YYF is a couragous scout. Now he is on a dangerous mission which is to penetrate into the enemy's base. After overcoming a series difficulties,

HDU 5607 graph(矩阵优化+概率DP)

该题很容易想到求概率的转移方程:用d[i][j]表示第i步,走到j点的概率. 但是该题的k高达1e9,所以按照套路,要用矩阵相乘来优化. 第一次写矩阵相乘, 大概的意思就是利用矩阵实现递推, 并且因为每次递推的过程一样, 所以就相当于右乘这个矩阵的k次方. 用矩阵快速幂即可. 矩阵相乘这个问题, 大概可以看成, 矩阵中的每个元素表示到该点的概率, 那么另一个矩阵就是DP矩阵, 表示当前一步到各点的概率, 矩阵相乘就等于下一步到各点的概率(矩阵乘法的意义). 另外, 要对答案进行1e9+5次方再取

GloVe----共现矩阵与概率、概率比值

一.共现矩阵 矩阵的行和列都是词典中的所有词,Xij的定义为,在所有词i的上下文中,Xj出现的次数.因此Xi定义为,所有的Xij之和,也就是词i出现的上下文中的词数总和,基本和词i的出现次数成正比. 二.概率 Pij定义为Xij/Xi,即词j在词i的上下文中出现的次数占词i总上下文次数的比值. 三.概率比值 比值ratio定义为,借助于第3个词k,探究2个词的关系,出现了一些规律 我们考虑ice冰和steam气的关系,借助于第3个词k: 发现当k为solid时,k和ice近似,这时ratio>>

机器学习 第二讲:矩阵的基本运算

矩阵的基本概念 假设 aij∈R, 其中 i=1,2,...,m; j=1,2,...,n. 我们定义如下的行列式: A=??????a11a21?am1a12a22?am2???a1na2n?amn?????? 是一个维数为 m×n 的实数矩阵.有时候我们会用如下的表达式来表示一个矩阵: A=[aij],i=1,2,...,m;j=1,2,...,n 这表示一个m行n列的矩阵,下标的第一个数i表示行,第二个数j表示列. 列向量定义: 一个向量可以看成是只有一列的矩阵,所以,这里讨论的所有向量都