基於matlab的RBFNN的kmeans算法研究

2020-12-14 求其友聲

摘要:在這個信息量爆炸的社會,高效的處理數據成為重中之重,所以聚類算法就為此提供了技術幫助。聚類解析是把數據進行分類匯總的重要手段,被廣泛應用於當今統計學,大數據運行,信號辨別等眾多行業。聚類算法有多種實現方法,其中kmeans算法是基於距離劃分 的方法來實現聚類。本文首先對kmeans算法進行深入的研究和學習,簡單介紹了其思想及其具體操作步驟,因其算法簡單、快速高效 的處理大數據集而被人們廣泛應用。但其初始聚類中心是隨機選擇的,所以結果具有不確定性。利用層次聚類的算法對其進行改進, 使其初始聚類中心穩定,彌補了kmeans算法的缺點。最後用層次聚類算法改進的kmeans算法在matlab中預設徑向基函數神經網絡,該網絡徑向基函數的數目、徑基函數的中心和寬度以及隱含層和輸出層之間的連接權值有算法的聚類結果確定,此方法徑向基函數神經 網絡的穩定性和高效性。關鍵詞:kmeans算法;RBFNN;matlab;Abstract: in this information explosion society, efficient data processing has become the top priority, so clustering algorithm provides technical help for this. Clustering analysis is an important means to classify and summarize data and is widely used in many industries such as statistics, big data operation and signal discrimination. There are many implementation methods of clustering algorithm, among which kmeans algorithm is based on distance partition method to achieve clustering. Firstly, this paper makes an in-depth study and study of kmeans algorithm, and briefly introduces its ideas and specific operation steps. Because of its simple, fast and efficient algorithm for processing large data sets, kmeans algorithm has been widely used by people. However, the initial clustering center is randomly selected, so the result is uncertain. The hierarchical clustering algorithm is used to improve the algorithm to make its initial clustering center stable, which makes up for the shortcomings of kmeans algorithm. Finally, kmeans algorithm improved by hierarchical clustering algorithm is used to preset radial basis function neural network in matlab. The number of radial basis function, the center and width of radial basis function and the connection weight between hidden layer and output layer of this network are determined by clustering results of the algorithm. The stability and high efficiency of the radial basis function neural network of this method are obtained.

Keywords :kmeans algorithm; RBFNN. Matlab;

緒論1.1課題的研究意義

隨著社會的不斷發展,信息技術的提高越來越快,每天產生的數據以億為單位來計算,在這個數據驟增的社會中,尤其是網際網路,存儲的數據大大超過了人們所能理解的範圍,所以高效的處理並利用數據就顯得尤為重要。聚類分析就是為解決這一問題應運而生的。 聚類分析是經過分析相異數據對象之間的相似性來進行分類,這項技術被應用在許多領域,例如:分析圖像、機器學習、空間數據剖 析、生物研究以及市場調研等領域。作為聚類分析中傳統劃分方法的Kmeans算法,具有算法不複雜、易於實現、易於擴展並且能夠處 理大數據集的優點。但它自身有一定的缺點:聚類的效果隨初始聚類中心的差異而產生變動,聚類結果的穩定性較差。所以在使用過程中,需要針對不同的實例進行不同的改進。徑向基函數神經網絡(RBFNN)是由三層網絡形成,分別是輸入層、隱含層和輸出層。 它的好處是:網絡結構簡單、非線性無限曲近能力強、約束速度快以及全局約束。在數據分類方面有較高的能力,可應用於實際生活中的函數逼近、模式識別、數據分類及故障診斷等問題。神經網絡對數據集體現的正確反應,取決於數據集和網絡結構兩個方面, 其中網絡結構的設計是重中之重。正確的抉擇不同層的參數,如:徑向基函數的數量、基函數中心和寬度以及隱含層與輸出層之間的連結權重。不同層在網絡結構中的作用不同,所以採取不同的策略來優化網絡結構中不同層的參數。

本文用基於層次聚類的算法來改進的kmeans算法在matlab中設計一個徑向基函數神經網絡分類器。首先用層次聚類算法對數據目標進行劃分,將聚所得結果作為kmeans算法的初始參數,對數據對象利用kmeans算法進行第二次聚類,所得結果用來確定神經網絡中徑向基函數的數目、基函數中心及寬度等值,從而使分類器的分類精度更高,分類速度更快。

1.2課題的主要研究內容

本論文主要研究了kmeans算法,並對kmeans算法進行改良,用改進後的算法在matlab中來設計RBFNN分類器。具體內容如下:

(1)概要

簡略介紹了本課題鑽研的背景及意義,此算法應用領域廣,為人們的生活帶來了便利,大大促進了社會的發展。通過概述了其基本思 想對其有一定的把握,並引出文章的研究主題。

(2)研究kmeans算法並對其進行改進

經過對kmeans算法的優缺點進行了深入的學習,Kmeans算法的初始聚類中心是任意的,所以結果不穩定、不確定。繼深入學習並研究 了層次聚類算法,層次聚類算法對已經處理的數據無法恢復到原來的狀態,具有不可逆性。並給出了一種改進算法,將這兩種算法進 行聯合,對各自的缺點不足進行了調節,使用層次聚類算法得到的結果來確認kmeans算法的初始聚類中心,由此避免了初始聚類中心 抉擇的任意性,隨後再進行kmeans二次聚類得到最終聚類結果。大大提高了聚類的精準性。(3)RBFNN分類器的設計

RBFNN具有網絡結構不複雜、非線性無限接近能力強,收約束速度快以及全局約束的優點。通過層次聚類算法和kmeans算法的相 結合產生的聚類結果來確定神經網絡中徑向基函數的數量、徑向基函數的寬度和中心、隱含層與輸出層之間的連接權值,利用該方法 設計的神經網絡精度高、練習速度快。(4)實驗結果

最後用仿真來說明改進後的算法比之前的算法聚類速度更快,結果更加穩定。用改進後的算法設計的分類器,在應對不同數據集時, 能夠正確的反應並進行分類。2 kmeans算法

Kmeans算法是一種非實時監督的聚類算法,傳統的基於距離劃分的聚類算法。當兩個數據對象之間的距離越小那它們之間的近似性就越大,越容易劃分到一個簇中,將所得到的簇作為最終的結果。Kmeans算法是一種較為經典的算法,在處理大量數據中也應用較為廣 泛。2.1簇間距離的計算方法

(1)最短距離:兩個聚類所包含的數據獨享之間的距離最小的值的代表兩個聚類的距離

(2) 最長距離:任意兩個聚類所內涵的數據對象之間距離最大值代表兩個聚類的距離。

(3) 平均值距離:任意兩個聚類的兩個聚類中心點之間距離值代表兩個聚類的距離。(4) 平均距離:兩個聚類所內涵的數據單位之間的距離的平均值表示兩個聚類的距離。2.2kmeans算法的思想

Kmeans算法最終只產生一個簇,但過程是一個更相轉換的過程。每一次更像轉換都需要對樣本數據的分類正確與否進行判斷,若有錯 誤則進行調整,並修改聚類中心;若正確則不會調整而且聚類中心也不會發生改變。Kmeans算法通常使用的聚類準則函數,就是計算 每個數據目標到聚類中心的誤差平方和,並使其越來越小。

傳統的kmeans算法的工作過程:1 從多個單位目標中隨意選擇N個數據作為聚類中心:

2 計算每個數據單位到聚類中心的距離,將數據目標規劃至距離最近的簇中;

3 計算每個簇的衡值,反覆工作,直到聚類核心穩定不再產生變動。 計算kmeans算法實現聚類的誤差平方和,,其中,E指所有數據目標的誤差平方和,p是指空間中的數據目標,表示一個類的平均值, 利用此準則生成的聚類結果更加緊湊,處理數據樣本之間區別明顯時此算法有良好的效果,並且對處理大數據集時,有良好的伸縮性 。

算法基本流程概念2.3層次聚類算法

層次聚類算法是自下向上的一種凝聚算法,初始聚類是單個的數據目標,以鄰近的簇相融合的方式來凝聚,直到得到期望的結果停止 。如果要對N個數據目標進行聚類,產生NN的距離矩陣,此算法對數據目標進行凝聚的具體過程如下:

(1)將單個數據目標看作一類,每一類中有且僅有一個數據,計算類之間的距離,得到最初的距離矩陣;

(2)將得到數值最小的兩個類合併成為一個新的類別;

(3)然後重新計算這個新生成的類別和其餘所有類之間的距離,就是將新生成的類與其餘所有類的距離值中最小的作為它們之間的近似度;

(4)將(2)(3)步循環反覆,一直達到最終條件算法終止,得到我們所期望的類的數量。 層次聚類算法在每次合併生成一個新的類時,都需要重新計算合併後的類與其餘類之間的距離,距離矩陣也需要多次更新,若遇到大 型數據集,則計算量是相當大的,算法的複雜度也是逐漸升高的,時間的複雜度大大增加,大大降低了算法的應用範圍。 層次聚類算法的流程圖如圖2-2所示: 此算法的實現:若數據個數為n的數據集,則產生大小的數組,用dist來存儲每兩個數據目標之間的距離。Dist的結構體中包括 :distance、rowi、rowj其中,distance是指i,j兩對象之間的距離,rowi是指第i個對象所在的行的序號,rowj是指第j個對象所在 行的序號。用函數sortdist實現數據目標兩兩之間的距離順序排列,根據距離上升的順序來合成類,用link函數來實現聚類最短距離 。判斷一個數據目標是否被合併,通過新建一個一維數組來標記,若未被合併用-1表示。在合併類的過程中,若判定兩個數據對象未 合併則將這兩個對象合併成一類,並修改在數據對象的標記,同時類的個數減少一;若兩個數據目標中,一個已合併而另一個沒有合 並,就將未被合併的數據目標合併到已合併的所屬類中,並將合併後的標識賦給數據目標,同時減少一個類;若兩個數據目標均已別 合併到不同的類中,則將這兩個不同的類合併成一個新類,此時修改一類中所有數據目標為另外一類的標記,並減少類的個數。循環 反覆,當得到指定類的個數或最終合併成一個類的時候停止。 層次聚類算法的缺點:用凝聚的方式對數據進行聚類,已經處理的數據無法通過分裂得到之前的狀態是一個不可逆的過程,一旦處理 無法再對其進行修正。所以我們將其與kmeans算法進行結合,克服自身的不足,同時又將層次聚類的成果作為kmeans算法的初始聚類 中心,避免了kmeans算法初始聚類中心的任意性,有效的使算法更相轉換的次數減少,從而加快了聚類速率,提高了聚類精度,使聚 類結果更穩定,更確定。

2.4改進的kmeans算法

Kmeans算法是從多個單位中隨機選擇N個目標作為聚類中心,產生的聚類結果不太穩定,所以怎樣選擇初始聚類中心對產生的聚類的成果有原因。本文對初始聚類中心的確認方式進行了改進,通過層次聚類的算法儘量使初始聚類中心空間分布與實際分布接近。層次聚 類算法對數據樣本進行一個初始的劃分,然後計算每個劃分裡目標的衡值,得到初始聚類中心。隨後進行kmeans二次聚類,使聚類結 果更加穩定。改進kmeans算法工作過程:1 確定k個聚類;2 對數據進行層次聚類解析;3 將層次聚類解析得到的多個聚類計算均值作為初始聚類中心;

4 計算每個數據單位到聚類核心的距離,將數據目標規劃到距離較近的簇當中;

5 循環反覆,直到聚類中心不在變化為止。修改後的kmeans算法流程概念:2.5改進的kmeans算法的實現將層次聚類的結果作為kmeans算法的初始聚類中心,是利用findclass(intt,int row,cTypec,doublemedia,int col,doublep)這一函 數實現的,其中各參數含義如下:

t:層次聚類的聚類結果;row:聚類對象的個數;col:聚類對象屬性的個數;p:聚類對象的值。用結構體數組c來存儲層次聚類中 類的數量和類的類型,將數據對象遍歷層次聚類的聚類結果,得到用count來表示每個類的目標總量,用cno來表示數據對象的類型號 。在遍歷的過程中,將同屬性的值相加求平均值,就是聚類中心。隨後計算一個數據對象到n個聚類中心的最短距離,將數據目標劃 分到距離最近的類中,若數據所屬類的類型號與初始類型號是否相同,若相同則不需要更正,否則修改為所屬類的類型號。 這種改進後的算法減少了算法更相轉換的次數,避免初始聚類中心的任意性所導致結果的不確定性。這種算法只有當數據目標所屬類 別不再變化時才終止算法,因此準確性極高。2.6小結 利用層次聚類得到的成果作為kmeans算法的初始聚類中心,避免了初始聚類中心任意性導致聚類結果不明確的缺陷,初始聚類中心很 好的描述了該類,減少了更相轉換的次數,使運算速度得以提升。Kmeans算法避免了層次聚類算法無法修改已經完成合併或分類的缺 點,從而使聚類結果的準確性大大提升。3 RBFNN分類器

徑向基函數神經網絡(RBFNN)是三層前向型神經網絡,可以將非線性基函數的線性組合實現低維空間向高維空間的非線性轉換。其 網絡結構不複雜,非線性無限接近能力強,約束速度快等優點。該網絡被應用到智能控制,信息處理以及系統優化等領域。本章利用 改進後的kmeans算法確定神經網絡不同層的參數。3.1徑向基函數神經網絡

徑向基函數神經網絡中第一層由信號源節點組成輸入層,第二層由徑向基函數構成隱含層,第三層是對輸入模式響應的輸出層。在此 網絡中,第一層到第二層的變換是非線性的,第二層到第三層的改變時線性的。徑向基函數神經網絡結構如圖3-1所示: 本文採用的徑向基函數是高斯型函數:第i個輸出為:,公式中X是指輸入矢量,是指第j個隱節點的中心,是指第j個隱節點的徑基寬 度。是指隱含層和輸出層之間的權值,k為隱含層神經元的個數。輸出層對隱含層的結果進行線性加權求和。得到輸入到輸出的映照 。表示x與之間的徑向距離,隨著它的增大,的值迅速減小到零。越小,徑向基函數的寬度就越小。

3.2徑向基函數神經網絡參數的選擇

隱含層節點的數目,函數的中心,函數的寬度以及隱含層與輸出層之間權值的選擇直接影響RBF神經網絡的性能。首先用聚類算法確 認隱含層節點中心和徑基寬度,然後利用最小二乘法確定隱含層與輸出層之間的權值。具體過程如下:

利用修改後的算法對數據樣本進行聚類,得到簇的數目作為隱含層節點的數量k;每個簇的中心作為隱含層節點中徑向基函數初始值 ,根據聚類中心與訓練樣本指間的平均距離作為徑向基函數的初始值,避免極端情況。然後利用偽逆法確定隱含層與輸出層之間的權 值,即:,其中,為偽逆矩陣, 徑向基函數神經網絡的局部特性導致在數據樣本以外的函數值時效果不太理想,可以用歸一化徑向基函數神經網絡可以覆蓋整個徑向 基函數的輸入空間,能夠得到擬合效果更好的輸出,提高了泛化能力,減少了隱含層節點的個數。 3.3徑向基函數神經網絡參數的優化 如此所得的神經網絡一般不能得到我們滿意的結果我們採用梯度下降的方法對參數進行優化。我們用誤差平方和:,其中,為期望輸 出,為實際輸出,n為樣本個數,L為輸出矢量的維數,將誤差平方和作為參數優化的標準。把徑向基函數中心、徑基寬度、隱含層與 輸出層之間的權值W,當作集合U{、、w},則,其中,是下降最快的梯度方向,是調整參數的步長,n是迭代的次數。 輸入層到隱含層的優化:公式(3-1) 其中,k代表隱含層神經元的個數,n代表更相轉換次數。徑基寬度的優化:公式(3-2)權值w的優化:公式(3-3)適當的優化參數 可以提高網絡的精度。適當的可以保證函數的收斂趨勢,過大則導致神經網絡震蕩;過小導致神經網絡收斂速度變慢。通過控制平方 和誤差小於給定值來不斷迭代從而提高網絡的精確性。

3.4徑向基函數神經網絡分類器的設計 徑向基函數神經網絡分為三部分:徑向基函數的中心;徑向基函數的寬度;隱含層與輸出層的連接權值。第一階段,根據輸入數據樣 本確定徑向基函數的中心和寬度。徑向基函數的中心尤為重要,用改良後的聚類算法來求數據樣本的各聚類中心並將其作為徑向基函 數的初始中心。用聚類的結果來確認徑向基函數的寬度,經常用聚類中心與每個數目標之間距離的平均值的方法來確定寬度。 基於改進的kmeans算法設計分類器的具體步驟如下:

1) 對數據進行歸一化處理後,隨機排序。

2) 對樣本數據進行聚類,將聚類結果作為神經網絡各層的參數;

3) 計算各聚類中心之間的距離,利用高斯公式計算隱含層的輸出,利用偽逆法計算隱含層與輸出層之間的權值;

4) 利用公式3-1、3-1、3-3對神經網絡各參數進行優化,在matlab7.0編程實現徑向基函數神經網絡的設計。

4 仿真結果

4.1kmeans算法在matlab中的實現

用鳶尾花數據集測試該算法,用matlab中的kmeans算法進行聚類。圖4-1為某一次的聚類結果,

圖4-1鳶尾花數據集聚類解結果 由實驗結果可知,每一次聚類的結果都不相同,因為初始聚類中心的任意性導致結果的不明確性,若初始聚類中心是給定的則聚類成 果是相對肯定的。由結果表明,將兩種算法結合,不僅提高了聚類的穩定性還提高了聚類的速度。

Kmeans算法 改進後的kmeans算法

準確率 79.92% 88.36%

運行時間 28ms 15ms

4.2分類器在matlab中的實現

本文用BSD Datebase和solar兩個數據來檢測此算法。BSD datebase是一個總量為625的數據,其中隨機選擇500個數據作為學習數據 ,其餘125個數據作為測試數據。Solar datebase是一個總量為208的數據,其中,每個數據均有60個屬性,隨機選擇150組數據作為 學習數據,其餘58組數據作為測試數據。其驗結果比較如表4-1:

表4-1

數據 RBF算法 改進後的RBF算法

DSB datebase =0.5762=0.5720 0.89630.3586

Solar datebase =0.5769=0.4857 =0.73080.2921

其中,為算法執行100次的平均準確率,為算法執行100次的平均誤差平方和。

圖4-2 DSB datebase兩種算法誤差變化比較

圖4-3 solar datebase兩種算法誤差變化比較 通過對兩種數據進行聚類分析,可以明顯的看出利用改進後的聚類算法設計的徑向基函數神經網絡分類器,網絡訓練的速度有了一定 的提高,而且該方法設計的分類器在聚類的準確精度上明顯提高,聚類的誤差也更加趨於平緩。

徑向基神經網絡
徑向基神經wangluo

結語

本文對基於matlab的RBFNN的kmeans算法的研究進行了詳細的介紹,首先簡單的介紹了kmeans算法以及層次聚類算法的基本思想和操 作的具體步驟,並對其優缺點進行了分析。層次聚類算法的不可逆性,已經處理的數據無法返回原來的狀態,通過kmeans算法對此算 法進行改良,然後在此基礎上對kmeans算法初始聚類中的隨機性進行了改進,利用層次聚類算法先對數據進行一個劃分,將劃分的結 果作為kmeans算法的初始聚類中心,兩個算法的相互結合,使聚類結果更加穩定、確定。最終,利用改進的聚類算法設計RBF神經網 絡,由聚類結果自動確定徑向基函數的個數、徑基函數的中心和寬度以及隱含層和輸出層之間的權值,大大提高網絡的穩定性。 本研究雖取得以上成果,但仍有許多地方需要改進:(1)優化kmeans算法的參數,研究自動確定聚類數的方法。(2)實際生活中數據類型有很多種,提高處理不同類型數據的能力。 (3)改進後的算法並沒有應用在大數據集的測試上,無法表明其有效性,在此方面需要進一步研究。 (4)此算法應用於研究靜態數據,並沒有涉及到動態數據,所以可以擴展一些新的研究方向,使算法的應用領域更加廣泛。

參考文獻[1]何迎生,段明秀.基於改進kmeans聚類方法的RBF神經網絡設計[J].邵陽學院學報(自然科學版),2014(02):48-50.

[2]賴玉霞,劉建平,楊國興.基於遺傳算法的K均值聚類分析[J].計算機工程,2015(20):200-202.

[3]劉雪峰,張宏立.基於MATLAB的RBF神經網絡在分類中的應用[J].內江科技,2015,31(07):137.

[4]高寧,張建中.MATLAB在RBF神經網絡模型中的應用[J].農業網絡信息,2016(02):110-111+116.

[5]楊友良,許釗,王文輝.基於MATLAB的RBF神經網絡的一種應用[J].冶金叢刊,2016(06):39-40+44.

[6]王陽萍,朱正平.MATLAB在RBF徑向基神經網絡仿真中的應用[J].甘肅科技,2014(10):54-55.[7]陳龍,武交峰,彭森第.MATLAB GUI工具與RBF神經網絡在數據預測中的應用[J].科技信息,2011(24):518-519.

[8]唐勇智,葛洪偉.基於聚類的RBF-LBF串聯神經網絡學習算法[J].計算機應用,2017(12):2916-2918.

[9]陳燕俐,洪龍,金達文,朱梧檟.一種簡單有效的基於密度的聚類分析算法[J].南京郵電學院學報,2015(04):24-29.

[10]趙法信,王國業.數據挖掘中聚類分析算法研究[J].通化師範學院學報,2013(02):11-13.

[11]譚建輝.徑向基函數神經網絡的再學習算法及其應用[J].微電子學與計算機,2016(05):115-117+120.

[12]胡泱,陳剛.一種有效的基於網格和密度的聚類分析算法[J].計算機應用,2003(12):64-67.

[13]王敞,陳增強,袁著祉.基於遺傳算法的K均值聚類分析[J].計算機科學,2013(02):163-164.

[14]唐哲. 一種基於遺傳算法的k均值聚類分析[D].長沙理工大學,2014.[15]Qinghui Wu,Xinjun Wang,Qinghuan Shen. Research on dynamic modeling and simulation of axial-flow pumping system based on RBF neural network[J]. Neurocomputing,2016,186.[16]He Wei Zhang,Lei Sun,Hong Zhang. Research on Data Packets Clustering Algorithm in the Wireless Multiple Hop Network[J]. Applied Mechanics and Materials,2014,3512(651).致謝

本論文從開始到結束經歷多重修改和大量的實驗數據,感謝指導老師的細心幫助和指導,是我明白了MATLAB的操作,而且對KMEANS算法,層次聚類算法以及徑向基函數神經網絡有了深層次的理解和認識,以及更廣闊的應用領域。

相關焦點

  • 教程 | matlab實現kmeans聚類算法
    kmeans聚類算法是一種簡單實用的聚類算法,matlab自帶函數kmeans可直接對數據進行kmeans聚類。
  • 改良的kmeans與K近鄰算法特性分析
    同時很多的學者投入到對kmeans算法本身特性的研究中 [4-5],目前kmeans算法已經成為機器學習,數據挖掘等領域比較重要的方法之一。而k近鄰算法是圖像以及文本分類領域應用比較廣泛的算法之一 [6-7],對k近鄰算法而言,k值的選擇以及樣本間距離的度量方式都會影響到分類的精確度。
  • 機器學習之基於sklearn的KMeans聚類
    聚類算法,無監督學習的代表算法,又叫做「無監督分類」即在訓練的時候只需要特徵矩陣,不需要真實值標籤可以有效地幫助我們探索數據的自然分布一、KMeans算法的運行過程運行的流程如下:自動聚類時的質心點的每步驟變化如下:
  • 數學推導+純 Python 實現機器學習算法:Kmeans 聚類
    下面我們基於numpy按照前述算法流程來實現一個kmeans算法。回顧上述過程,我們可以先思考一下對算法每個流程該如何定義。首先要定義歐式距離計算函數,然後類中心初始化、根據樣本與類中心的歐式距離劃分類別並獲取聚類結果、根據新的聚類結果重新計算類中心點、重新聚類直到滿足停止條件。
  • Kmeans聚類算法
    ,而實現生活中大部分數據是不帶標籤的,從今天起我們要學一些處理不帶標籤數據的非監督算法,先從Kmeans聚類算法開始,我們將從以下幾個方面來介紹Kmeans聚類算法什麼是聚類?俗話說:「物以類聚,人以群分」,意思是說具有共同特質的人或物更容易聚集在一起,聚類算法正是依循這一客觀規律,通過技術手段,將相似的研究對象聚集在同一個類裡面,將相異的研究對象聚集在不同類裡面,使得同一個類裡面的研究對象具有極大的相似性,不同類的研究對象具有極大的差異性,聚類後的研究對象的內在結構就更加清楚明了。
  • 基於Matlab/Simulink的風力機特性仿真
    摘要:本文選擇參考文獻2中的風能的功率係數Cp進行分析,採用遺傳算法進行最大功率係數Cpmax求解,並通過對參考文獻1中的風能的功率係數Cp求解驗證其算法求解的合理性。本文通過遺傳算法計算最佳葉尖速度比 和最大風能的功率係數Cp,並在 matlab/Simulink中對變速風力發電機的風力機進行靜態仿真,為建立合理的變速風力發電系統作準備。1 變速風力機原理及特性  1.1 風力機結構  風力機是風電發電系統中的重要組成部件。
  • 【源碼】Kmeans聚類算法(超快速、簡潔的設計方法)
    這是一種超快速MATLAB實現的kmeans聚類算法。
  • 機器學習——詳解經典聚類算法Kmeans
    Kmeans算法正是基於這一思想而生,讓數據通過某種算法聚集,不再進行劃分的方法稱為聚類算法。在聚類問題當中,一系列樣本被模型根據數據的屬性聚合在了一起,成為了同一個類別。這裡的類別就稱為這些樣本的類簇(cluster)。每一個簇的中心點稱為簇中心。
  • K_means聚類的matlab應用
    感謝關注matlab愛好者公眾號!如果公眾號文章對您有幫助,別忘了點擊分享和「在看」哦!
  • MATLAB課程之第五章 走入算法(1)
    大一的學生在學matlab的時候,一般都接觸了C語言,我在課堂上就將這兩種語言進行了比較。怎麼比較?通過編程來舉例說明。
  • 使用K-means 算法進行客戶分類
    識別目標客戶群或者基於不同維度分析(推導)模式非常關鍵,並且實在的為平臺提供了優勢。保證K-Means算法收斂到局部最優。下面,我們將展示K-means算法如何處理客戶費用和發票數據的例子。我們有500個客戶數據,我們關注兩個客戶特徵: 客戶發票,客戶費用。一般來說,只要數據樣本的數量遠遠大於特徵的數量,該算法可以用於任意數量的特徵。
  • 蟻群算法簡介及matlab實現
    Colorni 通過模擬蟻群覓食行為提出了一種基於種群的模擬進化算法——蟻群優化。2 目前蟻群算法的應用雖然對蟻群算法的研究時間不長, 但是初步研究已顯示出它在求解複雜優化問題方面具有很大的優勢, 特別是1998 年在比利時布魯塞爾專門召開了第一屆螞蟻優化國際研討會後, 現在每兩年召開一次這樣的螞蟻優化國際研討會。這標誌著蟻群算法的研究已經得到了國際上的廣泛支持,使得這種新興的智能進化仿生算法展現出了勃勃生機。
  • 百度大數據三面題:shuffle過程+HBase+Spark優化+kmeans算法
    spark集群運算的模式簡單說一下hadoop的shuffle過程三面:(主要是算法原理)自我介紹說說你對大數據行業現狀的看法kmeans算法原理?樸素貝葉斯分類算法原理?關聯規則挖掘算法apriori原理?你的職業規劃是什麼?
  • 基於圖像的目標區域分割算法研究
    起初由於該算法被用於圖像的二值化,並沒有引起研究人員的廣泛關注,後來Vincent和Soille等人將像素灰度值看成地形高度值,模擬水浸沒過程實現分水嶺算法,此後該算法的優勢便得以顯現,同時受到學者們的廣泛關注。  基於浸水型的分水嶺算法是模擬底部浸水過程,漸漸浸水直到找到目標物邊緣。它是將圖像灰度值看成地面點高度值,因此灰度圖像就可以看成一幅上下起伏的地形圖。
  • 基於Nanoloc的TOA指紋算法定位研究
    本文引用地址:http://www.eepw.com.cn/article/164392.htm  引言  隨著射頻識別技術的飛快發展,人們對室內物體的位置信息需求日益增長,室內定位技術已成為全球研究的熱點。
  • 基於改進的LM算法的可見光定位研究
    因此,針對可見光定位的研究具有現實意義。目前,已有眾多學者分享了在可見光定位領域的研究成果。文獻[7]提出了一種基於自適應混合蛙跳算法的可見光定位方法,雖然啟發式算法具有優越的全局搜索能力,但是獲得全局收斂解卻需要大量計算時間,因此並不適用於嵌入式設備。
  • 基於關鍵詞的文本內容過濾算法的研究與應用
    基於關鍵字的文本內容過濾算法迎合了人民日報的新進展,立足於人民網為用戶個性化推送新聞、廣告等信息,可為用戶提供具有指導性的建議,也能夠為第十九次全國人民代表大會宣傳黨的路線方針、推進社會主義新聞理論創新、弘揚時代精神,為祖國歷史和民族文化作出貢獻。
  • 基於MPSK信號的SNR估計算法的研究
    該問題前人有較多研究成果。有導頻輔助的SNR估計算法,導頻符號的存在降低了傳輸效率;有多項式逼近算法,然而該算法只能用於BPSK 和QPSK信號;也有一種基於判決的估計算法,判決過程增加了實現複雜度;以及一種改進的M2M4算法,該算法在SNR較低時估計誤差較大。
  • 基於Matlab的三維人臉識別系統開發
    LBP,HAAR是一些流行的算法,廣泛用於人臉識別並產生出色的結果。但是大多數這些算法不適合在無約束環境中進行實時識別。最近最先進的深度學習技術已經成為傳統機器學習算法的新寵。人臉識別應用程式使用的圖像只是範圍(0-255)中像素值的組合。算法在那些灰度值中找到區別模式並將其視為被認為對於每個圖像唯一的特徵。然而在3D圖像中,不存在像素信息,而是僅每個點的位置(x,y,z)可用。
  • matlab和c語言的區別
    MATLAB可以進行矩陣運算、繪製函數和數據、實現算法、創建用戶界面、連接其他程式語言的程序等,主要應用於工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。提供的是一種基於解釋的語言,雖然也是一種高級語言,但是還是很簡單的,它的目標在於用戶方便,開發簡單。