譜聚類綜述

来源:http://www.cnblogs.com/shuangerbaby/archive/2017/10/15/7674192.html
-Advertisement-
Play Games

聚類 在瞭解譜聚類之前,首先需要知道聚類,聚類通俗的講就是將一大堆沒有標簽的數據根據相似度分為很多簇(就是一坨坨的),將相似的聚成一坨,不相似的再聚成其他很多坨。一般的聚類演算法存在的問題是k值的選擇(就是簇的數量事先不知道),相似性的度量(如何判斷兩個樣本點是否相似),如何不陷入局部最優等問題,流行 ...


聚類

  在瞭解譜聚類之前,首先需要知道聚類,聚類通俗的講就是將一大堆沒有標簽的數據根據相似度分為很多簇(就是一坨坨的),將相似的聚成一坨,不相似的再聚成其他很多坨。一般的聚類演算法存在的問題是k值的選擇(就是簇的數量事先不知道),相似性的度量(如何判斷兩個樣本點是否相似),如何不陷入局部最優等問題,流行的演算法有k-means等一系列演算法。

 

譜聚類

  顧名思義就是一種聚類演算法,這個譜字應該指的就是譜圖的意思,簡單的來講就是將聚類問題轉化為圖的分割問題,將圖中相似的點聚在一起,但是這個圖是從哪裡來的呢???這就涉及到譜聚類的步驟了,以下是各種譜聚類演算法的通俗框架。

  輸入:相似性矩陣S,簇的數量k

  k值只能靠猜測了。

  這個相似性矩陣怎麼得到呢?

  假設有一堆數據x1,x2,,,xn,sij = s(xi,xj),至於這個相似性度量函數s就有很多種選取方法了,最簡單的就是歐氏距離了,然後就構造出了一個相似性矩陣S = (siji,j = 1....n

  1. 根據鄰接矩陣S構造出一個有權無向圖
  2. 有了圖就可以計算圖的Laplacian L(拉普拉斯矩陣)
  3. 再算出L的前k個特征向量 v1,.....vk
  4. 將特征向量作為列向量構造出特征空間V
  5. 再對V的行用k-means聚類出簇C1,.....Cn

  輸出:簇

  演算法可修改之處:

  • 比如相似圖的構造就有knn圖,全連接圖,ε-neighborhood圖
  • Laplacian矩陣也分為規範Laplacian和非規範Laplacian,其中非規範Laplacian也有兩種。

    規範Laplacian L = D - W,D為節點的度矩陣,W為節點的權重矩陣

    非規範Laplacian

       Lsym = D-1/2LD-1/2 = I - D-1/2WD-1/2

       Lrw = D-1L = I - D-1W

  • 特征向量的選擇,v不一定是L的特征向量,選擇出的向量也不一定為前k個

 

譜聚類的引出

  看到這裡是不是覺得一切都那麼的自然,但是這個東東為啥能被人想出來呢???

  最根本的原因在於圖的最優分割問題是一個NP難的問題,在得到一個基於樣本相似度的無向加權圖G=(V,E)之後,可以有很多種基於圖論的方法來切割G,使得子圖的內部相似度最大,子圖間的相似度最小,切割的方法也有很多種,比如Ncut,Rcut,Avcut等多種切割方法,一般用來切割k=2的問題效果還不錯,但涉及到多路規範切割(k>2)的時候,優化問題就難以解決了。

  各種切割方法的解釋詳見下述論文。

 

譜聚類的優勢

  只要保證相似性圖的稀疏,譜聚類對於大數據量的樣本效率就會很高。

  而且譜聚類的求解不涉及到凸優化問題。

譜聚類的缺點

  缺點很明顯k值只能靠猜測

  

由於博主是剛開始看論文的小白,所以有什麼不足之處,歡迎大家指正。

 

參考文獻:

  • 蔡曉妍 戴冠中 楊黎斌      譜聚類演算法綜述
  • Ulrike von Luxburg          A Tutorial on Spectral Clustering

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一查詢數值型數據: SELECT * FROM tb_name WHERE sum > 100; 查詢謂詞:>,=,<,<>,!=,!>,!<,=>,=< 二查詢字元串 SELECT * FROM tb_stu WHERE sname = '小劉' SELECT * FROM tb_stu WHER ...
  • 約束的概念:確保在列中輸入有效的值並維護表之間的關係。 Primary key約束 功能:primary key(主鍵約束),一個表中只能有一個,不能有空值,不能有重覆值. 創建表時定義約束:欄位名 數據類型[長度] primary key Unique約束功能:unique(唯一約束), 指定在同 ...
  • 經常有用戶遇到安裝近乎的時候,會卡在資料庫嚮導頁面。安裝環境也做了比對,沒有問題,Windows伺服器、Mysql5.0+版本的資料庫、.net framework也安裝正確了。環境沒問題,那是不是資料庫不對啊。然後又用可視化工具本地、異地遠程都能正常訪問資料庫,可仍然是卡在數據安裝的嚮導頁面,這究 ...
  • 近排自己學習了一款軟體finereport開發報表模塊,自己總結瞭如何瞭解需求,分析需求,再進行實踐應用開發,最後進行測試數據的準確性,部署報表到項目對應的模塊中顯示。 一、需求(根據需求文檔分析) 1.條件塊: 2.數據塊(一部分): 3.數據取值: 數據源全部來自EAS。通過“物料收發事物彙總” ...
  • 存儲在資料庫中的所有數據值均正確的狀態。如果資料庫中存儲有不正確的數據值,則該資料庫稱為已喪失數據完整性。 詳細釋義 詳細釋義 資料庫中的數據是從外界輸入的,而數據的輸入由於種種原因,會發生輸入無效或 錯誤信息。保證輸入的數據符合規定,成為了 資料庫系統,尤其是多用戶的 關係資料庫系統首要關註的問題 ...
  • java.sql.SQLSyntaxErrorException: ORA-00904: "column": 標識符無效 首先查看無效的列是不是orcale關鍵字 , 如果不是 , 查看與column欄位相關的所有內容 , 引用是否正確 儘量不要用select 中的欄位別名當做 where 或者 o ...
  • 獨立索引: 獨立索引是指索引列不能是表達式的一部分,也不能是函數的參數 例1: SELECT actor_id FROM actor WHERE actor_id+1=5 --這種寫法,就算在actor_id上建立了索引,也不起效 例2: SELECT .... WHERE TO_DAYS(CURR ...
  • mysql允許在相同列上創建多個索引,無論是有意還是無意,mysql需要單獨維護重覆的索引,並且優化器在優化查詢的時候也需要逐個地進行考慮,這會影響性能。 重覆索引是指的在相同的列上按照相同的順序創建的相同類型的索引,應該避免這樣創建重覆索引,發現以後也應該立即刪除。但,在相同的列上創建不同類型的索 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...