集體智慧常用的算法有哪些,瞭解這些算法的含義

PageRank算法

基本思想:如果網頁T存在一個指向網頁A的連接,則表明T的所有者認爲A比較重要,從而把T的一部分重要性得分賦予A。這個重要性得分值爲:PRT/C(T)

其中PRT)爲TPageRank值,C(T)T的出鏈數,則APageRank值爲一系列類似於T的頁面重要性得分值的累加。

優點:是一個與查詢無關的靜態算法,所有網頁的PageRank值通過離線計算獲得;有效減少在線查詢時的計算量,極大降低了查詢響應時間。

不足:人們的查詢具有主題特徵,PageRank忽略了主題相關性,導致結果的相關性和主題性降低;另外,PageRank有很嚴重的對新網頁的歧視。

分級聚類算法:

分級聚類通過連續不斷地將最爲相似的羣組兩兩合併,來構造出一個羣組的層級結構。在每次迭代的過程中,分級聚類算法會計算每兩個羣組間的距離,並將距離最近的兩個羣組合併成一個新的羣組。這個過程一直重複下去,直到只剩一個羣組時則完成分組。但是由於分級聚類每次都要計算羣組間的距離,所以計算量比較大。

K-均值聚類算法:

K-均值聚類是一種完全不同於分級聚類的方法,它首先會隨機確定k箇中心位置,然後將各個數據項分配給最近的中心點。等到分配完成之後,聚類中心會發生變化,會轉移到分配給該中心的所有節點的平均位置處。然後,整個分配過程重新開始。這樣一直持續下去,直到分配過程不再發生變化爲止。這有點類同於組合優化中的p-中值問題和p-中心問題。假設有n個數據項,我們要把這n個數據項進行聚類分組,目標是所有數據項到它分配的聚類中心的距離之和最小。那麼如何聚類呢?這時候就是p不定的中值問題,我們可以採取遺傳算法、變鄰域搜索算法等方法去解決。聚類的應用有博客的分組歸類、電子商務中對客戶的共同特徵進行分析等。

蟻羣算法

說明:各個螞蟻在沒有事先告訴他們食物在什麼地方的前提下開始尋找食物。當一只找到食物以後,它會向環境釋放一種揮發性分泌物pheromone (稱爲信息素,該物質隨着時間的推移會逐漸揮發消失,信息素濃度的大小表徵路徑的遠近)來實現的,吸引其他的螞蟻過來,這樣越來越多的螞蟻會找到食物。有些螞蟻並沒有象其它螞蟻一樣總重複同樣的路,他們會另闢蹊徑,如果另開闢的道路比原來的其他道路更短,那麼,漸漸地,更多的螞蟻被吸引到這條較短的路上來。最後,經過一段時間運行,可能會出現一條最短的路徑被大多數螞蟻重複着。[

蟻羣算法(ant colony optimization, ACO),又稱螞蟻算法,是一種用來在圖中尋找優化路徑的機率型算法。它由Marco Dorigo1992年在他的博士論文中提出,其靈感來源於螞蟻在尋找食物過程中發現路徑的行爲。蟻羣算法是一種模擬進化算法,初步的研究表明該算法具有許多優良的性質。針對PID控制器參數優化設計問題,將蟻羣算法設計的結果與遺傳算法設計的結果進行了比較,數值仿真結果表明,蟻羣算法具有一種新的模擬進化優化方法的有效性和應用價值。

蟻羣算法是通過正反饋、分佈式協作來尋找最優路徑的算法。這是一種基於種羣尋優的啓發式搜索算法。它充分利用了生物蟻羣能通過個體間簡單的信息傳遞,搜索從蟻巢至食物間最短路徑的集體尋優特徵,以及該過程與旅行商問題求解之間的相似性。


粒子羣算法

粒子羣算法,也稱粒子羣優化算法Particle Swarm Optimization),縮寫爲PSO, 是近年來發展起來的一種新的進化算法(Evolu2tionary Algorithm - EA)。PSO 算法屬於進化算法的一種,和遺傳算法相似,它也是從隨機解出發,通過迭代尋找最優解,它也是通過適應度來評價解的品質,但它比遺傳算法規則更爲簡單,它沒有遺傳算法的交叉”(Crossover) 變異”(Mutation) 操作,它通過追隨當前搜索到的最優值來尋找全局最優。這種算法以其實現容易、精度高、收斂快等優點引起了學術界的重視,並且在解決實際問題中展示了其優越性。

K-最近鄰算法

K最近鄰(k-Nearest NeighborKNN)分類算法,是一個理論上比較成熟的方法,也是最簡單的機器學習算法之一。該方法的思路是:如果一個樣本在特徵空間中的k個最相似(即特徵空間中最鄰近)的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別。KNN算法中,所選擇的鄰居都是已經正確分類的對象。該方法在定類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。 KNN方法雖然從原理上也依賴於極限定理,但在類別決策時,只與極少量的相鄰樣本有關。由於KNN方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對於類域的交叉或重疊較多的待分樣本集來說,KNN方法較其他方法更爲適合。


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