機器學習數學基礎(二):概率論與統計量、大數定律、似然估計

概率論

複習概率論知識,瞭解Beta分佈,sigmoid/logistic函數,重點看最大似然估計

概率論基礎

初步認識

  • 基礎概念
    在這裏插入圖片描述
  • 古典概型
    例:將n個不同球放入N(N>=n)個盒子中,假設盒子容量無限,求事件A={每個盒子至多有1個球}的概率

在這裏插入圖片描述

  • 與組合數關係
    在這裏插入圖片描述
    在這裏插入圖片描述

概率公式

在這裏插入圖片描述

  • 貝葉斯公式
    先驗後驗似然函數需記牢
    在這裏插入圖片描述

常見概率分佈

  • 兩點分佈

0—1分佈

  • 二項分佈 Bernoulli distribution

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

  • 泊松分佈

在這裏插入圖片描述
期望和方差都等於
期望和方差都等於

  • 均勻分佈

在這裏插入圖片描述

  • 指數分佈

在這裏插入圖片描述
重要特徵是無記憶性

  • 正態分佈

在這裏插入圖片描述

Beta分佈

在這裏插入圖片描述

總結 參數、期望、方差

在這裏插入圖片描述
在這裏插入圖片描述

sigmoid/logistic函數

在這裏插入圖片描述
sigmoid導數
f(x)=![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20200301093801166.png)
f'(x)

統計量

期望/方差/協方差/相關係數

期望

  • 類型
    在這裏插入圖片描述
  • 性質

在這裏插入圖片描述

方差

在這裏插入圖片描述

協方差

  • 定義
    在這裏插入圖片描述
  • 性質
    在這裏插入圖片描述
  • 意義
    在這裏插入圖片描述
  • 上界

在這裏插入圖片描述
證明
在這裏插入圖片描述
在這裏插入圖片描述

相關係數

在這裏插入圖片描述

獨立和不相關

  • 獨立
    A和B是兩個事件,如果P(AB)= P(A)P(B),則事件A和B相互獨立
    A和B獨立,則P(A|B)= P(A),E(AB)= E(A)E(B)
  • 不相關
    Cov(X,Y)= 0 ,X和Y不相關
    X和Y不相關,X和Y之間沒有線性關係

不相關不等於獨立,但對於二維正態隨機變量,不相關等價於相互獨立

大數定律

切比雪夫

在這裏插入圖片描述

大數定律

在這裏插入圖片描述
意義:
當n很大時,隨機變量X1,X2…Xn的平均值Yn在概率意義下無限接近期望

伯努利定理

在這裏插入圖片描述
定理表明事件A發生的頻率nA/n 以概率收斂於事件A的概率p,表達了頻率穩定性

中心極限定理

  • 定理內容
    在這裏插入圖片描述
  • 例題
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 意義
    隨機現象可以看作許多因素的獨立影響的綜合反應,往往近似服從正態分佈

最大似然估計

什麼是最大似然估計

在這裏插入圖片描述

怎麼求最大似然估計

取對數,得到對數似然函數;若對數似然函數可導,可通過求導的方式,解方程,得到駐點,駐點是極大值點

二項分佈的最大似然估計

在這裏插入圖片描述

正態分佈的最大似然估計

在這裏插入圖片描述

過擬合

code

公交堵車模型

在這裏插入圖片描述

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

font = FontProperties(fname=r'C:\Windows\Fonts\SIMSUN.ttc', size=15)

def clip(x,path):
    for i in range(len(x)):
        if x[i] >= path:
            x[i] %= path

## 變量
path = 5000
n = 100
v0 = 5
p = 0.3
Times = 3000

## 尾隨 seed=(seed*a+b)% c
np.random.seed(0)
x = np.random.rand(n) * path
x.sort()
v = np.tile([v0],n).astype(np.float)

plt.figure(figsize=(10,8),facecolor='w')
for t in range (Times):
    plt.scatter(x,[t]*n,s=1,c='k',alpha=0.5)
    for i in range(n):
        if x[(i+1)%n] > x[i]:
            d = x[(i+1)%n] - x[i]  #前車距離
        else:
            d = path - x[i] + x[(i+1)%n]
        if v[i] < d:
            if np.random.rand() > p:
                v[i] += 1
            else:
                v[i] -= 1
        else:
            v[i] = d-1
    v = v.clip(0,150)
    x += v
    clip(x, path)

plt.xlim(0,path)
plt.ylim(0,Times)
plt.xlabel(u'車輛位置',fontproperties=font)
plt.ylabel(u'模擬時間',fontproperties=font)
plt.title(u'公路堵車模型',fontproperties=font)
plt.tight_layout(pad=2)
plt.show()

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章