最近自己会把自己个人博客中的文章陆陆续续的复制到CSDN上来,欢迎大家关注我的 个人博客,以及我的github。

番外篇的内容主要是讲解一些在机器学习中经常会用到但是比较边缘化的知识,或者是某几个知识之间的一些联系和思考。番外篇的第一篇文章就来说一下“极大似然估计”,以及它与最小二乘法、负的对数似然之间的联系。

一、极大似然估计

极大似然估计(Maximum Likelihood Estimate,MLE)是一种在“模型已定,参数未知”的情况下来根据已有的观测值来确定最有可能的模型的参数的参数估计方法。其中“似然”二字是文言文,可以翻译成“可能这样”、“似乎这样”的意思,用现在的话说,就是“概率”的意思。


极大似然估计的步骤如下:

(1). 写出似然函数

(2). 对似然函数取对数,并化简整理

(3). 对数似然函数对参数 θ \theta θ求导,并令导数为0

(4). 求得参数 θ \theta θ,得到最终的模型


下面来看一下极大似然估计可行的原因以及其详细步骤。

假设我们已经知道样本满足的模型(概率分布)为 p ( x ; θ ) p(x;\theta) p(x;θ),其中 θ \theta θ是未知参数, p ( x ; θ ) p(x;\theta) p(x;θ)表示在参数为 θ \theta θ时出现观测数据的概率。

现在已知多个样本的观测值(具体的数值): x 1 , x 2 , . . . , x n x_1,x_2,...,x_n x1​,x2​,...,xn​,可以假设这些样本的观测值是独立同分布的。那么这些样本观测值同时出现的概率就是它们的联合概率密度:
L ( x ; θ ) = p ( x 1 , x 2 , . . . , x n ; θ ) = p ( x 1 ; θ ) ⋅ ( x 2 ; θ ) ⋅ . . . ⋅ ( x n ; θ ) L(x;\theta)=p(x_1,x_2,...,x_n;\theta)=p(x_1;\theta)\cdotp(x_2;\theta)\cdot...\cdotp(x_n;\theta) L(x;θ)=p(x1​,x2​,...,xn​;θ)=p(x1​;θ)⋅(x2​;θ)⋅...⋅(xn​;θ)
上述等式成立的条件是样本观测值之间独立。现在我们想去求使得以上概率最大时的参数是多少,通常的想法是一个函数只有在导数为0的时候才可能取极值,所以应该对以上概率函数求导,并令导数为0,求得参数 θ \theta θ。若有多个极值点,则还需要比较每个极值点的函数值大小。

但是因为上述概率函数是乘积的形式,不易求导,所以可以对其取对数,让它变为累加的形式,同时概率函数的单调性也不会发生变化。得以下公式:
l n [ L ( x ; θ ) ] = l n [ p ( x 1 ; θ ) ⋅ ( x 2 ; θ ) ⋅ . . . ⋅ ( x n ; θ ) ] = l n [ p ( x 1 ; θ ) ] + l n [ p ( x 2 ; θ ) ] + . . . + l n [ p ( x n ; θ ) ] ln[L(x;\theta)]=ln[p(x_1;\theta)\cdotp(x_2;\theta)\cdot...\cdotp(x_n;\theta)]=ln[p(x_1;\theta)]+ln[p(x_2;\theta)]+...+ln[p(x_n;\theta)] ln[L(x;θ)]=ln[p(x1​;θ)⋅(x2​;θ)⋅...⋅(xn​;θ)]=ln[p(x1​;θ)]+ln[p(x2​;θ)]+...+ln[p(xn​;θ)]
再对其求导,并令导数为0:
∂ l n [ L ( x ; θ ) ] ∂ θ = 0 \frac{\partial ln[L(x;\theta)]}{\partial \theta}=0 ∂θ∂ln[L(x;θ)]​=0
求得参数 θ \theta θ后就得到了完整的模型 p ( x ; θ ) p(x;\theta) p(x;θ)。

二、极大似然估计和最小二乘法

最小二乘法在机器学习的第0篇已经提到过,它的基本思想是:把使得测量值和真实值之间误差的平方和最小的测量值y当作真实值。可以用公式表示为:
min ⁡ y ( ∑ ( y − y ^ ) 2 ) ⇒ 真 值 y \min_y(\sum{(y-\hat y)^2})\Rightarrow 真值y ymin​(∑(y−y^​)2)⇒真值y
下面我们就来看一下极大似然估计和最小二乘法之间的关系,或者说从极大似然估计的角度解释最小二乘法。


假设在样本的真实值 y y y和预测值 y ^ \hat{y} y^​之间存在以下关系:
y i ( x i ) = y i ^ ( x i ; θ ) + ε i y_i(x_i)=\hat{y_i}(x_i;\theta)+\varepsilon_i yi​(xi​)=yi​^​(xi​;θ)+εi​
其中 x x x是样本, θ \theta θ是预测模型的参数, ε \varepsilon ε是预测值与真实值之间的误差。

假设样本相互独立,并且误差 ε \varepsilon ε是由大量因素所造成的,则由中心极限定理可知,大量随机变量的和近似服从于正态分布 n ( μ , σ 2 ) n(\mu,\sigma^2) n(μ,σ2)。而通过等比例的调整模型的参数 θ \theta θ总是可以使得误差满足均值为0的正态分布,即 ε ∼ N ( 0 , σ 2 ) \varepsilon \sim N(0,\sigma^2) ε∼N(0,σ2)。
p ( ε i ) = 1 2 π σ exp ⁡ ( − ε i 2 2 σ 2 ) p(\varepsilon_i)=\frac{1}{\sqrt{2\pi}\sigma}\exp{(-\frac{\varepsilon_i^2}{2\sigma^2})} p(εi​)=2π ​σ1​exp(−2σ2εi2​​)
又因为
ε i = y i ( x i ) − y i ^ ( x i ; θ ) \varepsilon_i=y_i(x_i)-\hat{y_i}(x_i;\theta) εi​=yi​(xi​)−yi​^​(xi​;θ)
所以
p ( y i ∣ x i ; θ ) = p ( ε i ) = 1 2 π σ exp ⁡ [ − ( y i − y i ^ ) 2 2 σ 2 ] p(y_i|x_i;\theta)=p(\varepsilon_i)=\frac{1}{\sqrt{2\pi}\sigma}\exp{[-\frac{(y_i-\hat{y_i})^2}{2\sigma^2}]} p(yi​∣xi​;θ)=p(εi​)=2π ​σ1​exp[−2σ2(yi​−yi​^​)2​]
极大似然函数为:
L ( θ ) = ∏ i = 1 n p ( y i ∣ x i ; θ ) L(\theta)=\prod_{i=1}^np(y_i|x_i;\theta) L(θ)=i=1∏n​p(yi​∣xi​;θ)
对数似然函数为:
l n L ( θ ) = l n ∏ i = 1 n p ( y i ∣ x i ; θ ) = ∑ i = 1 n l n 1 2 π σ exp ⁡ [ − ( y i − y i ^ ) 2 2 σ 2 ] lnL(\theta)=ln\prod_{i=1}^np(y_i|x_i;\theta)=\sum_{i=1}^nln\frac{1}{\sqrt{2\pi}\sigma}\exp{[-\frac{(y_i-\hat{y_i})^2}{2\sigma^2}]} lnL(θ)=lni=1∏n​p(yi​∣xi​;θ)=i=1∑n​ln2π ​σ1​exp[−2σ2(yi​−yi​^​)2​]

= n ⋅ l n 1 2 π σ − 1 2 σ 2 ∑ i = 1 n ( y i − y i ^ ) 2 =n\cdot ln\frac{1}{\sqrt{2\pi}\sigma}-\frac{1}{2\sigma^2}\sum_{i=1}^n(y_i-\hat{y_i})^2 =n⋅ln2π ​σ1​−2σ21​i=1∑n​(yi​−yi​^​)2

下一步就是通过求导求得使得对数似然函数取最大值时 θ \theta θ的取值。由于 n ⋅ l n 1 2 π σ n\cdot ln\frac{1}{\sqrt{2\pi}\sigma} n⋅ln2π ​σ1​是个定值,所以只需要求 1 2 ∑ i = 1 n ( y i − y i ^ ) 2 \frac{1}{2}\sum_{i=1}^n(y_i-\hat{y_i})^2 21​∑i=1n​(yi​−yi​^​)2什么时候取最小值即可。

而这正好是最小二乘法要做的事情,即求 J ( θ ) = 1 2 ∑ i = 1 n ( y i − y i ^ ) 2 J(\theta)=\frac{1}{2}\sum_{i=1}^n(y_i-\hat{y_i})^2 J(θ)=21​∑i=1n​(yi​−yi​^​)2最小时的 θ \theta θ值。

所以在机器学习中,经常会用平方误差函数作为模型的损失函数,平方误差函数的本质其实就是上面推导出来的负对数似然函数。

机器学习番外篇(1):极大似然估计和最小二乘法相关推荐

  1. 机器学习番外篇—朴素贝叶斯三种模型(多项式,高斯,伯努利)

    朴素贝叶斯三种模型(多项式,高斯,伯努利) 高斯 有些特征可能是连续型变量,比如说人的身高,物体的长度,这些特征可以转换成离散型的值,比如如果身高在160cm以下,特征值为1:在160cm和170cm ...

  2. 番外篇 齐老湿面试计

    番外篇 老齐面试计 这次,老齐冒充软件行业的新人,带着隐形录音笔去公司面试,希望大家能够学习其中的套路,"旁白君"是我当时的内心独白,以后我会经常更新类似的内容,打开微信扫描二维码 ...

  3. [zt]数学之美番外篇:平凡而又神奇的贝叶斯方法

    数学之美番外篇:平凡而又神奇的贝叶斯方法 Tags: 数学, 机器学习与人工智能, 计算机科学 save it69 saved tags: 贝叶斯 math bayesian algorithm 数学 ...

  4. 转:数学之美番外篇:平凡而又神奇的贝叶斯方法 收藏

    为什么80%的码农都做不了架构师?>>>    转自:http://blog.csdn.net/pongba/archive/2008/09/21/2958094.aspx 数学之美 ...

  5. Java番外篇1——正则表达式

    Java番外篇1--正则表达式 1.什么是正则表达式 正则表达式定义了字符串的模式 正则表达式可以用来搜索.编辑或处理文本 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别 2.正则表达式 ...

  6. OpenCV-Python实战(番外篇)——利用 SVM 算法识别手写数字

    OpenCV-Python实战(番外篇)--利用 SVM 算法识别手写数字 前言 使用 SVM 进行手写数字识别 参数 C 和 γ 对识别手写数字精确度的影响 完整代码 相关链接 前言 支持向量机 ( ...

  7. OpenCV-Python实战(番外篇)——利用 KNN 算法识别手写数字

    OpenCV-Python实战(番外篇)--利用 KNN 算法识别手写数字 前言 手写数字数据集 MNIST 介绍 基准模型--利用 KNN 算法识别手写数字 改进模型1--参数 K 对识别手写数字精 ...

  8. OpenCV-Python实战(番外篇)——利用 K-Means 聚类进行色彩量化

    OpenCV-Python实战(番外篇)--利用 K-Means 聚类进行色彩量化 前言 利用 K-Means 聚类进行色彩量化 完整代码 显示色彩量化后的色彩分布 相关链接 前言 K-Means 聚 ...

  9. 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV

    转载自:https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程:给深度学习入门者的Python快速教程 - 基础篇 给深度学习入门者的Python快速教程 - ...

最新文章

  1. mysql学习一:DB、DBMS、SQL之间的联系
  2. find的命令的使用和文件名的后缀
  3. html字体颜色自动变化,js设置字体颜色_自动改变文字大小和颜色的js代码分享
  4. java 过滤文件名_Java FileNameFilter过滤文件名
  5. python_threading模块实现多线程详解(转)
  6. 两步验证杀手锏:Java 接入 Google 身份验证器实战
  7. vm虚拟机安装包_一次Miniconda虚拟机安装的神奇踩坑记录
  8. 监督学习 | 朴素贝叶斯原理及Python实现
  9. 真正支配整个世界的十种算法
  10. linux下使用python_使用Linux环境下的vim Python开发环境
  11. hdu 1251(字典树)
  12. windows对应字体
  13. 学计算机的写论文题目,经典本科计算机论文选题 本科计算机论文题目怎样取...
  14. Proe3.0-5.0安装说明
  15. Java课程设计学生考勤管理
  16. 自动写字成图5款有趣实用的AIGC工具分享
  17. 昆石VOS3000/VOS2009 Web手机管理说明
  18. 三无电子烟与即将到来的监管时代
  19. HyperLynx(五)反射仿真
  20. 微信小程序————简易计算器

热门文章

  1. JavaScript:递增递减运算符(全面解析)
  2. java 电子发票_java电子发票管理系统-Go语言中文社区
  3. 一键下载网页所有图片(含dataurl格式图片)
  4. Error creating bean with name ‘ds1-sentinel-nacos-datasource‘:
  5. Learning Representations for(三)
  6. ubuntu下搭建https web服务器
  7. 泡泡堂段王一进去服务器不稳定,为什么泡泡堂游戏进入不了,只是点了选择了三区,然后就什么也没有了,过半天出来一个服务器连接中断...
  8. Spring框架基础
  9. 安卓背景音乐开关_微信7.0.4内测版怎么申请?微信7.0.4安卓内测版下载安装教程...
  10. 华中科技大学计算机大专毕业,#985变大专#华科大:本科不努力,毕业变专科 !...