专栏名称: Nefelibatas
在此记录自己的算法工程师学习之路,生活修行感...
目录
相关文章推荐
鲁中晨报  ·  微信功能又上新!网友:真不错 ·  昨天  
鲁中晨报  ·  痛心!他在18岁的最后一晚,遗憾离世 ·  昨天  
山东省交通运输厅  ·  菏泽机场将新增“呼和浩特—菏泽—厦门”航线 ·  2 天前  
鲁中晨报  ·  从1994年开始贪腐,李晓鹏,获刑15年! ·  3 天前  
德州晚报  ·  刘洪海履新 ·  3 天前  
51好读  ›  专栏  ›  Nefelibatas

机器学习中的数学

Nefelibatas  · 简书  ·  · 2022-02-24 20:36

正文

数学理论的主要内容

机器学习的各种角度和建模流程

概率论和统计学基础概念复习

极大似然体系和 EM 算法

贝叶斯体系和 Variational Bayes 算法

矩阵代数:基本概念复习和 Tensor 求导

证明的过程:把已知的公式写出来,寻找和需要证明的公式的联系

log单变

交叉熵损失函数 L = -[ y log y* + (1-y) log (1 - y*) ]

log 运算并不会影响函数本身的单调性

极大似然

HMM:需要背诵推导过程

贝叶斯:用后验更新先验

似然函数定义:θ是固定的,但是在贝叶斯里,θ 是随机的,所以写成 P(x|θ) 但还是似然函数。

概率论

概率论是描述随机的语言,分为朴素概率论和公理性概率论。

主要讲朴素概率论。

随机变量: \Omega → R的函数

CDF累积分布函数 = \int PDF 概率密度函数\\ 已知CDF,直接求导即可得到PDF \\ 已知PDF,对其微分可得CDF

基础知识

一维离散:

一维离散可以直接讨论概率

一维离散可以假设概率取值只是整数

P(X ≤ x) = \sum_{i≤x}^{} p(X = i), 或者用更标准的写法 P(X ≤ t) = \sum_{i≤t}^{}P(x)

连续变量:

连续意味着可能性至少不是有限的还是可以定义 P(X ≤ x)

但是定义 p(x) 的时候就有问题

PDF与CDF:

在给定一个连续变量时,只能定义

P(X ≤ m) = \int_{-\infty}^{m}p(x)dx

虽然离散和连续的定义有所不同,但是积分本身就是一种非常复杂的加法

F_X(t) := P(X ≤ t) 就是Cumulative Distribution Function(累积分布函数)

p(x) 就是Probability Density Function(概率密度函数),不是概率值

多维情况下:

以二维为例:

P(X ≤ m, Y ≤ n) = \int_{-\infty}^{m}\int_{-\infty}^{n}p(x,y)dxdy

对于边际分布 p(x) = ∫ p(x, y)dy ( 只关心x的趋势所以对y积分 )同理p(y)也是

条件概率 p(x|y) = p(x, y) / p(y)

注意:在连续的情况下,PDF可以大于1,离散不行

数学期望

给定一个概率密度函数p(x),再给定一个函数f(x),定义数学期望(Expectation)为:

E_p[f(x)] = \int f(x)p(x)dx

条件数学期望:

给定一个条件概率密度函数 p(x|y), 再给定一个函数 f(x),定义其的条件数学期望(Conditional Expectation)为:

E_p[f(X)|Y=y]:=\int f(x)p(x|y)dx

正态分布

若随机变量X服从一个数学期望为μ、方差为σ^2 的正态分布,记为N(μ,σ^2)。

其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度,当μ = 0,σ = 1时的正态分布是标准正态分布。

一维正态分布

若随机变量X服从一个位置参数为 µ、尺度参数为σ的概率分布,且其概率密度函数为:

f(x)=\frac{1}{\sqrt{2\pi}\sigma}e^{\frac{-(x,\mu)^2}{2\sigma^2}}

则这个随机变量就称为正态随机变量,正态随机变量服从的分布就称为正态分布,记作X~(μ,σ 2),读作X服从N(μ,σ 2) ,或X服从正态分布。

条件概率

P(A|B) = \frac{P(AB)}{P(B)}

贝叶斯公式

P(A|B) = \frac{P(B|A)P(B)}{P(B)}\\ P(A_i|B)=\frac{P(B|A_i)P(A_i)}{\sum_j P(B|A_j)P(A_j)}

在贝叶斯法则中,每个名词都有约定俗成的名称: P(A)是A的先验概率或边缘概率。之所以称为"先验"是因为它不考虑任何B方面的因素。 P(A|B) 是已知B发生后A的条件概率,也由于得自B的取值而被称作 A的后验概率 。 P(B|A)是已知A发生后B的条件概率,也由于得自A的取值而被称作B的后验概率。 P(B)是B的先验概率或边缘概率,也作标准化常量(normalized constant)。

手推贝叶斯公式

p(y|x) = \frac{p(y)p(x|y)}{∫ p(x|y)p(y)dy}

前置条件:

p(x|y)=p(x,y)/p(y)

p(x)=\int p(x,y)dy

推导过程:

\because p(x|y)=p(x,y)/p(y),

\therefore p(y|x) =p(x,y)/p(x),p(x,y)=p(y)p(x|y)

\therefore p(y|x)=\frac{p(y)p(x|y)}{p(x)}

\because p(x)=\int p(x,y)dy,结合p(x,y)=p(y)p(x|y)

\therefore p(x)=\int p(x|y)p(y)dy

证毕。

重点部分

Multinomial:P(X = xi) = pi

正态分布:

p(x) = {\frac{1}{ σ\sqrt{2π}} }{e(^-{\frac{(x-\mu)^2}{2\sigma^2}})}\\ 或者\\ p(x) = \frac{1}{\sigma\sqrt{2\pi}}e^{{-\frac{1}{2}}({\frac{x-\mu}{\sigma})^2}}

其中 µ 、 σ 是参数。常常写成 X ∼ N(µ, σ^2 )

当μ=0,σ=1时,正态分布就成了标准正态分布:

f(x)={\frac{1}{ \sqrt{2π}} }{e^{ -\frac{x^2}{2} }}

极大似然估计MLE :

考虑最简单的情况,即掷一个不公平的硬币:

每一个硬币向上的概率为p(xi),用yi = 1记载硬币向上

就此得到硬币向下的概率为 1 − p(xi), 用 yi = 0表示

整体观测到目前情况的概率为:

p(x_i) ^{y_i} × (1 − p(x_i))^{(1−y_i)},这就是似然函数

取个 log,这就是对数似然函数:

y_ilog(p(x_i)) + (1 − y_i)log(1 − p(x_i))

极大似然函数的基本思想:

找到使目前似然函数最大的那个观测

或者由于对数变换是单调变化,找到负的对数似然函数最小的那个。

只抛一次硬币,当然没有任何做推断的价值

现在假设抛 N 次硬币,得到观测 {x_i , yi ; i ≤ N}

继续假定每次抛硬币的结果不影响下一次抛硬币的概率分布,即观测独立

则似然函数为

∏ _i p(x_i)^{y_i}(1 − p(x_i))^{(1−y_i)}\\ P(y_i | x_i) = p^{y_i}(1-p)^{1-y_i},已知p(x_1) = p\\ 当y=1,P = p;y=0,P=1-p

连乘带来的问题:因为如果连乘一个 0 到 1 之间的数,得到的乘积会越来越小,特别小的时候,电脑就会出现数值问题(比如说10 的负十万次方)

如何解决数值问题?

取个 log 即可:log(xy) = log(x) + log(y)。

则负的对数似然函数为:

− ∑ _i (y_i log(p(x_i)) + (1 − yi)log(1 − p(x_i)) \\

这就是 Binary Cross Entropy交叉熵

交叉熵是极大似然估计的一个特例。

接下来考虑p(x_i)长什么样?

首先,0<=p(xi)<=1

一个常见选择:

p(xi) = \frac{1}{1+e^{-f(x_i)}}

如果 f(x_i) = ∑ _k β_kx_i , 其中 β_k 为未知参数(需要求解),则得到了逻辑回归的数学表达形式

−\sum _iy_ilog(p_β(x_i)) + (1 − y_i)log(1 − p_β(xi))\\

【注】:这种 f 的函数形式被称之为线性函数,近似于多个线性函数组合 的函数是最重要的一类函数形式。

现在假设有 yi,服从期望为 f(x_i) 且方差为 1 的正态分布。(必须假定其概率分布)

也就是说

p(y_i) = \frac{1}{\sqrt{2π}} e^{\frac{−(y_i − f(x_i))^2}{2}}

推导其对应的对数似然函数:

-\sum _i{p(y_i)} = {-\sum _i \frac{-(y_i-f(x_i))^2}{2}} + K

其中 K 是一个跟 f 无关的常数,所以这里最小化的距离是

∑ _i (y_i − f(x_i))^2,这就是最小二乘法。

题目:x_1,..x_n服从均匀分布f[ 0,p ],p未知,求p的极大似然值\\ 均匀分布: \\ 当x_i = [1,p] \\ p(x_i) = \frac{1}{p} ;\\ 否则,p(x_i) = 0\\

分两种情况讨论:

当 p_{MLE} >= max_{xn}:\\ 因为极大似然\\ p_{MLE} >= max_{xn}()\\ 1/p是递减函数\\ 所以p_{MLE} = max_{xn}\\ 当p_{MLE} <= max_{xn} = 0\\

极大似然估计

通常情况下,在极大似然框架中如果容易推导出对数似然函数,那么求解将会非常容易。

但是 如果存在隐变量,则推导变得非常困难。

在一些情况下,EM 算法是解决隐变量问题的一个非常通用的框架 (现实情况少见)

EM算法

EM算法是一种迭代优化策略,由于它的计算方法中每一次迭代都分两步,其中一个为期望步(E步),另一个为极大步(M步),所以算法被称为EM算法(Expectation-Maximization Algorithm)。EM算法受到缺失思想影响,最初是为了解决数据缺失情况下的参数估计问题。

其基本思想是:

首先根据己经给出的观测数据,估计出模型参数的值;

然后再依据上一步估计出的参数值估计缺失数据的值,

再根据估计出的缺失数据加上之前己经观测到的数据重新再对参数值进行估计,

然后反复迭代,

直至最后收敛,迭代结束。

考虑以下关系:用 l(θ; X) 表示对数似然函数,则 :

I(\theta,X) = log p_\theta(X)







请到「今天看啥」查看全文