文章目录
一、前言
此文章记录一些机器学习的相关知识点、公式及书写方法
二、参考文献
- KaTeX库 文档 https://katex.org/docs/supported.html
- 王木头b站视频 https://space.bilibili.com/504715181
- 李沐b站视频 https://space.bilibili.com/1567748478
- 百度百科
三、知识点及公式
1.线性回归
y = w x + b \LARGE {y=wx+b} y=wx+b
2.sigmoid函数
σ ( x ) = 1 1 + e − x \LARGE {\sigma(x) = {1 \above{1pt} 1+e^{-x}}} σ(x)=1+e−x1
3.逻辑回归
σ ( x ) = 1 1 + e − ( w x + b ) \LARGE {\sigma(x) = {1 \above{1pt} 1+e^{-(wx+b)}}} σ(x)=1+e−(wx+b)1
4.基尼指数
G i n i _ i n d e x ( D , a ) = ∑ v = 1 V D v D G i n i ( D v ) \LARGE Gini\_index(D, a) = \displaystyle \sum_{v=1}^V{D^v\above{1pt}D}Gini(D^v) Gini_index(D,a)=v=1∑VDDvGini(Dv)
5.基尼值
G i n i ( D ) = 1 − ∑ k = 1 ∣ y ∣ P k 2 \LARGE Gini(D)=1-\displaystyle \sum_{k=1}^{|y|}P_k^2 Gini(D)=1−k=1∑∣y∣Pk2
6.联合概率公式
P ( A B ) = P ( B ∣ A i ) ∗ P ( A i ) \LARGE P(AB) = P(B|A_i)*P(A_i) P(AB)=P(B∣Ai)∗P(Ai)
ps:
- P ( B ∣ A i ) P(B|A_i) P(B∣Ai):表示 A i A_i Ai事件已发生时, B B B事件发生的概率
- P ( A B ) P(AB) P(AB):表示A、B事件的联合概率【A、B同时发生的概率】
7.全概率公式
P ( B ) = ∑ k = 1 n P ( B ∣ A k ) ∗ P ( A k ) \LARGE P(B) = \displaystyle \sum_{k=1}^{n}P(B|A_k)*P(A_k) P(B)=k=1∑nP(B∣Ak)∗P(Ak)
ps:
- P ( B ) P(B) P(B):表示B事件的发生概率【全概率】
8.贝叶斯公式
P ( A i ∣ B ) = P ( A B ) P ( B ) = P ( B ∣ A i ) ∗ P ( A i ) ∑ k = 1 n P ( B ∣ A k ) ∗ P ( A k ) \LARGE P(A_i|B) = {P(AB) \above{1pt} P(B)} = {P(B|A_i)*P(A_i) \above{1pt} \displaystyle \sum_{k=1}^{n}P(B|A_k)*P(A_k)} P(Ai∣B)=P(B)P(AB)=k=1∑nP(B∣Ak)∗P(Ak)P(B∣Ai)∗P(Ai)
ps:
- P ( A i ) P(A_i) P(Ai):先验概率【事件还没有发生时,根据以往经验和分析得到的事件发生概率概率】,比如掷骰子结果为3的概率是六分之一
- P ( A i ∣ B ) P(A_i|B) P(Ai∣B):后验概率【事件已经发生,但事情发生可能有多个原因,判断事件由哪个原因引起的概率】,比如你坐在马桶上分析今天窜稀的原因是吃了那种水果
- P ( B ∣ A i ) P(B|A_i) P(B∣Ai):似然概率
9.求向量的模【 L 2 L2 L2范数】
设:
A
=
[
a
1
,
a
2
,
.
.
.
a
n
]
设:\LARGE A=[a_1,a_2,...a_n]
设:A=[a1,a2,...an]
则:
∣
A
∣
=
a
1
2
+
a
2
2
+
.
.
.
+
a
n
2
=
∑
i
=
1
n
a
i
2
则:\LARGE |A| = \sqrt{\smash[]{a_1^2+a_2^2+...+a_n^2}} = \sqrt{\smash[]{ \displaystyle \sum_{i=1}^{n}a_i^2}}
则:∣A∣=a12+a22+...+an2=i=1∑nai2
10.向量内积
设:
A
=
[
a
1
,
a
2
,
.
.
.
a
n
]
,
B
=
[
b
1
,
b
2
.
.
.
b
n
]
设:\Large A=[a_1,a_2,...a_n],B=[b_1,b_2...b_n]
设:A=[a1,a2,...an],B=[b1,b2...bn]
则:
A
⋅
B
=
∣
A
∣
∣
B
∣
cos
θ
=
a
1
∗
b
1
+
a
2
∗
b
2
+
.
.
.
+
a
n
∗
b
n
=
∑
i
=
1
n
a
i
∗
b
i
则:\Large A \cdot B = |A||B|\cos\theta = a_1*b_1+a_2*b_2+...+a_n*b_n = \displaystyle \sum_{i=1}^{n}a_i*b_i
则:A⋅B=∣A∣∣B∣cosθ=a1∗b1+a2∗b2+...+an∗bn=i=1∑nai∗bi
11.向量的余弦相似度
设:
A
=
[
a
1
,
a
2
,
.
.
.
a
n
]
,
B
=
[
b
1
,
b
2
.
.
.
b
n
]
设:\Large A=[a_1,a_2,...a_n],B=[b_1,b_2...b_n]
设:A=[a1,a2,...an],B=[b1,b2...bn]
则:
s
i
m
i
l
a
r
i
t
y
=
cos
(
θ
)
=
向量的内积
向量模的乘积
=
向量的内积
向量
L
2
范数的乘积
=
A
⋅
B
∣
A
∣
⋅
∣
B
∣
=
A
∣
A
∣
⋅
B
∣
B
∣
=
∑
i
=
1
n
a
i
∗
b
i
∑
i
=
1
n
a
i
2
∗
∑
i
=
1
n
b
i
2
则: similarity = \cos(\theta) = {向量的内积 \above{1pt} 向量模的乘积} = {向量的内积 \above{1pt} 向量L2范数的乘积} = {A \cdot B \above{1pt} |A|\cdot|B|} = {A \above{1pt} |A|} \cdot {B \above{1pt} |B|} = {\displaystyle \sum_{i=1}^{n}a_i*b_i \above{1pt} \sqrt{\smash[]{ \displaystyle \sum_{i=1}^{n}a_i^2}} * \sqrt{\smash[]{ \displaystyle \sum_{i=1}^{n}b_i^2}}}
则:similarity=cos(θ)=向量模的乘积向量的内积=向量L2范数的乘积向量的内积=∣A∣⋅∣B∣A⋅B=∣A∣A⋅∣B∣B=i=1∑nai2∗i=1∑nbi2i=1∑nai∗bi
PS:
- 一般做相似度检索时,有两种方式:
<1> 将文本或图像编码获得向量化特征之后入库,使用余弦相似度检索
<2> 将文本或图像编码获得向量化特征之后,先除以该向量的模(L2范式)得到归一化的向量特征再入库,使用向量内积进行检索,因为L2范式归一化之后的向量内积就等于向量的余弦相似度计算
优劣:方式一便于理解,方式二速度更快
12.似然函数
P ( x 1 , x 2 , x 3 . . . x n ∣ θ ) = ∏ i = 1 n P ( x i ∣ θ ) \LARGE P(x_1,x_2,x_3...x_n|\theta) = \displaystyle \prod_{i=1}^{n}P(x_i|\theta) P(x1,x2,x3...xn∣θ)=i=1∏nP(xi∣θ)
ps:
- 似然值定义:当假设(概率模型
θ
\theta
θ)为真时所得到的样本观察结果出现的概率。如果P值很小,说明原假设情况的发生的概率很小,而如果出现了,根据小概率原理,我们就有理由拒绝原假设,P值越小,我们拒绝原假设的理由越充分。
举例:- 假设抛硬币正、反的概率分别为0.1、0.9,真实观察10次结果为4正6反,那么
P 1 = 0. 1 4 ∗ 0. 9 6 = 5.314410000000001 e − 05 P_1=0.1^4*0.9^6=5.314410000000001e-05 P1=0.14∗0.96=5.314410000000001e−05 - 假设抛硬币正、反的概率分别为0.3、0.7,真实观察10次结果为4正6反,那么
P 2 = 0. 3 4 ∗ 0. 7 6 = 9.529568999999997 e − 04 P_2=0.3^4*0.7^6=9.529568999999997e-04 P2=0.34∗0.76=9.529568999999997e−04 - P 2 > P 1 P_2>P_1 P2>P1,所以我们可以拒绝第一种假设,保留第二种
- 假设抛硬币正、反的概率分别为0.1、0.9,真实观察10次结果为4正6反,那么
13.伯努利分布
如果随机变量X只取0和1两个值,并且相应的概率为:
P
r
(
X
=
1
)
=
p
,
P
r
(
X
=
0
)
=
1
−
p
,
0
<
p
<
1
\LARGE Pr(X=1)=p,Pr(X=0)=1-p,0<p<1
Pr(X=1)=p,Pr(X=0)=1−p,0<p<1
则称随机变量X服从参数为p的伯努利分布,X的概率函数可写为:
f
(
x
∣
p
)
=
p
x
(
1
−
p
)
1
−
x
=
{
p
x
=
0
1
−
p
x
=
1
0
x
/
=
0
,
1
\LARGE f(x|p) = p^x(1-p)^{1-x}= \begin{cases} p & x=0 \\ 1-p & x=1 \\ 0 & x \mathrlap{\,/}{ = } 0,1 \end{cases}
f(x∣p)=px(1−p)1−x=⎩
⎨
⎧p1−p0x=0x=1x/=0,1
令q=1一p的话,也可以写成下面这样:
f
(
x
∣
p
)
=
{
p
x
q
1
−
x
x
=
0
,
1
0
x
/
=
0
,
1
\LARGE f(x|p) = \begin{cases} p^xq^{1-x} & x=0,1 \\ 0 & x \mathrlap{\,/}{ = } 0,1 \end{cases}
f(x∣p)=⎩
⎨
⎧pxq1−x0x=0,1x/=0,1
ps:
-
定义:伯努利分布指的是对于随机变量X有, 参数为p(0<p<1),如果它分别以概率p和1-p取1和0为值。EX= p,DX=p(1-p)
-
什么样的事件遵循伯努利分布:任何我们只有一次实验和两个可能结果的事件都遵循伯努利分布【例如:抛硬币、猫狗分类】
14.信息量
某个事件发生的信息量可以定义成如下形式
F ( p ) = − log 2 p \LARGE F(p) = -\log_2p F(p)=−log2p
ps:
- p p p:当前事件发生的概率
- F ( p ) F(p) F(p)的单位是比特
15.熵
对概率系统
P
P
P 求熵
H
H
H 可定义为对系统
P
P
P 求信息量
f
f
f 的期望
H
(
P
)
:
=
E
(
P
f
)
=
∑
i
=
1
m
p
i
∗
f
(
p
i
)
=
∑
i
=
1
m
p
i
(
−
l
o
g
2
p
i
)
=
−
∑
i
=
1
m
p
i
∗
l
o
g
2
p
i
H(P): =E(P_f) = \displaystyle \sum_{i=1}^{m} p_i*f(p_i) = \displaystyle \sum_{i=1}^{m} p_i(-log_2p_i) = - \displaystyle \sum_{i=1}^{m} p_i*log_2p_i
H(P):=E(Pf)=i=1∑mpi∗f(pi)=i=1∑mpi(−log2pi)=−i=1∑mpi∗log2pi
系统熵的求解过程简单来说,就是把系统里面所有 可能发生事件的信息量
−
l
o
g
2
p
i
-log_2p_i
−log2pi 求出来然后和这个 事件发生的概率
p
i
p_i
pi 相乘,最后把这些 结果
−
l
o
g
2
p
i
∗
p
i
-log_2p_i*p_i
−log2pi∗pi 相加,得到的就是这个系统的熵
ps:
- 熵的定义:衡量一个系统从原来的不确定到确定,难度有多大【系统趋于稳定的难度有多大】,简单来说就是衡量一个系统的混乱程度,混乱程度越小,系统越稳定,结果置信度越高
信息量的定义:与熵类似,时衡量一个事件从原来的不确定到确定,难度有多大【系统中某个事件趋于稳定的难度有多大】
举例:- 一个预测中国乒乓球是否夺冠的系统,熵就很小,因为它输出稳定、置信度高
- 一个抛硬币的系统,熵就很高,因为它混乱程度高、输出不稳定
16.相对熵【KL散度】
相对熵用于计算两个系统之间的熵的差距,公式如下:
D K L ( P ∣ ∣ Q ) : = ∑ i = 1 m p i ∗ ( f Q ( q i ) − f P ( p i ) ) = ∑ i = 1 m p i ∗ ( ( − log 2 q i ) − ( − log 2 p i ) ) = ∑ i = 1 m p i ∗ ( − log 2 q i ) − ∑ i = 1 m p i ∗ ( − log 2 p i ) = H ( P , Q ) − H ( P ) D_{KL} (P||Q): = \displaystyle \sum_{i=1}^{m} p_i*(f_Q(q_i) - f_P(p_i)) = \displaystyle \sum_{i=1}^{m} p_i*((-\log_2q_i) - (-\log_2p_i)) = \displaystyle \sum_{i=1}^{m} p_i*(-\log_2q_i) - \displaystyle \sum_{i=1}^{m} p_i*(-\log_2p_i) = H(P,Q) - H(P) DKL(P∣∣Q):=i=1∑mpi∗(fQ(qi)−fP(pi))=i=1∑mpi∗((−log2qi)−(−log2pi))=i=1∑mpi∗(−log2qi)−i=1∑mpi∗(−log2pi)=H(P,Q)−H(P)
ps:
- D K L ( P ∣ ∣ Q ) D_{KL} (P||Q) DKL(P∣∣Q):表示以 P P P系统为基准,计算 Q Q Q与 P P P的熵的差距
- f Q ( q i ) − f P ( p i ) f_Q(q_i) - f_P(p_i) fQ(qi)−fP(pi):代表某件事在 Q Q Q系统中的信息量减去此事件在 P P P系统中的信息量
- q i q_i qi:表示当前事件在 Q Q Q系统发生的概率, p i p_i pi:表示当前事件在 P P P系统发生的概率
- H ( P ) H(P) H(P):就是P系统的熵
- H ( P , Q ) H(P,Q) H(P,Q):就是P系统的交叉熵
- 交叉熵 H ( P , Q ) H(P,Q) H(P,Q) 永远大于 熵 H ( P ) H(P) H(P)【可根据吉布斯不等式求出】
- 当以 P P P 系统为基准求 P 、 Q P、Q P、Q 两系统的相对熵 D K L ( P ∣ ∣ Q ) D_{KL} (P||Q) DKL(P∣∣Q) 时, H ( P ) H(P) H(P) 是固定的, H ( P , Q ) H(P,Q) H(P,Q) 又一定大于 H ( P ) H(P) H(P),所以 H ( P , Q ) H(P,Q) H(P,Q) 越小相对熵越小,因此相对熵的大小取决于交叉熵 H ( P , Q ) H(P,Q) H(P,Q), 交叉熵越小,系统 P P P 越接近于 Q Q Q,这就是交叉熵可以作为损失函数的原因
- ∑ i = 1 m \displaystyle \sum_{i=1}^{m} i=1∑m 中的事件数量 m m m 取两个系统中事件数量较多的那个即可,因为如果某个事件在 Q Q Q 系统中存在,在 P P P 系统中不存在,那么该事件在 P P P 系统中的概率 p m = 0 p_m=0 pm=0, P P P 系统中的信息量就是 0 0 0 ,那么m事件的信息差 M = f Q ( q m ) − f P ( p m ) = f Q ( q m ) M = f_Q(q_m) - f_P(p_m) = f_Q(q_m) M=fQ(qm)−fP(pm)=fQ(qm) ,受该事件影响,最终求出的相对熵也就距 0 0 0 越远【因为 Q Q Q 系统中多出了一个无关紧要的事件,导致 P P P 和 Q Q Q 的相似度变低,这很河里(旺柴)】
17.交叉熵
基本公式如下
H
(
P
,
Q
)
=
∑
i
=
1
m
x
i
∗
(
−
log
2
y
i
)
\LARGE H(P,Q)=\displaystyle \sum_{i=1}^{m} x_i*(-\log_2y_i)
H(P,Q)=i=1∑mxi∗(−log2yi)
考虑正反两面的情况后可以写成如下形式
H
(
P
,
Q
)
=
−
(
∑
i
=
1
n
(
x
i
∗
log
2
y
i
+
(
1
−
x
i
)
∗
log
2
(
1
−
y
i
)
)
)
\Large H(P,Q)=-( \displaystyle \sum_{i=1}^{n} (x_i*\log_2 y_i + (1-x_i)*\log_2(1-y_i)))
H(P,Q)=−(i=1∑n(xi∗log2yi+(1−xi)∗log2(1−yi)))
18.泰勒公式
设
f
(
x
)
f(x)
f(x) 在
x
0
x_0
x0 处有n阶导数,则有公式:
f
(
x
)
=
f
(
x
0
)
+
f
′
(
x
0
)
1
!
(
x
−
x
0
)
+
f
′
′
(
x
0
)
2
!
(
x
−
x
0
)
2
+
.
.
.
+
f
(
n
)
(
x
0
)
n
!
(
x
−
x
0
)
n
+
o
[
(
x
−
x
0
)
n
]
\large f(x) = f(x_0) + {f'(x_0)\above{1pt} 1!}(x-x_0) + {f''(x_0)\above{1pt} 2!}(x-x_0)^2 + ...+ {f^{(n)}(x_0)\above{1pt} n!}(x-x_0)^n + o[(x-x_0)^n]
f(x)=f(x0)+1!f′(x0)(x−x0)+2!f′′(x0)(x−x0)2+...+n!f(n)(x0)(x−x0)n+o[(x−x0)n]
ps:
- 泰勒公式作用是 用一些幂函数相加来拟合原函数 f ( x ) f(x) f(x),本质就是近似
- 泰勒公式展开的项数越高,最终拟合原函数的近似度就越高
- 等价无穷小就是只展开一次的泰勒公式,是特殊的泰勒公式
- 泰勒公式的本质是近似,洛必达计算的本质是降阶
19.麦克劳林公式
当
x
0
=
0
x_0=0
x0=0 时的 泰勒公式 就是 麦克劳林公式了,如下
f
(
x
)
=
f
(
0
)
+
f
′
(
0
)
1
!
x
+
f
′
′
(
0
)
2
!
x
2
+
.
.
.
+
f
(
n
)
(
0
)
n
!
x
n
+
o
(
x
n
)
\Large f(x) = f(0) + {f'(0)\above{1pt} 1!}x + {f''(0)\above{1pt} 2!}x^2 + ... + {f^{(n)}(0)\above{1pt} n!}x^n + o(x^n)
f(x)=f(0)+1!f′(0)x+2!f′′(0)x2+...+n!f(n)(0)xn+o(xn)
参考视频
https://www.bilibili.com/video/BV1WX4y1g7bx
20.高斯分布(正态分布)
若随机变量
X
X
X 服从一个位置参数为
μ
\mu
μ、尺度参数为
σ
\sigma
σ 的概率分布,且其概率密度函数为:
f
(
x
)
=
1
2
π
σ
exp
(
−
(
x
−
μ
)
2
2
σ
2
)
\Large f(x) = { 1\above{1pt} \sqrt{2\pi\sigma}} \exp (- {(x-\mu)^2\above{1pt}{2\sigma^2}} )
f(x)=2πσ1exp(−2σ2(x−μ)2)
则这个随机变量就称为正态随机变量,正态随机变量服从的分布就称为正态分布,记作 X ∼ N ( μ , σ 2 ) X \thicksim N(\mu,\sigma^2) X∼N(μ,σ2) ,读作 X X X 服从 N ( μ , σ 2 ) N(\mu, \sigma^2) N(μ,σ2),或 X X X 服从正态分布。
当
μ
=
0
,
σ
=
1
\mu=0, \sigma=1
μ=0,σ=1 时,正态分布就成为标准正态分布
f
(
x
)
=
1
2
π
exp
(
−
x
2
2
σ
2
)
\Large f(x) = { 1\above{1pt} \sqrt{2\pi}} \exp (- {x^2\above{1pt}{2\sigma^2}} )
f(x)=2π1exp(−2σ2x2)
21.什么条件下的数据可以获得较好的训练结果
- 独立
数据之间相互独立
比如,小明和小红来贷款,银行会根据他俩的自身条件对他俩评估后分别放贷,他俩之间就没有任何联系,数据相互独立
相反的,一个风扇的转速和风力则呈正相关,他俩之间就有联系,数据特征不相互独立 - 乱序
模拟自然条件下的数据,也是数据独立的一个间接要求 - 同分布
数据尽可能来自于相同的分布
比如,小明和小红来贷款,他俩必须去的都是同一家银行,符合同一家银行下的放贷规则
相反的,小明和小红一个去建行贷款一个去农行贷款,他俩的数据特征就不满足同分布的要求了 - 高斯分布(正态分布)
释义参考上一条知识点
比如,大多数人的身高在1.5-1.8米之间,大多数人的体重在100-200斤之间,大多数人的薪资都在2-5k之间,这些都是符合高斯分布的数据