日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

智能优化算法应用:基于麻雀搜索优化K-means图像分割算法 - 附代码

發布時間:2023/12/16 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 智能优化算法应用:基于麻雀搜索优化K-means图像分割算法 - 附代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

智能優化算法應用:基于麻雀搜索優化K-means圖像分割算法 - 附代碼

文章目錄

  • 智能優化算法應用:基于麻雀搜索優化K-means圖像分割算法 - 附代碼
    • 1.K-means原理
    • 2.基于麻雀搜索算法的Kmeans聚類
    • 3.算法實驗結果
    • 4.Matlab代碼

摘要:基于麻雀搜索優化K-means圖像分割算法。

1.K-means原理

K-Means算法是一種無監督分類算法,假設有無標簽數據集:
X=[x1,x2,...,xn](1)X = [x_1,x_2,...,x_n] \tag{1} X=[x1?,x2?,...,xn?](1)
該算法的任務是將數據集聚類成kkkC=C1,C2,...,CkC = C_1,C2,...,C_kC=C1?,C2,...,Ck?,最小化損失函數為:
E=∑i=1k∑x∈Ci∣∣x?ui∣∣2(2)E = \sum_{i=1}^k\sum_{x\in C_i}||x-u_i||^2 \tag{2} E=i=1k?xCi??x?ui?2(2)
其中uiu_iui?為簇的中心點:
ui=1∣Ci∣∑x∈Cix(3)u_i = \frac{1}{|C_i|}\sum_{x\in C_i}x \tag{3} ui?=Ci?1?xCi??x(3)
要找到以上問題的最優解需要遍歷所有可能的簇劃分,K-Mmeans算法使用貪心策略求得一個近似解,具體步驟如下:

1.在樣本中隨機選取kkk個樣本點充當各個簇的中心點{u1,u2,...,uk}\{u_1,u_2,...,u_k\}{u1?,u2?,...,uk?}

2.計算所有樣本點與各個簇中心之間的距離dist(xi,uj)dist(x_i,u_j)dist(xi?,uj?),然后把樣本點劃入最近的簇中xi∈unearestx_i \in u_{nearest}xi?unearest?

3.根據簇中已有的樣本點,重新計算簇中心
ui=1∣Ci∣∑x∈Cixu_i = \frac{1}{|C_i|}\sum_{x\in C_i}x ui?=Ci?1?xCi??x

4.重復2、3

K-means算法得到的聚類結果嚴重依賴與初始簇中心的選擇,如果初始簇中心選擇不好,就會陷入局部最優解.因此初始簇中心的選擇非常重要。本文利用麻雀優化算法對初始簇中心進行優化,改進其容易陷入局部最優的特點。

2.基于麻雀搜索算法的Kmeans聚類

麻雀搜索算法的具體原理參考博客:https://blog.csdn.net/u011835903/article/details/108830958

適應度函數:利用麻雀搜索算法改進kmeans時,以聚類中心作為麻雀算法的優化變量,適應度函數設計如下:
fitness=∑i=1k∑x∈Ci∣∣x?ui∣∣2fitness = \sum_{i=1}^k\sum_{x\in C_i}||x-u_i||^2 fitness=i=1k?xCi??x?ui?2
該適應度函數與kmeans的最小損失函數一致。

算法的具體流程如下:

1.隨機抽樣待分類數據點,作為麻雀搜索聚類候選點。

2.利用麻雀搜索算法搜索最小損失的的聚類點。

3.將這些聚類點作為kmeans算法的初始聚類點。

4.利用kmeans獲得最終的聚類點。

3.算法實驗結果

將基于麻雀搜索優化的Kmeans算法用于圖像的分割實驗。對于圖像,選取10%的像素點作為聚類候選點。

對于灰度圖像聚類個數2,3,4的結果如下圖所示:

對于彩色圖像的聚類效果如下圖所示:


收斂曲線:

4.Matlab代碼

個人資料介紹

總結

以上是生活随笔為你收集整理的智能优化算法应用:基于麻雀搜索优化K-means图像分割算法 - 附代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。