Skip to content

haoyu-haoyu/Machine-Learning-study-resource

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

Machine-Learning-study-resource

Resource about Machine learning I am a computer science college student currently studying Machine Learning, so I created this material hoping to help other friends who are studying the course. If there are any errors or unreasonable parts in the content, please feel free to point them out
我是一名计算机大学生目前正在学习Machine Learning,于是创建了这份资料也希望帮助其他正在学该课程的朋友,如果其中的内容有错误或不合理的地方也欢迎指出来

Bayesian - 贝叶斯定理

$P(A \mid B)=\frac{P(B \mid A) P(A)}{P(B)}$

$P(B)=P(B \mid A) P(A)+P(B \mid \neg A) P(\neg A)$

  • P(A∣B):事件 A 在事件 B 发生的条件下的概率,称为 后验概率
  • P(B∣A):事件 B 在事件 A 发生的条件下的概率,称为 似然函数
  • P(A):事件 A 的先验概率,在得到任何额外信息之前对 A 的信念。
  • P(B):事件 B 发生的概率,称为 边缘概率,是所有情况下 B 发生的可能性。

贝叶斯定理的关键思想是:在获取新信息之后,更新我们对某一事件发生的相信度。它通过结合 先验概率似然,得到一个新的 后验概率

“Posterior probabilities distributions narrower and closer to ’true’ value”

  • 后验概率分布往往比先验分布更窄且更接近“真实”值。这意味着当我们获得越来越多的数据时,我们的概率分布会变得更加集中和精确,也就是说,我们对某个事件的可能性的估计越来越准确,误差越来越小。这个过程帮助我们更好地逼近事实或真实情况。

“Can quantify probabilities in experiments that allow no repeat”

  • 贝叶斯方法的一个特点是它可以在那些实验 无法重复 的情况下为事件赋予概率。比如说,如果我们想知道某个历史事件发生的可能性,由于历史事件不可重复,传统的频率派统计无法处理这种情况,但贝叶斯方法可以通过基于我们已有的知识和经验,为这样的单次事件赋予概率。

“No systematic way of choosing priors”

  • 贝叶斯方法中需要一个 先验概率,即在得到新数据之前我们对事件的初步估计。然而,选择先验概率并没有一个系统、标准的方法,这往往需要基于主观判断或者已有的知识。这就是贝叶斯方法中的一个挑战,因为不同的先验选择可能会对最终结果产生很大影响。不过,一旦有足够的数据,先验对结果的影响会逐渐减小。

Frequentist Statistics - 频率派统计

“Probabilities are estimates made over a large ensemble of identical experiments”

  • 概率是通过大量相同实验的结果来估计的。频率派统计中的概率定义是基于 大量重复进行的实验。通过观察某个事件在很多次实验中的发生频率,我们估计出其概率。例如,如果我们想知道硬币正面朝上的概率,我们需要反复抛硬币,并通过大量实验的结果估计这个概率。

“Requires no prior beliefs”

  • 不需要先验信念。频率派统计的方法是 完全基于数据 的,而不是基于某种先验的主观判断。在频率派统计中,我们只依赖于实验结果和数据来进行分析,数据本身决定了概率和参数的估计,而不需要事先的猜测或假设(这和贝叶斯统计不同,后者需要先验概率来描述我们在获得新数据之前对某个事件的初步估计)。

“Assume any experiment is repeatable: often problematic”

  • 假设所有实验是可以重复的:这常常是个问题。频率派统计的一个基本假设是实验可以在相同条件下重复进行,但这在现实中并不是总能做到的。例如,一些实验可能具有 不可重复性
    • 历史事件,比如一场特定的战争,我们无法再来一次。
    • 在医学上,有些患者的病情是独一无二的,因此无法对相同的个体重复进行相同实验。这种假设对很多单次事件、罕见事件,或者不可重复的实验是不适用的,这就是频率派方法的局限性。

Can lead to biased estimates of parameters

  • 频率派统计方法在参数估计上可能会出现系统性的偏差。这通常是因为频率派完全依赖于样本数据和某些假设,而这些假设可能不完全真实或样本量不足。这就是为什么在实际统计中,我们需要使用各种修正方法来减少偏差,或在适当的场合下考虑其他统计方法(例如贝叶斯方法),以获得更准确的结果。

Expectation values, Variance, Moments - 期望值,方差,矩

Expectation value: 期望值是一个随机变量的 加权平均值,通常用来衡量该变量的中心位置。在数学上,期望值可以理解为一种 “平均” 的概念,表示在重复很多次实验的情况下,结果的平均值

$\mathbb{E}[f]=\sum_i p\left(x_i\right) f\left(x_i\right)$

  • f(xi):这是函数 f 在状态空间中某个状态 xi​ 上的值,表示该状态的特定结果。
  • p(xi):这是状态 xi​ 的概率,表示状态 xi​ 发生的可能性。

这个公式的含义是:对于所有可能的状态 xi​,将状态的值 f(xi​) 与它的发生概率 p(xi) 相乘,然后把这些结果加总起来。这就是函数 fff 的期望值。期望值反映了随机变量在给定概率分布下的“平均”行为。

Variance: 方差是一个衡量 随机变量离散程度 的指标,描述了数据分布相对于其期望值的偏离程度。换句话说,方差告诉我们随机变量的值相对期望值有多大程度的波动。

$\text{var}[f] = \mathbb{E}\left[(f(x) - \mathbb{E}[f(x)])^2\right]$

  • 首先计算随机变量的 偏差:f(x)−E[f(x)],也就是随机变量与其期望值之间的差距。
  • 然后对偏差进行 平方,这样可以避免正负抵消,并加大离期望值较远的数值的影响。
  • 最后对所有偏差平方的期望值进行计算。

$\text{var}[f] = \mathbb{E}\left[f(x)^2\right] - \mathbb{E}^2[f(x)]$
这意味着,方差可以用 随机变量平方的期望值 减去 期望值的平方 来计算。这两个表达式在数学上是等价的,提供了不同的角度去理解和计算方差。

  • E[f(x)^2] 表示对 f(x)^2 计算期望值。

  • E^2[f(x)] 表示先计算 f(x) 的期望值,然后再取平方。

  • 期望值 (Expectation Value) 表示随机变量的平均值,是数据的中心趋势。

  • 方差 (Variance) 衡量数据的分散程度,表示随机变量相对于其期望值的波动大小。

Discrete Distributions (Bernoulli)

伯努利分布(Bernoulli Distribution) 是一种非常简单的 离散概率分布,描述了一种只有两个可能结果的随机试验,比如“成功/失败”或“是/否”。伯努利分布适合描述像抛硬币这样的事件,其中只有两个可能的结果:正面(成功)或反面(失败)。

$P(X=x)=p^x(1-p)^{1-x}, \quad x \in{0,1}$

  • p 表示事件发生(X=1,例如成功)的概率,其中 0≤p≤1
  • 1−p 表示事件不发生(X=0,例如失败)的概率。

所以,伯努利随机变量 X 的 PMF 可以表示为:

  • x=1 时,P(X = 1) = p。
  • x=0 时,P(X=0)=1−p。

例如,对于一个抛硬币的例子,如果硬币是公平的(即正面和反面的概率都是 0.5),那么:

  • P(X=1)=0.5(正面)。
  • P(X=0)=0.5(反面)。 期望值 E[X]=p 方差 Var(X)=p(1−p) 这个方差值告诉我们随机变量的波动情况。例如,当 ppp 接近 01 时,方差很小,这意味着大多数结果都比较确定;而当 p=0.5p = 0.5p=0.5 时,方差最大,说明结果波动较大。

Discrete Distributions (Binomial - AKA Random Walk 二项分布概述)

二项分布 的概率质量函数(Probability Mass Function, PMF)给出了在 N 次独立Bernoulli试验中,成功 m 次的概率,其公式为:

$$ P(X=m)=\binom{N}{m} p^m(1-p)^{N-m} $$

  • $X$ : 随机变量, 表示成功发生的次数。
  • $\binom{N}{m}$ :组合数 (" $N$ 选 m"), 表示在 $N$ 次试验中选择 $m$ 次成功的方法数, 具体公式为: $$ \binom{N}{m}=\frac{N!}{m!(N-m)!} $$
  • $p$ : 单次试验成功的概率。
  • $1-p$ : 单次试验失败的概率。
  • $m$ :成功发生的次数, $0 \leq m \leq N$

期望值 (Expected Value): 二项分布的期望值表示我们预期在 $N$ 次试验中成功的次数, 其公式为: $$ E[X]=N \cdot p $$

这意味着如果我们进行了 $N$ 次试验, 每次成功的概率是 $p$, 那么我们预计有 $N \cdot p$ 次成功。 方差 (Variance):方差表示数据相对于其期望值的离散程度, 其公式为: $$ \operatorname{Var}(X)=N \cdot p \cdot(1-p) $$

这个方差描述了成功次数的波动程度。例如, 如果成功概率接近 0 或 1, 波动较小; 如果成功概率接近 0.5 , 波动最大。

Continuous Distributions - 连续分布

连续分布 是指随机变量可以取 连续范围内的任何值 的概率分布(温度20℃-25℃之间 21.3℃、23.456℃、24.999℃)。这与离散分布不同,后者只能取有限或可数的值(骰子1,2,3,4,5,6)。对于连续分布,概率是通过 概率密度函数 (Probability Density Function, PDF) 来描述的,而不是像离散分布那样通过概率质量函数 (PMF) 描述单个值的概率。

概率密度函数 (PDF)

描述了随机变量在某个区间内取值的可能性。对于连续随机变量 XXX,概率密度函数通常记为 $f(x)$

PDF 的重要性质

  1. 非负性:对任意 $x, f(x) \geq 0$ 。概率密度永远是非负的。
  2. 积分为 1:概率密度函数在整个可能范围内的积分为 1 , 即: $$ \int_{-\infty}^{\infty} f(x) d x=1 $$

这表明随机变量一定会取一个值。

对于任意区间 $[a, b]$ ,随机变量 $X$ 落在该区间的概率为: $$ P(a \leq X \leq b)=\int_a^b f(x) d x $$

Uniform Distribution

  • 均匀分布 是最简单的连续分布之一, 在某个区间 $[a, b]$ 上, 所有的数都同样可能出现。
  • 概率密度函数为: $$ f(x)=\frac{1}{b-a}, \quad a \leq x \leq b $$

这意味着在 $[a, b]$ 之间的每个值都有相同的概率。

  • 均匀分布的期望值为 $\frac{a+b}{2}$, 方差为 $\frac{(b-a)^2}{12}$

Gaussian Distribution (Normal Distribution)

  • 正态分布(也叫 高斯分布)是最常见的连续分布之一, 在自然界和许多数据集中都广泛出现。
  • 它的概率密度函数为: $$ f(x)=\frac{1}{\sqrt{2 \pi \sigma^2}} e^{-\frac{(x-\mu)^2}{2 \sigma^2}} $$

其中, $\mu$ 是均值, $\sigma^2$ 是方差。

  • 正态分布的形状呈钟形曲线, 其峰值在均值处, 均值也表示了分布的中心位置, 而方差控制曲线的宽度(波动性)。

均值 ( $\mu$ ) 的计算

均值,也称为期望值或平均值,是描述数据中心位置的一个度量。它表示所有数据点的平均水平。

计算均值的公式为: $$ \mu=\frac{1}{N} \sum_{i=1}^N x_i $$

其中:

  • $x_i$ :第 $i$ 个数据点。
  • $N$ :数据的总数量。

均值的计算过程是将所有的数据值相加,然后除以数据点的数量。例如:

  • 假设你有一组数据: $x=[3,7,5,9,4]$
  • 计算均值: $$ \mu=\frac{3+7+5+9+4}{5}=\frac{28}{5}=5.6 $$

因此,这组数据的均值为 5.6 。

  1. 标准差 $(\sigma)$ 的计算

标准差 是衡量数据的分散程度的一个指标,它描述了每个数据点与均值的偏离程度。标准差 是 方差的平方根,因此计算标准差需要先计算 方差。

方差的计算 方差表示数据点与均值的偏离的平方的平均值。计算方差的公式为: $$ \sigma^2=\frac{1}{N} \sum_{i=1}^N\left(x_i-\mu\right)^2 $$

其中:

  • $x_i$ :第 $i$ 个数据点。
  • $\mu$ :数据的均值。
  • $N$ :数据的总数量。

具体步骤如下:

  1. 首先, 计算均值 $\mu$
  2. 然后, 对于每个数据点 $x_i$, 计算它与均值之间的差, 并将这个差值平方。
  3. 将所有这些平方差求和, 然后除以数据点的总数量 $N$

Likelihood(可能性) vs Probability(概率)

概率 (Probability)

  • 条件已知:我们知道所有可能结果的概率分布,然后去计算某个具体事件发生的概率。
  • 例子:假设我们有一个硬币,正面朝上的概率为 p=0.5,反面朝上的概率为 1−p=0.5。当我们掷一次硬币时,计算“正面朝上”的概率就是在已知参数 p 的情况下计算结果的发生概率。

似然 (Likelihood)

  • 条件未知:似然是关于参数的,它是在观察到某些数据后,评估哪个参数值最有可能解释这些观察数据的好工具。
  • 例子:假设我们掷了一枚硬币 10 次,得到 7 次正面3 次反面。在这种情况下,我们并不知道硬币的正面朝上的概率(即参数 p),但是我们可以用 似然 来评估哪一个 p 最有可能解释我们观测到的结果(7 次正面和 3 次反面)。

概率 侧重于 已知模型参数 来计算事件发生的可能性,而 似然 侧重于在 已知数据 的基础上,推测最有可能的模型参数。

Inference(推断)

推断通常包括以下几个步骤:

  • 假设模型:首先假设一个模型,用来描述数据生成的过程。这个模型通常包含一些未知的参数。
  • 收集数据:从实验或现实中收集到一组样本数据。
  • 估计参数:利用这组数据来估计模型中的未知参数。
  • 进行预测:使用得到的模型进行预测或进一步的推断。

Maximum Likelihood Estimation, MLE 最大似然估计

MLE 的目标是找到一组参数值,使得在给定这些参数的情况下,生成观测数据的概率最大。为了实现这一点,我们构造一个 似然函数 (Likelihood Function),这个函数表示参数的不同取值下观测数据的可能性。通过找到使得似然函数值最大的参数,我们就可以得到对模型参数的估计值。

似然函数的定义 假设我们有一个包含 $N$ 个独立观测值的数据集 $X=\left[x_1, x_2, \ldots, x_N\right]$, 且这些观测值是由同一个分布生成的。这个分布通常依赖于某些未知参数 $\theta$ 。我们定义似然函数 (Likelihood Function) 为: $$ L(\theta)=P(X \mid \theta) $$

  • $\theta$ : 是我们想要估计的未知参数。
  • $X$ : 是我们观测到的数据。

似然函数 $L(\theta)$ 表示在给定参数 $\theta$ 的情况下, 生成观测数据 $X$ 的概率。最大似然估计的目标是找到使得 $L(\theta)$ 最大的参数 $\theta$

  1. 构造似然函数:
  • 首先,根据观测数据和假设的概率模型,写出似然函数。对于独立观测值,似然函数通常表示为各观测值的联合概率: $$ L(\theta)=\prod_{i=1}^N P\left(x_i \mid \theta\right) $$
  1. 取对数似然函数:
  • 为了简化计算, 我们通常对似然函数取对数, 得到 对数似然函数 (Log-Likelihood Function): $$ \ell(\theta)=\log L(\theta)=\sum_{i=1}^N \log P\left(x_i \mid \theta\right) $$
  • 取对数的好处是:将原来的乘法变为加法,计算和优化都更加方便。同时,对数函数是单调递增的,最大化对数似然等价于最大化原始的似然。
  1. 求导数:
  • 对对数似然函数 $\ell(\theta)$ 对参数 $\theta$ 求偏导数, 并令其等于 0 , 找到使对数似然达到最大值的参数: $$ \frac{\partial \ell(\theta)}{\partial \theta}=0 $$
  1. 解方程, 找到参数估计值:
  • 通过求解上面的方程, 得到 $\theta$ 的值, 这就是使得观测数据最有可能的参数估计值。

Example

  1. 写下似然函数
  • 我们有一组数据, 比如:'HTTTTHHTTTTTTHHT'。在这个例子中, 我们有 7 次正面 (H) 和 8次反面 $(\mathrm{T})$
  • 假设硬币正面朝上的概率为 $\mu$, 那么反面朝上的概率就是 $1-\mu$
  • 我们可以写下似然函数, 即在给定参数 $\mu$ 时观察到这些结果的概率: $$ L(\mu)=\mu^7(1-\mu)^8 $$
  • $\mu^7$ 表示我们得到 7 次正面的概率。
  • $(1-\mu)^8$ 表示我们得到 8 次反面的概率。
  1. 最大化似然函数 为了找到最有可能生成我们观察数据的 $\mu$, 我们需要最大化这个似然函数。直接求解似然函数是比较麻烦的,因为它涉及到很多乘积,因此我们通常会取对数来简化计算。

  2. 对似然函数取对数 对似然函数取对数会将乘法变为加法, 这就是所谓的对数似然函数: $$ \ell(\mu)=\log L(\mu)=7 \log (\mu)+8 \log (1-\mu) $$

这一步的好处是:

  • 将乘法变为加法, 计算上更简单。
  • 对数函数是单调递增的, 这意味着最大化对数似然等价于最大化原始的似然函数。
  1. 对对数似然求导并设为 0 现在, 我们要通过对对数似然函数求导, 找到最大化似然的参数 $\mu$ 。 $$ \frac{d \ell(\mu)}{d \mu}=\frac{7}{\mu}-\frac{8}{1-\mu}=0 $$

这一步的目的就是找到使对数似然达到最大值的 $\mu_{\text {。 }}$ 5. 求解参数 $\mu$ 我们求解上面的方程, 得到: $$ \mu=\frac{7}{7+8}=\frac{7}{15} $$

也就是说,最大似然估计 给出的正面概率的估计值是 $\mu=\frac{7}{15} \approx 0.47$

Joint Probabilities(联合概率)

联合概率 是两个或多个事件同时发生的概率。如果我们有两个事件 $A$$B$, 联合概率可以表示为 $P(A \cap B)$, 也可以用 $P(A, B)$ 来表示。这表示事件 $A$ 和事件 $B$ 同时发生的概率。

1 独立事件 如果两个事件是 独立的, 这意味着一个事件的发生不会影响另一个事件发生的概率。那么它们的联合概率就是两个事件各自概率的乘积。 $$ P(A, B)=P(A) \times P(B) $$

例子:

  • 想象我们郑一枚硬币并同时郑一个骰子。
  • 事件 A:硬币正面朝上的概率 $P(A)=0.5$
  • 事件 B:股子点数为 4 的概率 $P(B)=\frac{1}{6}$
  • 由于硬币和股子是独立的, 它们的联合概率为: $$ P(A, B)=P(A) \times P(B)=0.5 \times \frac{1}{6}=\frac{1}{12} $$

也就是说, 掷硬币正面朝上且骰子点数为 4 的概率是 $\frac{1}{12}$

2 非独立事件 如果两个事件 不独立, 那么一个事件的发生会影响另一个事件发生的概率。在这种情况下, 我们使用条件概率来计算联合概率。 $$ P(A, B)=P(A) \times P(B \mid A) $$

这里:

  • $P(B \mid A)$ 是 在事件 A 已经发生的情况下, 事件 B 发生的概率。这叫做条件概率。

例子:

  • 假设我们有一副标准扑克牌, 事件 A 是从牌堆中抽到一张红牌(26 张中的一张), 事件 B 是接下来抽到一张红桃牌(13张中的一张)。
  • 抽到第一张红牌的概率 $P(A)=\frac{26}{52}=0.5$
  • 如果事件 A 发生了, 即我们已经抽了一张红牌, 那么现在牌堆中只剩下 51 张牌, 其中有 25张红牌。
  • 在事件 A 发生的情况下, 抽到红桃牌的条件概率为 $P(B \mid A)=\frac{13}{51}$
  • 所以, 联合概率为: $$ P(A, B)=P(A) \times P(B \mid A)=0.5 \times \frac{13}{51} \approx 0.127 $$

也就是说,抽到第一张红牌后再抽到一张红桃牌的概率是 $12.7 %$

Marginal Probability(边缘概率)

一个事件或随机变量的概率,考虑所有可能的其他相关事件。简单来说,它是某个特定随机变量取某些值的概率,而不关心其他变量

在计算边缘概率时, 我们通过联合概率对其他相关随机变量进行求和或积分。例如, 假设我们有两个随机变量 $\mathbf{X}$$\mathbf{Y}$, 它们的联合概率表示为 $P(X, Y)$, 我们可以通过对 $\mathbf{Y}$ 取所有可能值的联合概率进行求和,来得到 $\mathbf{X}$ 的边缘概率。 $$ P\left(X=x_i\right)=\sum_j P\left(X=x_i, Y=y_j\right) $$

  • 这里, $P\left(X=x_i\right)$ 是 X 的边缘概率。
  • 我们将 Y 的所有可能取值的联合概率 $P\left(X=x_i, Y=y_j\right)$ 求和,以消除 Y 对 X 的影响。

如果 $\mathbf{X}$$Y$ 是连续的,边缘概率的计算方式类似,只不过是将求和替换为积分: $$ P(X=x)=\int P(X=x, Y=y) d y $$

The Curse of Dimensionality - 维度灾难

在高维空间中,数据和问题的复杂性随着维度的增加而显著增加的现象。这种复杂性会导致计算、存储、建模等方面遇到严重的困难。

  • 空间变得稀疏:在高维空间中,数据点之间的距离变得非常大,导致数据看起来彼此之间非常远。
  • 计算和存储成本增加:高维数据需要更多的存储空间,同时处理和分析这些数据的计算量也会急剧增加。
  • 模型训练困难:机器学习模型在高维数据下可能难以找到有效的模式,可能会出现过拟合等问题。

维度灾难带来的影响

  • 数据稀疏性 (Data Sparsity): 随着维度的增加,数据会变得非常稀疏。(比如说在二维很容易地覆盖数据点,在三维中则需要更多的数据来覆盖相同的比例,在更高维度中则几乎不可能)

    • 高维空间中的点彼此之间的距离变得非常远,数据变得稀疏,难以找到足够的邻近数据来进行有意义的推断。
    • 这种稀疏性会导致机器学习模型难以进行准确的拟合,因为数据样本远远不够覆盖整个空间,模型的泛化能力受到限制。
  • 距离度量失效:在高维空间中,所有数据点之间的距离差异变得很小,使得我们难以区分哪些点更相似、哪些点更不相似。随着维度增加,距离的差异(最大距离和最小距离之差)趋向于零,这使基于距离的判断失去了意义。

  • 计算量和存储量急剧增加:在高维空间中,存储和处理数据的计算成本大大增加

  • 过拟合问题:高维空间中由于特征的数量特别多,模型可能会学到与任务无关的噪声或特征从而导致过拟合。(即使在训练数据表现很好,但在新数据上就表现很差)

Example

假设我们要在一个正方体内随机分布点。在低维情况下:

  • 一维 (1D):是一个线段,我们需要相对少的点就可以有效覆盖。
  • 二维 (2D):是一个正方形,我们需要比一维更多的点来覆盖整个正方形。
  • 三维 (3D):是一个立方体,需要的点数再次成倍增加。
  • 高维 (nD):假设我们有一个 100 维 的超立方体,要有效覆盖这个立方体的空间,点的数量会呈指数增长,几乎难以实现。 ![[Pasted image 20241004213631.png]]

解决维度灾难的方法

特征选择 (Feature Selection)

  • 通过特征选择,我们可以去除那些对模型预测没有重要影响的特征,从而减少维度。这可以通过特征的重要性排序来实现,例如使用统计检验、递归特征消除 (RFE)、决策树等方法。

特征提取 (Feature Extraction)

  • 特征提取 是通过将原始特征转换为新的特征来降低维度,比如常用的 主成分分析 (PCA),它将高维空间中的特征映射到低维空间中,同时尽量保持原始数据的变化信息。其他常用的特征提取方法包括 线性判别分析 (LDA)因子分析 等。

使用正则化方法

  • 在模型训练中使用正则化(如 L1 正则化、L2 正则化)可以帮助模型减少高维特征带来的过拟合问题。正则化通过在损失函数中加入惩罚项,使得模型的参数保持尽可能小,以降低复杂度和过拟合的风险。

About

Resource about Machine learning

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors