概率分布与数据建模
在机器学习中,概率分布
被广泛应用于对数据进行建模。例如,在高斯分布
中,我们可以用以下公式表示其概率密度函数(PDF):
$$
f(x) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}
$$
案例: 假设我们有一组学生的考试分数,我们可以通过计算分数的均值($\mu$)和标准差($\sigma$)来拟合一个高斯分布,从而推测学生分数的特性。
1 2 3 4 5 6 7 8 9 10 11 12 13
| import numpy as np import seaborn as sns import matplotlib.pyplot as plt
data = np.random.normal(loc=75, scale=10, size=1000)
sns.histplot(data, bins=30, kde=True) plt.title('Student Scores Distribution') plt.xlabel('Scores') plt.ylabel('Frequency') plt.show()
|
条件概率与贝叶斯定理
条件概率
用于描述一个事件在另一个事件已发生的条件下的概率。在AI中,贝叶斯定理
常用于分类问题。贝叶斯公式为:
$$
P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)}
$$
案例: 假设我们要通过症状($B$)推测疾病($A$)。如果我们知道某种症状出现的可能性,结合疾病发生的先验概率,可以使用贝叶斯定理计算得出后验概率。
1 2 3 4 5 6 7 8
| P_A = 0.01 P_B_given_A = 0.9 P_B = 0.02
P_A_given_B = (P_B_given_A * P_A) / P_B print(f"P(Disease | Symptom) = {P_A_given_B:.4f}")
|
期望与方差
期望值
和方差
是描述随机变量特性的重要统计量。期望值用于反映随机变量的“中心位置”,而方差则反映了数据的分散程度。
$$
E[X] = \sum (x_i \cdot P(x_i))
$$
$$
Var(X) = E[X^2] - (E[X])^2
$$
案例: 如果我们有一个骰子投掷的结果,计算其期望和方差:
1 2 3 4 5 6 7 8 9 10 11 12
| outcomes = np.array([1, 2, 3, 4, 5, 6]) probabilities = np.array([1/6] * 6)
expected_value = np.sum(outcomes * probabilities)
variance = np.sum((outcomes - expected_value)**2 * probabilities)
print(f"Expected Value: {expected_value:.2f}") print(f"Variance: {variance:.2f}")
|
马尔科夫链与状态转移
马尔科夫链
是描述系统状态变化的重要工具。它依赖于转移概率
,即在给定当前状态下,转移到下一个状态的概率。
$$
P(X_{n+1} = j | X_n = i) = p_{ij}
$$
案例: 在一个简单的天气模型中,我们可以使用马尔科夫链描述晴天和雨天之间的转移关系。
1 2 3 4 5 6 7 8 9 10 11 12 13
| import numpy as np
transition_matrix = np.array([[0.8, 0.2], [0.4, 0.6]])
state = np.array([1, 0])
for day in range(10): state = np.dot(state, transition_matrix) print(f"Day {day+1}: Sunny Probability: {state[0]:.2f}, Rainy Probability: {state[1]:.2f}")
|
模拟与抽样方法
蒙特卡罗模拟
是通过随机采样来估计数值的方法。该方法常用于计算复杂的积分和概率。
案例: 我们可以用蒙特卡罗方法估计圆周率:
1 2 3 4 5 6 7 8 9 10 11 12
| import numpy as np
n = 1000000 inside_circle = 0
for _ in range(n): x, y = np.random.uniform(-1, 1, 2) if x**2 + y**2 <= 1: inside_circle += 1
pi_estimate = 4 * inside_circle / n print(f"Estimated π: {pi_estimate:.5f}")
|
通过上述示例,可以看到概率论
在人工智能领域的多种应用。从数据建模、分类决策,到随机过程和数值模拟,概率理论
为AI提供了强大而灵活的方法论基础。