先做個在線電影網(wǎng)站該怎么做數(shù)據(jù)分析師35歲以后怎么辦
文章目錄
文章目錄
- 00 寫在前面
- 01 基于Python版本的K-means代碼
- 02 X-means方法
- 03 最小二乘法簡單理解
- 04 貝葉斯信息準(zhǔn)則
00 寫在前面
時間演變聚類算法:將時間演變聚類算法用在去噪上,基本思想是,具有相似信號演化的體素具有相似的模型參數(shù)值,并且由機器學(xué)習(xí)決定的集群數(shù)量遠(yuǎn)遠(yuǎn)小于體素的數(shù)量。因此,對一個聚類進行平均可以大大提高聚類級逆解的信噪比,這可以用作體素級優(yōu)化的魯棒初始猜測。
在該演變算法的基礎(chǔ)上,總結(jié)了K-means算法、X-means算法、最小二乘法、貝葉斯信息準(zhǔn)則
01 基于Python版本的K-means代碼
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs# 生成具有三個簇的示例數(shù)據(jù)
n_samples = 300
n_features = 2
centers = 3
cluster_std = 1.0x, y = make_blobs(n_samples=n_samples, n_features=n_features, centers=centers, cluster_std=cluster_std, random_state=42)# 設(shè)置K值(簇的數(shù)量)
k = 3# 初始化KMeans算法
kmeans = KMeans(n_clusters=k, random_state=42)# 進行聚類
kmeans.fit(X)# 獲取聚類結(jié)果
labels = kmeans.labels_
centroids = kmeans.cluster_centers_# 繪制聚類結(jié)果
plt.figure(figsize=(8, 6))
plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis', marker='o', edgecolor='k', s=50)
plt.scatter(centroids[:, 0], centroids[:, 1], c='red', marker='x', s=200, linewidths=3, zorder=10)
plt.title('K-means Clustering')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.grid(True)
plt.show()
02 X-means方法
傳統(tǒng)的K-means聚類算法需要預(yù)先確定聚類的數(shù)量K。在這里,使用了一種稱為X-means的方法,該方法能夠自動選擇K。X-means方法通過兩個步驟反復(fù)迭代來選擇合適的聚類數(shù)量K。
- 步驟1:
- 首先執(zhí)行傳統(tǒng)的K-means聚類,給定一個初始的聚類數(shù)量。
- 計算貝葉斯信息準(zhǔn)則(BIC),BIC是聚類對數(shù)似然和對K的懲罰項的和。
- 隨著K的增加,擬合的優(yōu)度(對數(shù)似然)增加,但過擬合的可能性也增加。懲罰項用來減少這種可能性。
- 步驟2:
- 每個聚類的質(zhì)心(質(zhì)心)被替換為兩個子質(zhì)心,并在該聚類內(nèi)使用這些子質(zhì)心作為初始猜測進行局部K-means(K = 2)。
- 計算該聚類的BIC:如果BIC較大,則進行替換,否則保留“父”質(zhì)心。
- 重復(fù)步驟1和步驟2,直到整體BIC不再增加或 K達(dá)到預(yù)先設(shè)定的最大值為止。
- 在這項研究中,初始聚類數(shù)為1,最大聚類數(shù)為50。
03 最小二乘法簡單理解
最小二乘法(Least Squares Method, LSM)是統(tǒng)計學(xué)和數(shù)據(jù)分析中常用的一種方法,用于擬合數(shù)據(jù)模型。它的本質(zhì)是一個優(yōu)化過程,因為它通過最小化目標(biāo)函數(shù)來找到模型參數(shù)的最優(yōu)解。
(1)最小二乘法的基本思想
假設(shè)我們有一組觀測數(shù)據(jù)點(x1, y1),(x2, y2),…,(xn, yn),我們希望找到一個函數(shù) f(x)來擬合這些數(shù)據(jù)點。最簡單的情況是線性擬合,即找到一個直線模型 y=ax+b,使得該直線盡可能靠近所有觀測數(shù)據(jù)點。
最小二乘法的目標(biāo)是最小化以下目標(biāo)函數(shù)(誤差的平方和):
S ( a , b ) = ∑ i = 1 n ( y i ? ( a x i + b ) ) 2 S(a,b) = {\textstyle \sum_{i=1}^{n}} (y_{i}-(ax_{i}+b) )^{2} S(a,b)=∑i=1n?(yi??(axi?+b))2
其中,yi是觀測值,axi+b是預(yù)測值。
(2)最小二乘法的優(yōu)化過程
- 步驟1:
定義目標(biāo)函數(shù):目標(biāo)函數(shù)S(a,b) 表示預(yù)測值與觀測值之間的誤差的平方和。 - 步驟2:
求導(dǎo)數(shù):為了找到使目標(biāo)函數(shù)最小的參數(shù) a 和b,我們對 S(a, b) 分別對a 和 b 求偏導(dǎo)數(shù),并將其設(shè)為零,得到一組方程:
? S ? a = ? 2 ∑ i = 1 n x i ( y i ? a x i ? b ) = 0 \frac{\partial S}{\partial a} = -2 {\textstyle \sum_{i=1}^{n}} x_{i}(y_{i}-ax_{i}-b)=0 ?a?S?=?2∑i=1n?xi?(yi??axi??b)=0
? S ? b = ? 2 ∑ i = 1 n ( y i ? a x i ? b ) = 0 \frac{\partial S}{\partial b} = -2 {\textstyle \sum_{i=1}^{n}} (y_{i}-ax_{i}-b)=0 ?b?S?=?2∑i=1n?(yi??axi??b)=0 - 步驟3:
解方程:通過求解上述方程組,可以得到最優(yōu)參數(shù) a 和 b 的值。具體求解過程可以得到如下結(jié)果:
a = n ∑ i = 1 n x i y i ? ∑ i = 1 n x i ∑ i = 1 n y i n ∑ i = 1 n x i 2 ? ( ∑ i = 1 n x i ) 2 a = \frac{n {\textstyle \sum_{i=1}^{n}}x_{i}y_{i}-\sum_{i=1}^{n}x_{i}\sum_{i=1}^{n}y_{i} }{n {\textstyle \sum_{i=1}^{n}}x_{i}^{2}-({\textstyle \sum_{i=1}^{n}}x_{i})^{2} } a=n∑i=1n?xi2??(∑i=1n?xi?)2n∑i=1n?xi?yi??∑i=1n?xi?∑i=1n?yi??
b = ∑ i = 1 n y i ? a ∑ i = 1 n x i n b = \frac{{\textstyle \sum_{i=1}^{n}}y_{i}-a\sum_{i=1}^{n}x_{i}}{n} b=n∑i=1n?yi??a∑i=1n?xi?? - 步驟4:
優(yōu)化的本質(zhì):最小二乘法的過程實際上是通過優(yōu)化方法來最小化目標(biāo)函數(shù)。優(yōu)化在這里的意思是找到使目標(biāo)函數(shù)達(dá)到最小值的參數(shù)組合。在最小二乘法中,這個目標(biāo)函數(shù)是誤差的平方和,優(yōu)化過程就是通過求解導(dǎo)數(shù)來找到誤差平方和的最小值。
04 貝葉斯信息準(zhǔn)則
貝葉斯信息準(zhǔn)則(Bayesian Information Criterion, BIC)是一種統(tǒng)計量,用于模型選擇,特別是在評估模型復(fù)雜性和擬合優(yōu)度之間的平衡時使用。
BIC 的計算公式如下:
B I C = ? 2 l n ( L ) + k l n ( n ) BIC=-2ln(L) +kln(n) BIC=?2ln(L)+kln(n)
其中:
- ln(L)是模型的對數(shù)似然(log-likelihood)。對數(shù)似然度量了模型對數(shù)據(jù)的擬合優(yōu)度。對數(shù)似然值越大,說明模型越能解釋數(shù)據(jù)。
- k是模型的參數(shù)數(shù)量。在聚類模型中,參數(shù)數(shù)量通常包括聚類數(shù)K和每個聚類的參數(shù)(如均值和方差)。k越大,模型越復(fù)雜。
- n是樣本數(shù)量。樣本數(shù)量是指數(shù)據(jù)中的觀測值個數(shù)。
- BIC 的公式中,-2ln(L)代表了模型的擬合優(yōu)度,值越小,擬合越好。kln(n)是對模型復(fù)雜性的懲罰項,隨著參數(shù)數(shù)量 k 和樣本數(shù)量n的增加,懲罰項也增加。這個項用來防止過擬合。BIC 的值越小,模型越好。因此,在選擇模型時,希望找到使 BIC 最小的模型。