数据科学、数据分析、人工智能必备知识汇总-----主目录-----持续更新(进不去说明我没写完):https://blog.youkuaiyun.com/grd_java/article/details/140174015 |
---|
文章目录
1. 为什么会涉及到概率论?
机器学习和深度学习中,概率论用的还是比较多的。
因为 X X X,以及如果是有监督机器学习的话,它的标签 y y y,当作是随机变量的话,就可以用概率论的观点对它进行建模
假设它服从某种概率分布,比如说人的身高它大体是服从正太分布的,像姚明身高非常高的非常少,像郭敬明一样矮也是非常少的,比如中国的男性平均身高 1.75 左右,画出来就是我们学概率论和数理统计时候的一个正太分布这样一个东西
我们要是对数据进行分类的话,根据他的身高、体重等等,那我们就可以对他的身高进行建模来计算它服从某种分布,然后计算他的概率,这就是我们要学习概率论的原因
2. 随机事件和随机事件概率
什么是随机事件呢?就是可能发生,也可能不发生的事件
比如你抛硬币,它正面朝上,这就是一个随机事件,生孩子生男生女这也是一个随机事件
如果一定发生的话,这种称为必然事件,比如说太阳明天会升起,这肯定是必然事件
反正不可能发生的事件,我们称之为不可能事件,比如水往高处流,这就是不可能事件,因为水是往低处流的,否则它会违反自然规律的
我们一般把随机事件用大写字母 A B A B AB这样来表示,每一个随机事件它关联有一个发生的概率,记作 P ( A ) P(A) P(A)
像抛硬币它正面朝上的概率是 0.5 0.5 0.5,反面朝上的概率也是 0.5 0.5 0.5, 0 ≤ P ( A ) ≤ 1 0≤P(A)≤1 0≤P(A)≤1如果等于 1 1 1那就是必然事件,如果等于 0 0 0那就是不可能事件
以前学概率论的时候,老师教给我们各种计算概率的方法,比如抽各种颜色的球等等这样的问题,一般都是用排列组合来算的
还有另外一种是那种连续的事件,比如在第一象限扔一个石头进去,它落在什么位置,这就是连续性的事件
那么落在一半的区域里面的概率就是 1/2,这是通过面积来算的,这是另外一种套路
3. 条件概率和贝叶斯公式
条件概率是针对于两个或更多个 有相关关系 因果关系 \dfrac{有相关关系}{因果关系} 因果关系有相关关系的随机事件而言的
对于两个随机事件 A A A和 B B B而言,在 A A A发生的情况下 B B B发生的概率,记作 P ( B ∣ A ) P(B|A) P(B∣A)(中间的竖杠表示given给定什么什么条件的情况下。所以是给定A这个条件的情况下,B的概率),也就是 A B AB AB 同时发生的概率 p ( a , b ) p(a,b) p(a,b)除以 A A A发生的概率 p ( a ) p(a) p(a)
p ( b ∣ a ) = p ( a , b ) p ( a ) p(b|a) = \dfrac{p(a,b)}{p(a)} p(b∣a)=p(a)p(a,b)
同理,在b发生的情况下,a发生的概率为
p ( a ∣ b ) = p ( a , b ) p ( b ) p(a|b) = \dfrac{p(a,b)}{p(b)} p(a∣b)=p(b)p(a,b)
贝叶斯公式
p ( a ∣ b ) = p ( a ) p ( b ∣ a ) p ( b ) p(a|b) = \dfrac{p(a)p(b|a)}{p(b)} p(a∣b)=p(b)p(a)p(b∣a)
a a a为因, b b b是果,我们称知道原因后结果发生的概率是先验概率(就是知道了原因,猜测结果发生的概率,叫做先验概率)
贝叶斯公式得到的结果是后验概率,也就是先知道了果,然后猜测原因出现的概率。怎么推出来的呢?就是上面条件概率,搞成下面的形式推出来
p ( b ) p ( a ∣ b ) = p ( a , b ) = p ( a ) p ( b ∣ a ) p(b)p(a|b) = p(a,b) = p(a)p(b|a) p(b)p(a∣b)=p(a,b)=p(a)p(b∣a)
贝叶斯公式在整个机器学习和深度学习中是非常有用的,因为很多时候我们要用一种叫做最大化后验概率的思想 M A P MAP MAP
因为机器学习中,例如模型为 y = f θ ( x ) y=f_{\theta}(x) y=fθ(x)我们要根据x和y这两个结果,去推出参数 θ \theta θ(例如用历史数据,预测未来现货市场价格),这就是先知到结果,反过来推原因 p ( θ ∣ x , y ) p(\theta|x,y) p(θ∣x,y)
4. 随机事件的独立性
说白了就是两个事情是不相关的, b b b在 a a a发生的条件下发生的概率是等于b本身发生的概率
p ( b ∣ a ) = p ( b ) p(b|a) = p(b) p(b∣a)=p(b)
p ( a , b ) = p ( a ) p ( b ) p(a,b) = p(a)p(b) p(a,b)=p(a)p(b):因此ab一起发生的概率是他俩发生的概率相乘
我们可以给它推广到n个事件相互独立的情况上面去,就是等于各自发生概率的乘积
p ( a 1 , . . . , a n ) = ∏ i = 1 n p ( a i ) p(a_1,...,a_n)=\displaystyle\prod_{i=1}^n p(a_i) p(a1,...,an)=i=1∏np(ai)
5. 随机变量
整个概率论的核心
中学的时候就学习过变量了,它是取值可以变化的量,比如可以取0到1区间上所有的实数,或者取从 1 到 100 之间的整数
随机变量是什么呢?
就是变量取值都有一个概率
第一种情况是离散型的随机变量,比如前面说的抛硬币正面朝上还是反面朝上,这是两个事件,我们可以把这两个事件编号,得到
x : { = 0 反 = 1 正 x:\begin{cases}=0&反\\\\=1&正\end{cases} x:⎩ ⎨ ⎧=0=1反正
这就是随机变量, X X X取值有两种情况, 0 或 1 0或1 0或1,取每种值的概率都是 0.5 0.5 0.5,离散型的随机变量它的取值只可能是
有限个可能
,或者是无穷可列个
,比如是从 0 到 + ∞ 0到+∞ 0到+∞,但是一定是能用整数编号编出来
另一种是
连续型的随机变量
,理解起来抽象一些,它的取值是无限不可列个
比如0到1之间的所有的实数,首先它肯定是无限个,而它比无限可列个更高级,它不可列,比如其中的 0.001 到 0.002 之间它还是有无限个,不管怎么细分,a和b之间还是有无限个
这就是连续型的随机变量,比如说抛石子在0到1的矩形范围内,它可能落在区域内任何一个位置,那么石子落在的位置 x , y x,y x,y就是连续型随机变量,说白了就是它坐标取0到1之间任何一个值都是有可能的
对于离散型随机变量,写成如下
P ( x = x i ) = p i P(x=x_i)=p_i P(x=xi)=pi
p i ≥ 0 p_i ≥ 0 pi≥0
∑ p i = 1 \sum p_i = 1 ∑pi=1
对于连续型随机变量我们是这么定义的,利用它的概率密度函数来定义
f ( x ) ≥ 0 f(x)≥0 f(x)≥0
∫ − ∞ + ∞ f ( x ) d x = 1 \intop_{-\infin}^{+\infin}f(x)dx=1 ∫−∞+∞f(x)dx=1
概率密度函数算出来的 f ( x ) f(x) f(x)可以认为是近似等同于事件发生的概率 P ( x ) P(x) P(x),但是它
还不是概率
,但是他们之间是正相关
的
F ( y ) = p ( x ≤ y ) = ∫ − ∞ y f ( x ) d x F(y)=p(x≤y) = \intop_{-\infin}^{y}f(x)dx F(y)=p(x≤y)=∫−∞yf(x)dx
需要注意的是,连续性随机变量它取某个具体值的概率是 0 0 0的, p ( x = x i ) = 0 p(x=x_i)=0 p(x=xi)=0
但是它落在某个区间范围的概率是有值的,因为算的是面积,就好像前面提到的石子落到区域内的面积
∫ x 1 x 2 f ( x ) d x = F ( x 2 ) − F ( x 1 ) \intop_{x_1}^{x_2} f(x)dx = F(x_2)-F(x_1) ∫x1x2f(x)dx=F(x2)−F(x1)
6. 数学期望和方差
这个在学概率论的时候同学们都是学过的,这是核心概念之一
什么是数学期望,从均值开始看起
n : x 1 x 2 ⋯ x n : 1 n ∑ i = 1 n x i → ∑ i = 1 n 1 n x i → ∑ i = 1 n p i x i n: x_1 x_2\cdots x_n:\dfrac{1}{n}\displaystyle\sum_{i=1}^n x_i \rightarrow \displaystyle\sum_{i=1}^{n} \dfrac{1}{n}x_i \rightarrow \displaystyle\sum_{i=1}^n p_i x_i n:x1x2⋯xn:n1i=1∑nxi→i=1∑nn1xi→i=1∑npixi
这里的 1 n \dfrac{1}{n} n1 可以看作是每个 x i x_i xi 的权重,或者叫概率,如果把它替换称概率 P P P,就得到了我们的数学期望
举个例子,比如说买彩票有 0.2 0.2 0.2 的概率中 500 500 500 万, 0.3 0.3 0.3 的概率中 1 1 1万, 0.5 0.5 0.5 的概率中 0.1 0.1 0.1 万,那可能的收益不可能用 500 + 1 + 0.1 500+1+0.1 500+1+0.1来平均一下,肯定要考虑概率值
500 ∗ 0.2 + 1 ∗ 0.3 + 0.1 ∗ 0.5 500*0.2+1*0.3+0.1*0.5 500∗0.2+1∗0.3+0.1∗0.5
说白了,数学期望就是概率意义的平均值,这是对于离散型的随机变量而言的
对于连续型的随机变量,把它推广一下变成定积分,求一个广义积分就是数学期望
E ( x ) = ∑ x i p ( x i ) E(x) = \sum x_i p(x_i) E(x)=∑xip(xi):离散型
E ( x ) = ∫ − ∞ + ∞ x f ( x ) d x E(x)=\intop_{-\infin}^{+\infin} x f(x)dx E(x)=∫−∞+∞xf(x)dx:连续型
方差:反应的数据的波动程度的,就是它和均值,我们的数学期望偏离程度的平均
这里每个数据减去期望的平方(因为不平方的话正负抵消掉了),然后再乘以 P P P 概率值
D ( x ) = ∑ ( x i − E ( x ) ) 2 p ( x i ) D(x) = \sum(x_i - E(x))^2 p(x_i) D(x)=∑(xi−E(x))2p(xi):离散型
D ( x ) = ∫ − ∞ + ∞ ( x − E ( x ) ) 2 f ( x ) d x D(x) = \intop_{-\infin}^{+\infin}(x-E(x))^2 f(x)dx D(x)=∫−∞+∞(x−E(x))2f(x)dx:连续型
( x − E ( x ) ) 2 (x-E(x))^2 (x−E(x))2等于如下:(利用数学期望的线性性质:这是求方差时非常常用的一个等式)
E ( a + b X ) = a + b E X E(a+bX) = a+bEX E(a+bX)=a+bEX
E ( X − μ ) 2 = E ( X 2 − 2 μ X + μ 2 ) = E X 2 − 2 μ E X + μ 2 E(X-\mu)^2 = E(X^2 - 2\mu X+\mu^2)= EX^2 - 2\mu EX + \mu^2 E(X−μ)2=E(X2−2μX+μ2)=EX2−2μEX+μ2
μ = E X \mu = EX μ=EX
V a r X = E ( X 2 ) − ( E ( X ) ) 2 VarX = E(X^2) - (E(X))^2 VarX=E(X2)−(E(X))2:X的方差,这个是求方差常用等式
7. 常用随机变量服从的分布
正太分布:越接近期望,概率越大
f ( x ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2 f(x) = \dfrac{1}{\sqrt{2π}\sigma}e^{-\dfrac{(x-\mu)^2}{2\sigma^2}} f(x)=2πσ1e−2σ2(x−μ)2
均匀分布
f ( x ) = { 1 b − a a ≤ x ≤ b 0 x < a , x > b f(x)=\begin{cases} \dfrac{1}{b-a} & a≤x≤ b\\\\ 0&x<a,x>b \end{cases} f(x)=⎩ ⎨ ⎧b−a10a≤x≤bx<a,x>b
二项分布:要么是A,要么就是B
p ( x = 1 ) = p p(x=1)=p p(x=1)=p
p ( x = 0 ) = 1 − p p(x=0)=1-p p(x=0)=1−p
自然界和生活中很多事件都服从正太分布的,或者近似的服从正太分布的,比如人的身高和体重,大部分人都是平均值,小部分人比较胖,或比较瘦,比较高,或比较矮,还有考试成绩,人的收入这些都近似服从正太分布——np.randn()就是生成正太分别的随机数,其中randn的n就是normal distribute正太分布
均匀分布,很好理解,a和b这个区间内取任意一个值的概率相等,np.rand()就是均匀分布随机数
二项分布拿我们抛硬币的例子来说,比如 x = 0 x=0 x=0 是背面朝下的概率, x = 1 x=1 x=1是正面朝上的概率,那么它取值只有 0 0 0或 1 1 1两种情况,当然不用0或1,你用 − 1 -1 −1和 + 1 +1 +1 也是可以的。都是二项分布,取每个值都有一个概率值。在我们机器学习中,主要用的就是这几种概率分布。
8. 随机向量
线性代数中,我们把标量 x x x推广到向量,就是它有多个分量。
同样我们把单个随机变量可以推广到随机向量,就是它有多个分量,这样就有了随机向量的概念了,这是很自然的延申。
离散型的随机向量
向量 X X X取某一个具体的值为向量 X i X_i Xi,然后取每一个向量值的概率都大于等于 0 0 0,所有的概率加起来要等于 1 1 1,符合这两个约束条件就可以了
p ( x = x i ) p(x=x_i) p(x=xi)
连续型的随机向量
是用 0和概率密度函数来描述的,n 重积分等于1,相当于体积等于 1
f ( x ) ≥ 0 f(x)≥0 f(x)≥0
∫ ∫ ∫ f ( x ) d x = 1 \intop\intop\intop f(x) dx = 1 ∫∫∫f(x)dx=1
下面是二维的随机向量
f ( x 1 , x 2 ) ≥ 0 f(x_1,x_2)≥0 f(x1,x2)≥0
∫ − ∞ + ∞ f ( x 1 , x 2 ) d x 1 d x 2 = 1 \intop_{-\infin}^{+\infin} f(x_1,x_2)dx_1dx_2 = 1 ∫−∞+∞f(x1,x2)dx1dx2=1
9. 随机变量的独立性
两个随机变量如果相互独立的话 ,它们的联合概率密度函数等于它们的分别的概率密度函数乘积
推广到多个随机变量相互独立: f ( x 1 , x 2 , . . . , x n ) = f ( x 1 ) f ( x 2 ) . . . f ( x n ) f(x_1,x_2,...,x_n) = f(x_1)f(x_2)...f(x_n) f(x1,x2,...,xn)=f(x1)f(x2)...f(xn)
这和随机事件的形式上是统一的,f换成符合P就可以了
10. 协方差
协方差是对于方差的推广,对于两个随机变量,它们的协方差是反应它们两个之间的线性相关程度的,把 x 2 x_2 x2 换成 x 1 x_1 x1 那就是方差了,展开之后就是 x 1 x_1 x1 和 x 2 x_2 x2 的期望等于它们期望的乘积
c o v ( x 1 , x 2 ) = E ( ( x 1 − E ( x 1 ) ) ( x 2 − E ( x 2 ) ) ) cov(x_1,x_2)=E((x_1-E(x_1))(x_2-E(x_2))) cov(x1,x2)=E((x1−E(x1))(x2−E(x2))): x 1 和 x 2 x_1和x_2 x1和x2的协方差就是 x 1 − x 1 的期望 x_1-x_1的期望 x1−x1的期望乘 x 2 − x 2 的期望 x_2-x_2的期望 x2−x2的期望,然后对他们的积整体求期望
c o v ( x 1 , x 2 ) = E ( x 1 , x 2 ) − E ( x 1 ) E ( x 2 ) cov(x_1,x_2)=E(x_1,x_2)-E(x_1)E(x_2) cov(x1,x2)=E(x1,x2)−E(x1)E(x2):这个是上面式子的展开,两个式子用哪个都行
对于 n n n维的向量 X X X,它的协方差就构成了一个协方差矩阵,第一个是 x 1 x_1 x1 和 x 1 x_1 x1 的协方差,第一行第二个是 x 1 x_1 x1 和 x 2 x_2 x2 的协方差,第一行第 n 个是 x 1 x_1 x1 和 x n x_n xn 的协方差
[ x 1 x 1 x 1 x 2 ⋯ x 1 x n x 2 x 1 ⋱ ⋯ x 2 x n ⋮ ⋮ ⋱ ⋮ x n x 1 ⋯ ⋯ x 1 x n ] \begin{bmatrix} x_1x_1 & x_1x_2 &\cdots&x_1x_n \\\\ x_2x_1 & \ddots &\cdots&x_2x_n \\\\ \vdots & \vdots &\ddots&\vdots \\\\ x_nx_1 & \cdots &\cdots&x_1x_n \\\\ \end{bmatrix} x1x1x2x1⋮xnx1x1x2⋱⋮⋯⋯⋯⋱⋯x1xnx2xn⋮x1xn
显然这是一个对称阵,这在我们机器学习里面会经常使用的
10. 随机向量的常见分布
和随机变量一样,我们的随机向量也服从一些典型的分布,比如说正太分布和均匀分布,正太分布是对于一元的随机向量的一个推广
f ( x ) = 1 ( 2 π ) n 2 ∣ ∑ ∣ 1 2 e ( − 1 2 ( x − μ ) T ∑ − 1 ( x − μ ) ) f(x)=\dfrac{1}{(2π)^{\dfrac{n}{2}}|\sum|^{\dfrac{1}{2}}}e^{(-\dfrac{1}{2}(x-\mu)^T\sum^{-1}(x-\mu))} f(x)=(2π)2n∣∑∣211e(−21(x−μ)T∑−1(x−μ)), x ∈ R n x∈\R^{n} x∈Rn
∑ \sum ∑是协方差矩阵,然后 ∣ ∑ ∣ 1 2 |\sum|^{\dfrac{1}{2}} ∣∑∣21不是绝对值,是行列式的开根号, μ \mu μ是均值向量
这时我们再去理解一元的正太分布概率密度函数就好理解了,形式是一致的
f ( x ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2 f(x) = \dfrac{1}{\sqrt{2π}\sigma}e^{-\dfrac{(x-\mu)^2}{2\sigma^2}} f(x)=2πσ1e−2σ2(x−μ)2
X T A X = a X 2 X^T A X = aX^2 XTAX=aX2,这个公式还记得吗?公式中的 ( x − μ ) T ∑ − 1 ( x − μ ) (x-\mu)^T\sum^{-1}(x-\mu) (x−μ)T∑−1(x−μ)不就是这样吗?只不过a=1罢了
以上就是多维的正太分布
11. 最大似然估计MLE
它是解决估计一个概率密度函数中参数问题的
比如有个向量 X X X, θ \theta θ是它的参数,比如正太分布中的 u u u和 σ σ σ这都是需要估计的参数 p ( x ; θ ) p(x;\theta) p(x;θ)
那我们怎么估计这组参数呢?肯定是根据一组样本来学习,假设我们有 l l l个样本它们是独立同分布的,也就是说它们服从同样一个概率分布,并且它们之间相互独立的,抽样出来的 x i , 其中 i = 1 , . . . , l x_i,其中i=1,...,l xi,其中i=1,...,l
那么所有变量发生的概率就可以写成它们乘积的形式,因为它们之间是相互独立的嘛,这时 L L L是似然函数,这里x一个个的已经取了具体样本的值了,然后0是我们要估计的参数 L ( θ ) = ∏ i = 1 l p ( x i ; θ ) L(\theta) =\displaystyle\prod_{i=1}^{l} p(x_i;\theta) L(θ)=i=1∏lp(xi;θ)
既然这组样本是已经抽样抽出来的,是已经发生的,我们肯定要把它发生的概率最大化,也就是说要最大化这样一个似然函数 m a x ∏ i = 1 l p ( x i ; θ ) max\displaystyle\prod_{i=1}^{l} p(x_i;\theta) maxi=1∏lp(xi;θ)
前面我们说了,求解一个函数的极值,就是要求解它的导数,也就是梯度等于 0 , ∇ L ( θ ) = 0 0,\nabla L(\theta) = 0 0,∇L(θ)=0
而这样的乘积形式求导是不容易的,因为前面讲过公式 ( f g ) ′ = f ′ g + f g ′ (fg)^{'} = f^{'}g+fg^{'} (fg)′=f′g+fg′
如果更多项展开是非常麻烦的,所以我们可以对函数取个对数 ,因为对数函数是单调增函数,所以求原函数的极值,也等于求它的对数形式的极值.
所以我们两边取对数的话,就把连乘的形式转化为了连加的形式,因为连加的形式的导数,就是等于导数的连加
l n a b = l n a + l n b ln \space ab=ln\space a + ln \space b ln ab=ln a+ln b
l n L ( θ ) = l n ∏ i = 1 l p ( x i ; θ ) = ∑ i = 1 l l n p ( x i ; θ ) ln L(\theta) = ln\displaystyle\prod_{i=1}^l p(x_i;\theta)=\sum_{i=1}^{l} ln\space p(x_i;\theta) lnL(θ)=lni=1∏lp(xi;θ)=i=1∑lln p(xi;θ)
所以我们要解决的问题就是求这个函数的极大值,这个可以对 θ \theta θ求导让它等于0得到,带 l o g log log的是对数似然函数,这就是最大似然函数最基本的思想
m a x ∑ i = 1 l l n p ( x i ; θ ) max\displaystyle\sum_{i=1}^{l} ln\space p(x_i;\theta) maxi=1∑lln p(xi;θ)