线性回归

线性回归

@(机器学习经典算法总结)


最大似然估计(Maximum likelihood Estimate)

在开始我们第一个算法之前呢,先介绍机器学习中一个非常重要的准则,这是一种参数估计的方法——最大似然估计MLE(Maximum Likelihood Estimate)
最大似然估计应用场景是模型已定,参数未定 比如掷硬币我们知道服从伯努利分布,班上同学整个成绩服从高斯分布,这些情况下模型已经确定了,但是伯努利的概率,高斯分布的期望和方差都还没确定,很适合用最大似然求解。
我们定义给定模型下,数据的似然为$$P(dataset\ |\ M)=P(x_1,x_2,...,x_n\ | \ M)=\prod_{k=1}^{n}P(x_k\ | \ M)$$
即是说,数据集dataset在模型M下发生的概率等同于数据集各数据在模型M下发生概率的连乘。
我们可以明确,概率值$P(x_k\ | \ M)介于0-1之间$,而一般$n值比较大$,连乘得到的值会非常小,小数点后很多位,造成下溢。
所以一直使用对数似然,即在连乘前加个$log$将连乘转换为求和。
$$logP(dataset\ |\ M)=log\prod_{k=1}^{n}P(x_k\ | \ M)=\sum_{k=1}^{n}{logP(x_k\ | \ M)}$$
由此我们已经得到了对数似然函数,最大似然意思就是说调整模型参数使当前数据集情况发生概率最大。那么此时应该使似然函数对模型参数求偏导为0,解出我们的模型参数。
简而言之,最大似然求模型参数的过程为:

  • 列出对数似然函数
  • 对数似然函数对模型参数分别求偏导并为0,求出各参数值

下面通过两个例子来求最大似然进而求出模型参数。
1、掷硬币(伯努利分布)

比如我们通过十次实验,出现了七次正面,三次反面。
则我们假设出现正面的概率为$\rho$,这也是伯努利分布的唯一参数。
则原始似然函数为:
$$P(dataset\ |\ \rho)=P(x_1,x_2,...,x_n\ | \ \rho)=\prod_{k=1}^{n}P(x_k\ | \ \rho)$$
转换为对数似然函数为:
$$
\begin{split}
logP(dataset\ |\ \rho)&=\sum_{k=1}^{n}{logP(x_k\ | \ \rho)} \
&=7log(\rho)+3log(1-\rho)
\end{split}
$$
似然函数求导=0解出来$\rho=0.7$

思考

我们发现解出来的概率值为0.7,很符合我们的观察数据,但是我们从过往的经验中得知,掷硬币正反面的概率各为0.5,我们这里确为0.7,那么问题在什么地方呢?我们的样本很少,实验只做了10。
如果在样本数很少的情况下,也想得到更符合实际情况的概率值?怎么进行参数估计呢?就引出了最大后验概率MAP贝叶斯估计两种参数估计方法了,它们在参数估计中加入了先验概率,比如加入掷硬币正反概率各为0.5的先验概率。这两种参数估计我在后面的博客也会总结。


2、班级成绩分布(高斯or正态分布)
高斯分布的概率密度函数为
$$
f(x)=\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(x-\mu)2}{2\sigma2})
$$
则对数似然函数
$$
log \ L(x\ |\ \mu,\sigma)=\sum_{i=1}{n}log(\frac{1}{\sqrt{2\pi}\sigma})-\sum_{i=1}{n}\frac{(x_i-\mu)2}{2\sigma2}
$$
分别对$\mu和\sigma$求导为0,可解出$$
\begin{split}
\mu&=\frac{\sum_{i=1}^{n}x_i}{n}\
\sigma&=\frac{1}{n}\sum_{i=1}{n}(x_i-\mu)2
\end{split}
$$


极大似然估计推导最小二乘法


一句话解释:模型是参数的线性函数。
最简单的线性回归,模型既是输入变量的线性函数,又是参数的线性函数。
$$f(x)=\omega_0+\omega_1x_1+\omega_2x_2+...+\omega_nx_n$$
假设$x_0=1,$则,$f(x)=\sum_{i=0}^{n}\omega_i
x_i$
那么我们现在的目的就是确定模型的参数$\omega_i$来尽可能完美的拟合训练数据集,如何去量化我们这个目标?基本所以的博客或者教科书都是说使用最小二乘法来确定参数$\omega_i$。
西瓜书《机器学习》上说通过均方误差最小化对模型求解称为最小二乘法
数学表达式就是:
$$\omega*=\mathop{\arg\min}\limits_{\omega*}\sum_{i=1}{m}(f(x_i)-y_i)2$$
并且说明,均方误差几何意义对应欧氏距离,试图找到一条直线,使得所有样本到直线上的欧氏距离(距离平方)之和最小。
则,均方误差也即是线性回归的损失函数:$$J(\omega)=\sum_{i=1}{m}(f(x_i)-y_i)2$$.

到此为止都是教科书式的内容,那么思考一下为什么我们会使用最小二乘即均方误差最小来求线性回归的参数呢?换言之为什么线性回归的损失函数是平方损失函数?

我在CMU的线性回归教材中发现,CMU Slides Linear Regression,线性回归的完整式子是这样:
$$y=\omega*x+\xi$$
带有一个噪声项,表示测量所致或者数据自带的噪声,并且假设噪声服从高斯分布(为什么假设成高斯分布呢?其实因为中心极限定理)更详细的可以看正态分布的前世今生,详细说明了最小二乘的由来以及和正态分布的关系,看完了真心崇拜高斯。
$$\xi_i-N(0,\sigma^2),则y_i-N(\omega x_i,\sigma^2)$$
即$$
f(y_i)=\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(y_i-\omega x_i)2}{2\sigma2})
$$
则,似然函数$$\begin{split}
L(yi\ |\ \omega,\sigma)&=\prod_{i=1}^{n}\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(y_i-\omega x_i)2}{2\sigma2})\
&=({\sqrt{2\pi}\sigma})nexp(-\sum_{i=1}n(\frac{(y_i-\omega x_i)2}{2\sigma2}))
\end{split}
$$
到此我们可以看出,如果使得似然函数取极大,则括号内的求和运算需要取最小,即$$
min\sum_{i=1}^n{(y_i-\omega x_i)^2}
$$
这就等价于最小二乘法了。
至此,我们可以看出为什么使用最小二乘法求解线性回归,或者说线性回归为什么使用平方损失函数。
知乎陈清扬分析里面还说了,如果噪声服从的拉普拉斯分布的话,
$$
f(x\ |\ \mu,b)=\frac{1}{2b}exp(-\frac{|x-\mu|}{b})
$$
此时,指数不在是平方而是绝对值,几何意义上来说,不再对应欧氏距离而是曼哈顿距离,即选出一条线使得各点到直线距离之和最小。
所以结论是,采用何种方法拟合换言之损失函数选择什么,是取决于样本的噪声被假定为何种分布,而在自然情况下,该噪声服从高斯分布,所以线性回归使用最小二乘法。

比较有意思的是,看上面链接的《正态分布的前世今生》,发现,其实勒让德这个数学家早于高斯几年发表了的最小二乘法,但是没有给出数学证明,只是单纯的觉得这个方法不错,而且欧式距离求解容易,慢慢的形成惯例使用最小二乘法求解线性模型,这其实和我一开始学线性回归时候一样,倒不是说我也想到了最小二乘这种方法,哈哈,只是看到几何意义上的解释,也就没有关注数学层面上的证明了,直到最近想把这个搞明白,在国外大学上的slide发现了线性回归的公式后面有个小尾巴——噪声项,觉得比较神奇,最后才搞清楚。感觉搞算法还是追根溯源,才能豁然开朗。


多元线性回归和非线性基函数(multivariate regression and non-linear basis function)

当我们对上面的线性回归做一个扩充:
$$
f(x)=\omega_0+\omega_1x_1+\omega_2x_22+\omega_3*x_33+...
$$
请问上式还是不是线性回归了?
答案却是是线性回归。不要觉得$x的幂次项$就不是线性回归了,线性回归的定义我在上小节给出了,模型是参数的线性函数。模型是不是变量的线性函数其实没有关系。而且正因为没有这层约束,线性回归才有更大的价值。
这里引入了一个叫做非线性基函数的概念,有点类似SVM中的核函数。
将上式转换为:
$$
f(x_i)=\sum_{i=0}^{n}\omega_i*\phi(x_i)
$$
常用的基函数为:

  • 多项式基函数 $\phi_j(x)=x^j \ for\ j=0,...,n$
  • 高斯基函数 $\phi_j(x)=\frac{(x-\mu_j)}{2\sigma_j^2}$
  • sigmoid基函数 $\phi_j(x)=\frac{1}{1+exp(-x)}$
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容