机器学习相关的基本公式:从Bayes公式到cross entropy

一、引子

cost function (在其他场合也常称为 error function 、lost function 或 object function ),是机器学习理论中最“朴素”也最核心的概念之一。(其地位相当于物理学中尊贵无比的“作用量”)

不论是简单的linear/logistic regression模型,还是复杂一点的SVM、RBM等模型,或者更加复杂的神经网络模型,“万变不离其宗”,只要我们谈到要“训练”模型 (从另一个角度说,也叫“拟合”数据) ,那么我们首先要搞清楚这个模型的 cost function 怎么计算,这是我们“训练”的入手点

另一方面,cost function 的具体选择对于初学者却似乎不太友好。例如:在线性回归、SVM等模型中,我们的cost function 会用到 均方差(Mean Square Error)形式;而在神经网络等模型中 cost function 又会采用 cross entropy 形式(cross entropy的定义在不同场景下也有些细腻的差异,只死记硬背定义的话会难以变通)。我们自然要问:

  • cross entropy 是怎么引入的,有没有像均方差一样简单直观的理解方式?
  • cross entropy 和 均方差形式的 cost function 可不可以彼此关联起来?
  • cost function 中的 regularization 项有没有更加“优雅”的引入方式?
  • 有没有统一的理论框架可以让这些“七零八落”的概念各居其位,全部理顺?

为了回答这些疑问,让我们先回顾一下机器学习要解决的问题。

二、选择模型

我们以一个典型的“拟合”或 supervised learning 问题为例。这类问题可以描述为:

已知一组采样数据 S:={(x1,y1),(x2,y2),,(xN,yN)} ,其中 xi 可以视为输入的参量, yi 视为输出量。(不妨记采样集 X:={x1,x2,,xN} 1 Y:={y1,y2,,yN} 问题:给定一个新的 x , 怎样根据已知数据“最合理地”预测出其对应的 y 值?

为了能利用数学工具描述并解决这个问题,我们首先要假设一种数学结构来描述变量关系 。(即选择model,model中所依赖的全部参数记为 θ,即 “一个 θ 对应一个模型”

最直接的一个想法是: 我们假定 y x 之间存在函数关系,即 y=f(x,θ) , 其中 θ 是函数 f() 所依赖的参数。这是一个“决定论”模型(y的值由 x 唯一决定),这类模型最明显的限制是: 一个 x 值只能对应唯一一个 y 值,它从一开始就无法描述“一个 x 对应多个 y 值”这种可能性。

因此,为了将推导建立在更普适的基础上,我们选择“概率论” 模型: 我们将 x 看做是随机变量 X 的采样值, y 看做是随机变量 Y 的采样值。 于是,给定 x 后, y 的值由条件概率 p(y|x,θ) 决定,其中 θ 是该概率模型所依赖的参数)。

显然,当 p(y|x,θ)=δ(yf(x,θ)) 时 (其中 δ() 表示 Dirac函数), 这个“概率论”模型还原到 y=f(x,θ) 的“决定论”模型

三、怎样预测

(1) 关于Bayes公式

假设已知条件概率 p(y|x,θ) 的表达式,并给定参数 θ 的值,则对于某个给定的 x 值, y “最合理”的预测值应当取如下概率平均值:

y^=dy[yp(y|x,θ)](1)

(这里假设 y 的取值空间是连续,例如“regression问题”。对于y 取离散值的情形,例如“分类问题”, 可以取 y^=argmaxyp(y|x,θ)
在贝叶斯思想中,除了观测数据,我们不应对理论模型的正确性做任何假设,或者说:我们应该把所谓模型的“正确性”也看做一个概率分布。 即,这里描述模型的参数 θ 不应当是给定的, 而应当也看做一个概率分布,于是公式(1)应改写为:

y^=dydθ[yp(y|x,θ)p(θ)] p(θ)  θ “(2)

由于每个 θ 对应一个model,对 θ 的积分,其含义就是对所有 model 的统计平均。(这种对所有 model 的统计平均,类似于统计物理中 “系综平均”的概念)。

下面的问题是该怎样选定 p(θ) 呢?显然,一个合理的假设是: p(θ) 的选取应当依赖于已知的观测数据 (X,Y) ,也就是说, p(θ) 应是在给定数据 (X,Y) 前提下的某种“条件概率”,即

p(θ)p(θ|X,Y)=p(θ)p(Y|X,θ)=p(θ)i=1Np(yi|xi,θ)(3)

其中等式的第二步用到 Bayes公式 ,第三步用到 i. i. d. 假设 (independent, identical distribution), 即每个观测数据 (xi,yi) 都是同一分布的一次独立采样结果。 p(θ) θ 的“先验分布”( p(θ) 是我们需要“手工”选定的, 如果我们对 θ 没有任何“先验”认识,那么可以取 p(θ) 为均匀分布。 后文中,我们会看到, p(θ) 是 cost function 中 regularization 项一种非常自然的引入方式)

将公式(3)代入公式(2),我们进一步得到

y^=dydθ[yp(θ)p(y|x,θ)i=1Np(yi|xi,θ)](4)

即,只要我们选取一个 p(y|x,θ) (以及“先验分布” p(θ) ), 我们就可以得到“预测值” y^ .

四、极值点近似

根据上面的式子,我们有两点结论:

  1. 仅仅在Bayes 公式的框架下,(即不涉及任何model“训练”过程),我们已经有一套方法完全可以实现“预测”。
  2. 基于Bayes公式的“预测”,一般计算量很大。在model参数和观测数据很多的情况下,我们很难处理(因为涉及到对所有参数的全空间积分,同时被积函数又和所有数据点的值有关)

因此为了简化计算,我们引入“极值点近似”:我们认为 p(θ)p(θ|X,Y) 满足某种“凸性”,我们 p(θ) 可以用其极大值位置 θ 来描述 (想象 p(θ) 是一个“凸峰”,其极大值的位置在 θ ), 即:

p(θ)δ(θθ) θ θ=argmaxθp(θ|X,Y)(5)

将近似条件(5),带入用于“预测”的公式(2),我们有:

y^=dy[yp(y|x,θ)](6)

其中 θ ,结合公式(3),满足极值条件:

θ=argmaxθp(θ|X,Y)=argmaxθ[p(θ)i=1Np(yi|xi,θ)]=argmaxθlog[p(θ)i=1Np(yi|xi,θ)]=argmaxθ[logp(θ)+i=1Nlogp(yi|xi,θ)]

即,

θC(θ)=argminθC(θ):=1Ni=1Nlogp(yi|xi,θ)1Nlogp(θ)C0(θ)1Nlogp(θ)(7)

C(θ) 即是训练model时用到的 cost function。我们可以通过 SGD 等方法来找到极值点 θ

通过上面的推导,我们可以发现:机器学习中“训练”模型的整套数学方法可以看做是 Bayes公式在“极值点近似”下2的结果。下面我们将证明: 公式(7)第一项 C0(θ)1Ni=1Nlogp(yi|xi,θ) 和 第二项 可以分别看作是 “cross entropy”和 regularization 因子

五、cross entropy 和 regularization

基于已经观测到的数据 (X,Y) ,我们定义“经验分布”(emprical distribution)为:

q(x,y)1Ni=1Nδ(xxi)δ(yyi)dxdyq(x,y)=1

于是公式(7)中的 C0(θ) 可以改写为:

C0(θ)=dxdyq(x,y)logp(y|x,θ)cross_entropy(q,pθ)

C0(θ) 是“经验分布” q 和 “理论分布”pθ 之间的 cross entropy 。

为了避免over-fitting,我们不希望weight参数过大,因此常在 cost function 中引入一个额外项。这个额外项,被称为 regularization 因子。所谓“不希望weight参数过大”,换句话说,就是我们对weight参数有个“先验”预期,(我们不妨把公式(7)中的 θ 看做 weight参数),即 “先验分布” p(θ) 应当优先取范数较小的值,因此我们不妨把 p(θ) 取为以 0 为中心的正态分布:p(θ)eNα|θ|2 Nα 可以看作一个调节正态分布宽度的参数),带入公式 (7), 我们有:

C(θ)=C0(θ)+α|θ|2+()

其中的 α|θ|2 “正好”还原了 L2 regularization 的结果;同样如果我们取 p(θ)eNα|θ| ,则我们将还原 L1 regularization 的结果。综上,公式(7)的意义正好可以看作是 cross entropy 和 regularization 的和

六、cross entropy 判据和 均方差判据的关系

在公式(7)中,如果我们取 p(y|x,θ) 满足正态分布形式 p(y|x,θ)eα[yf(x,θ)]2 ,则 公式(7) 化为:

θ=argminθC(θ)=argminθ[1Ni=1N[yf(x,θ)]2+regularization ]

这个公式的第一项求和,正好是均方差 (Mean Square Error)。即, p(y|x,θ) 取上述的正态分布时,“最小化 cross entropy判据 ”还原为 “最小化均方差判据”。



  1. X 可以看做一个“随机序列”,在本文讨论的问题中各 {xi} 之间彼此独立。但在更一般的情况下, X 可以是一个有内在数学结构的序列,例如一条 Markov chain
  2. “极值点近似”在理论物理中和 “鞍点近似”、“平均场近似”等概念类似
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值