机器学习数学基础(二):概率论与统计量、大数定律、似然估计

概率论

复习概率论知识,了解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()

在这里插入图片描述

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