依分布收敛、依概率收敛、均方收敛、几乎处处收敛

1. 分布函数列的弱收敛性

弱收敛 { F n ( x ) } \{F_n(x)\} {Fn(x)} 是分布函数列,如果存在一个函数 F ( x ) F_(x) F(x), 对任意 x x x , 使得 lim ⁡ n → ∞ F n ( x ) = F ( x ) \lim_{n \to \infty}F_n(x)=F(x) limnFn(x)=F(x), 则称 F n ( x ) F_n(x) Fn(x) 弱收敛于 F ( x ) F(x) F(x), 并记为
F n ( x )   → w   F ( x ) . F_n(x)~\overset{w}{\underset{}{\to}}~F(x). Fn(x) w F(x).

2. 随机变量的四种收敛性

假定如下的随机变量 X X X 与随机变量序列 { X n } \{X_n\} {Xn} 定义在概率空间 ( Ω , F , P ) (\Omega,F,P) (Ω,F,P) 上.

依分布收敛 X n X_n Xn 的分布函数为 F n ( x ) F_n(x) Fn(x), X X X 的分布函数为 F ( x ) F(x) F(x), 假如
F n ( x ) → w F ( x ) , F_n(x)\overset{w}{\underset{}{\to}}F(x), Fn(x)wF(x)
则称 { X n } \{X_n\} {Xn} 依分布收敛于 X X X, 记为 X n   → d   X . X_n~\overset{d}{\underset{}{\to}}~X. Xn d X.

  • 依分布收敛为这里讨论收敛性中最弱的收敛,其只能保证分布函数序列收敛。

依概率收敛 若对 ∀ \forall ε > 0 \varepsilon>0 ε>0 ,
lim ⁡ n → ∞ P { w : ∣ X n ( w ) − X ( w ) ∣ ≥ ε } = 0 , \lim_{n \to \infty}P\{w: |X_n(w)-X(w)| \geq \varepsilon\}=0, nlimP{w:Xn(w)X(w)ε}=0,
则称 { X n } \{X_n\} {Xn} 依概率收敛于 X X X, 记为 X n   → P   X . X_n~\overset{P}{\underset{}{\to}}~X. Xn P X.

  • 依概率收敛强于依分布收敛,其先给定 ε > 0 \varepsilon>0 ε>0,保证 ∣ X n ( w ) − X ( w ) ∣ ≥ ε |X_n(w)-X(w)| \geq \varepsilon Xn(w)X(w)ε 随着 n n n 增大,概率趋向于0。这里可见 ε \varepsilon ε 越小收敛性越好。

r-阶收敛 假设 E ∣ X ∣ r < ∞ E|X|^r<\infty EXr<, E ∣ X n ∣ r < ∞ , r > 0 E|X_n|^r<\infty, r>0 EXnr<,r>0. 如果
lim ⁡ n → ∞ E ∣ X n − X ∣ r = 0 , \lim_{n \to \infty}E|X_n-X|^r=0, nlimEXnXr=0
则称 { X n } \{X_n\} {Xn} r-阶收敛于 X X X。 其中当 r = 2 r=2 r=2时,称为均方收敛

  • r-阶收敛强于依概率收敛,其说明随着 n n n 的增大,r-阶的 ∣ X n − X ∣ |X_n-X| XnX 的期望是为0的。

几乎处处收敛(依概率1收敛) 如果
P ( w : lim ⁡ n → ∞ X n ( w ) = X ( w ) ) = 1 , P(w:\lim_{n \to \infty}X_n(w)=X(w))=1, P(w:nlimXn(w)=X(w))=1
{ X n } \{X_n\} {Xn} 几乎处处收敛于 X X X, 记为 X n   → a . s .   X . X_n~\overset{a.s.}{\underset{}{\to}}~X. Xn a.s. X.

  • 几乎处处收敛也强于依概率收敛,和依概率收敛比较,可以看成取定 ε = 0 \varepsilon=0 ε=0,所以也叫依概率1收敛。事实上,几乎处处收敛是不收敛点的集合是只构成勒贝格零集。

3. 收敛性间关系

推出
推出
推出
几乎处处收敛
依概率收敛
均方收敛
依分布收敛

参考资料

[1] 刘嘉焜,王公恕,应用随机过程(第二版)。

  • 22
    点赞
  • 106
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了完成这个任务,我们需要先生成一些二维数据点,然后编写模糊K-均值聚类算法的程序。 生成数据点的代码如下: ```python import numpy as np # 随机生成1000个二维数据点 np.random.seed(42) X = np.random.randn(1000, 2) ``` 接下来,我们可以编写模糊K-均值聚类算法的程序。这个算法的主要思想是将数据点分为若干个簇,每个数据点都有一定的隶属度,表示它属于每个簇的概率。具体算法步骤如下: 1. 随机初始化簇中心。 2. 计算每个数据点属于每个簇的隶属度。 3. 根据隶属度更新簇中心。 4. 重复步骤2和步骤3,直到簇中心不再变化或达到最大迭代次数。 隶属度函数可以自定义,这里我们采用指数函数来计算隶属度: $$u_{ij}=\frac{1}{\sum_{k=1}^{c}\left(\frac{\left\|\boldsymbol{x}_{i}-\boldsymbol{v}_{j}\right\|}{\left\|\boldsymbol{x}_{i}-\boldsymbol{v}_{k}\right\|}\right)^{\frac{2}{m-1}}}$$ 其中,$u_{ij}$表示第$i$个数据点属于第$j$个簇的隶属度,$c$表示簇的个数,$m$表示模糊因子(一般取2),$\boldsymbol{x}_{i}$表示第$i$个数据点的坐标,$\boldsymbol{v}_{j}$表示第$j$个簇的中心。 代码如下: ```python def euclidean_distance(x1, x2): return np.sqrt(np.sum((x1 - x2) ** 2)) class FuzzyKMeans: def __init__(self, n_clusters=5, m=2, max_iter=1000, tol=1e-4): self.n_clusters = n_clusters self.m = m self.max_iter = max_iter self.tol = tol def fit(self, X): # 随机初始化簇中心 centroids = np.random.randn(self.n_clusters, 2) membership = np.zeros((len(X), self.n_clusters)) for i in range(self.max_iter): # 计算每个数据点属于每个簇的隶属度 for j in range(len(X)): distances = [euclidean_distance(X[j], centroids[k]) for k in range(self.n_clusters)] for k in range(self.n_clusters): membership[j][k] = 1 / sum([(distances[k] / distances[l]) ** (2 / (self.m - 1)) for l in range(self.n_clusters)]) # 根据隶属度更新簇中心 new_centroids = np.zeros((self.n_clusters, 2)) for k in range(self.n_clusters): new_centroids[k] = sum([membership[j][k] ** self.m * X[j] for j in range(len(X))]) / sum([membership[j][k] ** self.m for j in range(len(X))]) # 判断是否收敛 if euclidean_distance(new_centroids, centroids) < self.tol: break centroids = new_centroids self.centroids = centroids self.membership = membership def predict(self, X): distances = [[euclidean_distance(X[i], self.centroids[j]) for j in range(self.n_clusters)] for i in range(len(X))] predictions = np.argmin(distances, axis=1) return predictions ``` 接下来,我们可以使用上面的程序进行聚类,并给出每个中心的样本数和聚类中心与真实分布均值之间的均方误差(MSE)。 ```python # 聚类 fkm = FuzzyKMeans(n_clusters=5) fkm.fit(X) # 统计每个中心的样本数 cluster_counts = [sum(fkm.predict(X) == i) for i in range(5)] print("聚类中心样本数:", cluster_counts) # 计算均方误差 true_means = np.random.randn(5, 2) mse = np.mean([euclidean_distance(fkm.centroids[i], true_means[i]) ** 2 for i in range(5)]) print("均方误差:", mse) ``` 最后,我们使用经典K均值聚类算法对数据进行聚类,并画出聚类结果的散点图。 ```python from sklearn.cluster import KMeans import matplotlib.pyplot as plt # 经典K均值聚类 kmeans = KMeans(n_clusters=5) kmeans.fit(X) # 画图比较 plt.figure(figsize=(10, 5)) plt.subplot(121) plt.scatter(X[:, 0], X[:, 1], c=fkm.predict(X)) plt.title("Fuzzy K-Means Clustering") plt.subplot(122) plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_) plt.title("K-Means Clustering") plt.show() ``` 下图为聚类结果的散点图。 ![image.png](attachment:image.png)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值