文章目录
一、前言二、参考文献三、知识点及公式1.线性回归2.sigmoid函数3.逻辑回归4.基尼指数5.基尼值6.联合概率公式7.全概率公式8.贝叶斯公式9.求向量的模【 L 2 L2 L2范数】10.向量内积11.向量的余弦相似度12.似然函数13.伯努利分布14.信息量15.熵16.相对熵【KL散度】17.交叉熵18.泰勒公式19.麦克劳林公式todo...
一、前言
此文章记录一些机器学习的相关知识点、公式及书写方法
二、参考文献
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∑nbi2 i=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,所以我们可以拒绝第一种假设,保留第二种
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