文章内容参考《PATTERN RECOGNITION & MACHINE LEARNING》作者:CHRISTOPHER M.BISHOP 文章作者联系邮箱:humminwang@163.com

Preview (Chapter 1):

  • 作者叨叨一下人工智能
  • 以例子入门了解机器学习:多项式曲线拟合
  • 概率论 ← \quad \leftarrow
  • 模型选择 ← \quad \leftarrow
  • 高维诅咒
  • 决策论
  • 信息论

1 概率论

概率论是入门人工智能最基本的学科之一,现在机器学习的主要流派就是统计派,是以大量数据作为先验知识进行学习推理的过程,有点像教小孩,你只有不断的让他接触什么是月亮,长什么样子等等,最后当他看到月亮时就会认出什么是月亮。概率论主要学习什么呢?我们为什么学习这些知识,有用么?其实在机器学习中的概率论主要学的是一些函数分布,这样我们在构造我们的损失函数或者目标函数的时候可以选择一些尽量符合数据的函数分布,比如现实生活中大多数数据其实都可以理解为高斯分布加上噪声产生的数据,这样拟合的效果会很好。同时概率论中有些方法比如MLE(最大似然估计)等可以用来求解模型参数。甚至概率论中经典的贝叶斯法则在机器学习中经常作为衡量不确定度的一种方法等等。

几个要点:
  • 联合分布(Joint Probability)
    就是两个事件同时发生的概率。
  • 边际概率 (Marginal Probability)
    单个事件发生的概率。
  • 条件概率(Conditional Probability)
    在某事件发生的条件下,另一事件发生的概率。
  • 概率密度函数(PDF:Probability Densities Function)
    针对连续变量,其积分是累积分布函数。一般用来观察随机变量概率变化情况。
  • 概率质量函数(PMF:Probability Mass Function)
    针对离散变量,同PDF。
  • 累积分布函数 (CDF:Cumulative Distribution Function)
    输出为变量在该条件下的概率。

期望 Expectations:

数学期望(mean)(或均值,亦简称期望)是试验中每次可能结果的概率乘以其结果的总和,是最基本的数学特征之一。它反映随机变量平均取值的大小。下面是几种期望的计算方法:
在这里插入图片描述

方差和协方差 Variances and Covariances

方差:方差是在概率论和统计方差衡量随机变量或一组数据时离散程度的度量。概率论中方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。
协方差:在概率论和统计学中用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。
下面是计算方法:
在这里插入图片描述

贝叶斯理论:

相较于传统的概率计算,贝叶斯理论主要提出了一种对不确定事件发生概率的度量。
可简单表示为:
p ( w ∣ D ) = p ( D ∣ w ) p ( w ) p ( D ) p(w|D)=\frac{p(D|w)p(w)}{p(D)} p(wD)=p(D)p(Dw)p(w)
后验概率 ∼ \sim 似然 × \times × 先验

高斯分布:

高斯分布是最常见的函数分布,在大部分算法中我们都是假设数据服从高斯分布。
在这里插入图片描述
高斯函数的均值和方差:
在这里插入图片描述
多元高斯分布,即 X X X不再是一维数据,而是多维数据。同样其概率密度函数将变为:
在这里插入图片描述
高斯函数参数估计:
在这里插入图片描述
这里用到的方法是最大似然函数估计(MLE)法来估计函数参数,对上式的 p ( x ∣ μ , σ 2 ) = ∏ n = 1 N N ( x n ∣ μ , σ 2 ) p(x|\mu,\sigma^2)=\prod^N_{n=1}N(x_n|\mu,\sigma^2) p(xμ,σ2)=n=1NN(xnμ,σ2)取log,求导。(详细过程参考最大似然估计法步骤)
在这里插入图片描述
无偏估计是用样本统计量来估计总体参数时的一种无偏推断。估计量的数学期望等于被估计参数的真实值,则称此此估计量为被估计参数的无偏估计,即具有无偏性,是一种用于评价估计量优良性的准则。
μ M L \mu_{ML} μML μ \mu μ的无偏估计,同时 σ M L 2 \sigma^2_{ML} σML2 ( N − 1 N σ 2 ) (\frac{N-1}{N}\sigma^2) (NN1σ2)的无偏估计。
在这里插入图片描述

曲线拟合:

在这里插入图片描述
我们可以这么理解这个图,我们给出 x x x,对应的 t t t值服从一个高斯分布,取高斯分布的均值 μ = y ( x , w ) \mu=y(x,w) μ=y(x,w).对于这样一个问题,我们有下列方法可以得出参数值从而进行预测。

  • 最大似然法:
    通过累积取对数操作之后,优化 w w w可以通过最小平方误差和求出,之后对带入 β \beta β中即可得到最优化的 β \beta β.得到所有参数后便可以进行预测。
    在这里插入图片描述
  • MAP (Maximum Posterior)最大后验法:
    该方法主要结合了先验概率,使后验概率的表示形式为
    p ( w ∣ X , t , α , β ) ∼ p ( t ∣ X , w , β ) × p ( w ∣ α ) p(w|X,t,\alpha,\beta)\sim p(t|X,w,\beta)\times p(w|\alpha) p(wX,t,α,β)p(tX,w,β)×p(wα)
    这种方式考虑了先验分布,运用了贝叶斯理论,最终我们可以得到最优化 w w w通过给出的数据。
    在这里插入图片描述
  • 贝叶斯曲线拟合
    虽然MAP包含了先验分布,但是仍然属于点估计,还不是贝叶斯方法。在一个完整的贝叶斯算法中,我们应该使用累积和累加规则,正如下面所示我们积分了所有的 w w w.
    在这里插入图片描述

2 模型选择

在所有的预测中最关键的就是寻找到模型的参数,不同的模型有不同复杂的参数,所以我们在做预测时一定要选好更适合我们数据的模型,这样可以减少很多参数,从而简化问题。

交叉验证

在模型设计中,如果模型是通过好几次迭代在一个固定的数据集上,那么很容易就会出现过拟合的问题,所以我们一般设置一个测试集来检验模型,避免发生过拟合。但是在一个模型中我们希望更多的数据作为训练集,但是又不能存在太少的测试集,因为可能会存在噪声干扰。所以我们采用交叉验证的方法。在这里插入图片描述
如果数据集被分为 S = 4 S=4 S=4份,那么将循环训练和测试,每次都选取其中一份作为测试集,其余的作为训练集,最后的得分取平均,就是交叉验证。
交叉验证的主要问题是1.计算量变大。2.同时最坏情况下可能造成训练次数是参数个数的指数次。
交叉验证主要有三种方法:
第一种是简单交叉验证,所谓的简单,是和其他交叉验证方法相对而言的。首先,我们随机的将样本数据分为两部分(比如: 70%的训练集,30%的测试集),然后用训练集来训练模型,在测试集上验证模型及参数。接着,我们再把样本打乱,重新选择训练集和测试集,继续训练数据和检验模型。最后我们选择损失函数评估最优的模型和参数。

第二种是S折交叉验证(S-Folder Cross Validation)。和第一种方法不同,S折交叉验证会把样本数据随机的分成S份,每次随机的选择S-1份作为训练集,剩下的1份做测试集。当这一轮完成后,重新随机选择S-1份来训练数据。若干轮(小于S)之后,选择损失函数评估最优的模型和参数。

第三种是留一交叉验证(Leave-one-out Cross Validation),它是第二种情况的特例,此时S等于样本数N,这样对于N个样本,每次选择N-1个样本来训练数据,留一个样本来验证模型预测的好坏。此方法主要用于样本量非常少的情况,比如对于普通适中问题,N小于50时,我一般采用留一交叉验证。


下节预告:

高维诅咒、决策论、信息论!(入门人工智能必修的基础数学知识,跟着老王慢慢学,下节见~~~)
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐