机器学习相关知识点整理【更新中】_利用机器学习相关
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
文章目录
一、前言
此文章记录一些机器学习的相关知识点、公式及书写方法
二、参考文献
- 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