導航:首頁 > 源碼編譯 > 高斯演算法

高斯演算法

發布時間:2022-02-06 23:21:22

⑴ 高斯演算法求分數

高斯混合模型GMM
首先介紹高斯分布的概率密度函數。一維高斯分布的概率密度函數如下:

多維變數X=(x1,x2,…xn)的聯合概率密度函數為:

這里引用李航《統計學習方法》書中的定義

簡而言之,GMM是多個高斯分布的加權和,並且權重α之和等於1 。

Sklearn
sklearn.mixture 是一個應用高斯混合模型進行非監督學習的包(支持 diagonal,spherical,tied,full 四種協方差矩陣)。GaussianMixture 對象實現了用來擬合高斯混合模型的期望最大 (EM) 演算法。它還可以為多變數模型繪制置信橢圓體,同時計算 BIC(Bayesian Information Criterion,貝葉斯信息准則)來評估數據中聚類的數量。詳情見Sklearn中文官網2.1. 高斯混合模型。

期望最大演算法EM
這里引用周志華《機器學習》書中的定義

上面是基本概念。關於數學公式推導,真心建議直接看吳恩達老師的課件。這里給出自己推導的結果

示例演示
演示GMM的使用。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import LogNorm
from sklearn import mixture

n_samples = 300

# generate random sample, two components
np.random.seed(0)

# generate spherical data centered on (20, 20)
shifted_gaussian = np.random.randn(n_samples, 2) + np.array([20, 20])

# generate zero centered stretched Gaussian data
C = np.array([[0., -0.7], [3.5, .7]])
stretched_gaussian = np.dot(np.random.randn(n_samples, 2), C)

# concatenate the two datasets into the final training set
X_train = np.vstack([shifted_gaussian, stretched_gaussian])

# fit a Gaussian Mixture Model with two components
clf = mixture.GaussianMixture(n_components=2, covariance_type='full')
clf.fit(X_train)

# display predicted scores by the model as a contour plot
x = np.linspace(-20., 30.)
y = np.linspace(-20., 40.)
X, Y = np.meshgrid(x, y)
XX = np.array([X.ravel(), Y.ravel()]).T
Z = -clf.score_samples(XX)
Z = Z.reshape(X.shape)

CS = plt.contour(X, Y, Z, norm=LogNorm(vmin=1.0, vmax=1000.0),
levels=np.logspace(0, 3, 10))
CB = plt.colorbar(CS, shrink=0.8, extend='both')
plt.scatter(X_train[:, 0], X_train[:, 1], .8)

plt.title('Negative log-likelihood predicted by a GMM')
plt.axis('tight')
plt.show()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
運行結果

⑵ 高斯演算法是什麼

一次數學課上,老師讓學生練習算數。於是讓他們一個小時內算出1+2+3+4+5+6+……+100的得數。全班只有高斯用了不到20分鍾給出了答案,因為他想到了用(1+100)+(2+99)+(3+98)……+(50+51)…………一共有50個101,所以50×101就是1加到一百的得數。後來人們把這種簡便演算法稱作高斯演算法。

具體的方法是:

首項加末項乘以項數除以2

項數的計算方法是末項減去首項除以項差(每兩項之間的差)加1.

1+2+3+4+5+······+n

字母表示:n(1+n)/2

等差數列求和公式Sn=(a1+an)n/2Sn=n(2a1+(n-1)d)/2; d=公差Sn=An2+Bn; A=d/2,B=a1-(d/2)

⑶ 什麼是高斯演算法你能用高斯算發解決一些簡單的問題嗎

解決等差數列的求和問題 現實中好象在物理的打點計時里用的到

⑷ 高斯演算法怎麼算

高斯演算法怎麼算
以首項加末項乘以項數除以2用來計算「1+2+3+4+5+···+(n-1)+n」的結果。 這樣的演算法被稱為高斯演算法。

⑸ 高斯演算法題

1+2+3+4+5+6+7+8+9=45

⑹ 1+3+5+...2019高斯演算法

項數是:(2n-1+1)/2=n項
1+3+5+...+(2n-1)即=(2n-1+1)*n/2=n^2

⑺ 急求:高斯演算法所有公式

首項加末項乘以項數除以2

⑻ 高斯演算法的介紹

首項加末項乘以末項數除以2這樣的演算法稱為高斯演算法。

⑼ 用高斯演算法

首尾相加,乘以項數除以2,共有400項,答案是120.2

閱讀全文

與高斯演算法相關的資料

熱點內容
linuxapachephp56 瀏覽:390
安卓手機如何打開eng文件 瀏覽:22
看拉丁電視都用什麼app好 瀏覽:778
什麼是哲學pdf 瀏覽:507
hdfs的三個下載命令 瀏覽:522
java常用的排序演算法 瀏覽:357
51單片機連接adc 瀏覽:859
python命名變數報錯 瀏覽:120
安卓手機如何換windows系統 瀏覽:612
python中的類是什麼 瀏覽:630
我的英雄學院用哪個app可以看 瀏覽:35
excel插入選項卡對象命令 瀏覽:693
python字元全排列 瀏覽:505
824頁大瓜文件pdf 瀏覽:222
朔州ios源碼 瀏覽:251
演算法邏輯電路 瀏覽:941
青少年喝酒解壓辯論賽 瀏覽:175
android如何新建activity 瀏覽:741
ntp支持的認證演算法 瀏覽:716
想做快手主播需要什麼app 瀏覽:926