【菜狗每日記錄】啟發式算法、傅里葉變換、AC-DTC、Xmeans—20250909

🐱1、啟發式算法

① 定義

② 特點

③ 案例

🐱2、快速傅里葉變換FFT

① DFT離散傅里葉變換

② FFT快速傅里葉變換

🐱3、AC-DTC聚類

🐱4、Xmeans


🐱1、啟發式算法

????????啟發式算法是和最優化算法相對的。

????????一般而言,最優化算法所需要解決的問題,都能分成三個部分:

  • 目標:什么是目標呢?簡單點說就是要優化的東西,比如運籌學的背包問題中,要優化的就是所選物品的價值,使其最大。
  • 決策:顧名思義就是根據目標所作出的決策,比如在這里就是決定選取哪些物品裝進我們的背包。
  • 約束:那么何又為約束呢?就是說再進行決策時必須遵循的條件,比如上面的背包問題,我們所選取的物品總的重量不能超過背包的容量。要是沒有容量的約束,小學生才做選擇呢,我全都要!

????????在求最優解過程中,啟發式策略可依個體或全局經驗調整搜索路徑,當求最優解困難時,它是高效得可行解的方法。這種算法主要用于解決NP-hard問題,NP即非確定性多項式。

① 定義

? ? ? ? 基于直觀、經驗構造的算法,在一定成本下給出可以解決優化問題的一個可行解。主要以仿自然算法為主。

????????遺傳算法,模擬退火,各種群算法,蟻群,魚群,粒子群,人工神經網絡等模仿自然界或生命體行為模式的算法,一般又稱人工智能算法或全局優化算法。

② 特點

  • 幫助尋求答案,告訴怎么去找,知道路怎么走,不知道路往哪里走
  • 結果具有偶然性,過程具有啟發性,像是問路的過程中了解更多目的地相關的內容。(這里感覺很像人生,一直在路上,不斷尋找自己想要追求的。)

③ 案例

通俗理解啟發式算法 - 知乎

????????最終目標:爬上最高的山峰。

  • 爬山法:一個人往更高的地方走,會變更高,但是那座山不一定是珠穆朗瑪峰。
  • 模擬退火:一個人喝醉了,隨機跳了很長時間,可能變高可能變低,但是慢慢朝更高的地方走。
  • 禁忌搜索:很多人,互相轉告哪個地方的山已經去了,留下一個人做記號,制定了下一步往哪里找的策略。
  • 遺傳算法:人活在地球,不知道自己要干什么,過幾年就會殺死低海拔的土地上的人,人們也會自己去找最高的山峰。

🐱2、快速傅里葉變換FFT

① DFT離散傅里葉變換

????????對于任意多項式系數表示轉點值表示,可以隨便取任意n個x值代入計算,但這樣時間復雜度是O ( n 2 )所以偉大數學家傅里葉取了一些特殊的點代入,從而進行優化。
????????他規定了點值表示中的n個x為n個模長為1的復數。這n個復數不是隨機的,而是單位根。
????????把上述的n個復數(單位根)ω n0 , ω n1 . . . . . , ωn?1代入多項式,能得到一種特殊的點值表示,這種點值表示就叫DFT(離散傅里葉變換)

????????想象你有一個多項式,比如,通常我們用它的系數(這里是1、2、1)來表示它。但另一種方法是,你可以找一些點,比如 ,然后算出這些點對應的 的值,分別是1、4、9。這樣,你就可以用這三個點(0,1)、(1,4)、(2,9)來表示這個多項式。這種方法就叫點值表示

????????復數可以看成是平面上的點,有實部和虛部。模長就是這個點到原點的距離。如果一個復數的模長為1,那就意味著它在平面上離原點的距離正好是1。這些點都落在一個以原點為中心、半徑為1的圓上,這個圓叫單位圓。

????????現在,我們要在單位圓上均勻地找n個點。比如,n=4,我們就在單位圓上找4個等分的點。這些點在數學里叫單位根。它們有一個很特別的性質:當你把它們代入多項式的時候,計算會變得很方便

????????所以,這句話的意思是:在點值表示法中,我們選擇的n個x值,不是隨便挑的,而是單位圓上的n個均勻分布的點。這些點都是模長為1的復數,它們在計算多項式的時候特別有用。

② FFT快速傅里葉變換

????????雖然DFT能把多項式轉換成點值但它仍然是暴力代入n nn個數,復雜度仍然是O(n2),所以它只是快速傅里葉變換的樸素版

原始信號:一首復雜的交響樂

????????想象你聽到一首交響樂,里面有:

????????🎻 小提琴(高音)、🎺 小號(中音)、大鼓(低音等等各種樂器同時演奏

????????你的耳朵聽到的是??混合在一起??的復雜聲音。

FFT就像"音樂分析師"

FFT的作用就是:戴上專業耳機??:把混合的音樂分解開,??分析頻譜??:告訴你這首曲子里有:

? ? ? ? 30%的小提琴聲(高頻)

????????25%的小號聲(中頻)

????????45%的鼓聲(低頻)

概念

通俗解釋

在您研究中的應用

??FFT??

音樂分解器

把駕駛動作分解成不同頻率成分

??重采樣??

重新編曲

把長短不一的駕駛片段變成統一長度

??保持特征??

保留原曲風格

加速還是加速,減速還是減速

??????????一句話總結??:FFT就像給每個駕駛片段做"DNA分析",找出它的本質特征,然后根據這個特征重新生成標準長度的片段,方便后續比較和分析。


🐱3、AC-DTC聚類

????????聚類分為兩個不同的類別:分層聚類(從很多類到幾個類)和分區聚類(從一個類切分到很多類)。

? ? ? ? 其中分層聚類使用:相似性遞歸聚類——構建樹形圖探索不同粒度級別的聚類。

????????AC-DTC的層次特性有效地捕獲 了行動階段數據中的時間依賴性和變化,促進了相似行動 階段的準確聚類,同時反映了細微的差異

????????DTC(Dynamic Tree Cutting,動態樹切) 是整個算法的關鍵部分。它的核心作用是:在層次聚類(得到一棵樹狀圖 dendrogram)之后,自動決定如何切割樹來得到合理的簇數,而不是人工設定某一個“水平線”來切。

????????它是層次聚類(Hierarchical clustering)的一種后處理策略:層次聚類(AC)會生成一棵樹狀圖(dendrogram),從“每個點單獨一類”到“所有點合并成一類”的整個過程都能看到。但層次聚類本身不會告訴你“在哪一層切開”才是最佳聚類結果。

????????動態樹切分(DTC)就是自動分析這棵樹的結構,根據數據的上下文,靈活決定在哪里剪枝,把數據劃分成更合適的簇。

????????AC:自底向上合并,先一個點一類,然后逐步合并。

????????DTC:對生成的樹圖進行動態切分,得到最終聚類。

合起來,AC-DTC 能:

  • 自動調整簇的數量(不像普通層次聚類需要手動定層次)。

  • 更好地處理“動作階段數據”這種長度不一、內部有細節差異的序列。

四種 linkage 方法(ward, average, complete, weighted)指的是在聚類分析中,用于計算樣本點之間距離或相似度的四種不同的連接方式。下面分別解釋一下這四種方法:

  1. ward:Ward方法是一種基于方差分析的方法。它通過最小化類內方差來確定簇,目的是使得每個簇內的樣本點盡可能緊密地聚集在一起。在每次合并簇時,會選擇使得總方差增加最小的簇對進行合并。這種方法適用于球形簇,并且對簇的大小較為敏感,簇大小差異較大時可能會影響聚類效果。

  2. average:平均連接法(也稱為UPGMA,Unweighted Pair Group Method with Arithmetic mean)。它計算兩個簇中所有樣本點對之間的平均距離,作為這兩個簇之間的距離。這種方法相對較為穩健,不會因為簇中個別異常點而對簇間距離產生過大影響,適用于不同形狀和大小的簇。

  3. complete:最大連接法(也稱為Furthest Neighbor)。它以兩個簇中所有樣本點對之間的最大距離作為這兩個簇之間的距離。這種方法對異常值較為敏感,因為簇間距離由最遠的點對決定,可能會導致一些較小的簇被過早地合并,適用于簇形狀較為規則的情況。

  4. weighted:加權平均連接法(也稱為WPGMA,Weighted Pair Group Method with Arithmetic mean)。它在計算簇間距離時,會考慮簇的大小,對簇中樣本點的數量進行加權。這種方法在一定程度上平衡了簇的大小對簇間距離的影響,適用于簇大小差異較大的情況,能夠更合理地反映簇之間的相似性。

🐱4、Xmeans

從較小的 k 開始(比如 k=2)。

在 K-means 收斂后,檢查每個簇

  • 假設要把它再分成 2 個子簇,跑一次 K-means(局部)。

  • 對比“分裂前后”的擬合效果,看看是否真的更好。

用統計準則判斷是否分裂,常用 BIC(Bayesian Information Criterion,貝葉斯信息準則

  • BIC 兼顧了“擬合優度”和“模型復雜度”。

  • 如果分裂后 BIC 變高 → 說明新模型更好,就保留分裂。

  • 如果分裂后 BIC 沒變好 → 保持原狀,不拆分。

X-means 是一種“自適應的 K-means”,通過嘗試分裂簇并用 BIC 判斷是否保留,從而自動決定最佳簇數 k

——小狗照亮每一天

20250909

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/98539.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/98539.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/98539.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Axure移動端選擇器案例:多類型選擇器設計與動態效果實現

在移動端交互設計中,選擇器是用戶輸入的核心組件。Axure移動端高保真元件庫提供了四種關鍵選擇器解決方案,通過動態效果提升操作真實感: 預覽地址:Axure 1. 基礎選擇器 采用底部彈窗設計,支持單選項快速選擇。點擊觸發…

Spring Boot圖片驗證碼功能實現詳解 - 從零開始到完美運行

Spring Boot圖片驗證碼功能實現詳解 - 從零開始到完美運行 📖 前言 大家好!今天我要和大家分享一個非常實用的功能:Spring Boot圖片驗證碼。這個功能可以防止惡意攻擊,比如暴力破解、刷票等。我們實現的是一個帶有加減法運算的圖片…

HarmonyOS實現快遞APP自動識別地址

? 大家好,我是潘Sir,持續分享IT技術,幫你少走彎路。《鴻蒙應用開發從入門到項目實戰》系列文章持續更新中,歡迎關注! 隨著鴻蒙(HarmonyOS)生態發展,越來越多的APP需要進行鴻蒙適…

CUDA編程13 - 測量每個Block的執行時間

一:概述 GPU 程序性能不是靠 CPU 那樣的“順序執行”來衡量的,而是靠線程塊(block)和多處理器(SM)利用率。每個 block 在 GPU 的不同多處理器上執行,順序不確定。傳統的 kernel 總體計時(比如 cudaEvent 計時整個 kernel)只能知道總時間,無法分析哪個 block 慢,為什…

敏捷開發-Scrum(下)

Scrum 核心構成:團隊、事件與工件的協同價值體系 在 Scrum 框架中,“團隊、事件、工件” 并非孤立的模塊,而是相互咬合的有機整體:Scrum 團隊是價值交付的執行核心,Scrum 事件是節奏把控與反饋調整的機制載體&#xff…

LeetCode 單調棧 739. 每日溫度

739. 每日溫度給定一個整數數組 temperatures ,表示每天的溫度,返回一個數組 answer ,其中 answer[i] 是指對于第 i 天,下一個更高溫度出現在幾天后。如果氣溫在這之后都不會升高,請在該位置用 0 來代替。 示例 1: 輸入…

Java-面試八股文-JVM篇

JVM篇 一.在JVM中,什么是程序計數器? 在 JVM(Java Virtual Machine) 中,程序計數器(Program Counter Register,簡稱 PC 寄存器) 是一塊較小的內存空間,用于記錄 當前線程所執行的字…

微算法科技(NASDAQ: MLGO)采用量子相位估計(QPE)方法,增強量子神經網絡訓練

隨著量子計算技術的迅猛發展,傳統計算機在處理復雜問題時所遇到的算力瓶頸日益凸顯。量子計算以其獨特的并行計算能力和指數級增長的計算潛力,為解決這些問題提供了新的途徑。微算法科技(NASDAQ: MLGO)探索量子技術在各種應用場景…

MySQL 備份的方法和最佳實踐

MySQL 是一種流行的開源關系數據庫管理系統,用于在線應用程序和數據倉庫。它以可靠性、有效性和簡單性而聞名。然而,與任何計算機系統一樣,由于硬件故障、軟件缺陷或其他不可預見的情況,存在數據丟失的可能性。因此,保…

應用層自定義協議、序列化和反序列化

1.自定義協議開發者根據特定應用場景的需要,自行設計和制定的通信規則和數據格式 1.1 核心組成部分一個典型的自定義協議通常包含以下幾個關鍵部分:?幀/報文格式 (Frame/Packet Format)??:定義了數據是如何打包的。這通常包括&#xff1a…

Excel VBA 中可用的工作表函數

Visual Basic for Applications (VBA) 中可用的工作表函數。可以在 VBA 中通過 Application.WorksheetFunction 對象調用。 下面我將按照字母分組,對每個函數進行簡要解釋,并給出在 VBA 中使用的示例。A 組Acos: 返回數字的反余弦值。 result Applicati…

OpenWrt + Docker 完整部署方案:CFnat + Cloudflared 一體化集成

AI生成(可能是AI幻覺) 項目架構概述 基于您現有的網絡配置(IP: 192.168.1.1),本方案將CFnat服務作為網絡優化層整合到現有的Cloudflare隧道架構中,實現完整的網絡加速解決方案。 優化后的流量路徑 用戶訪問…

蒼穹外賣項目實戰(day7-1)-緩存菜品和緩存套餐功能-記錄實戰教程、問題的解決方法以及完整代碼

完整資料下載 通過網盤分享的文件:蒼穹外賣 鏈接: https://pan.baidu.com/s/1JJaFOodXOF_lNJSUiZ6qtw?pwdps2t 提取碼: ps2t 目錄 1、緩存菜品 (1)問題說明 (2)使用redis緩存部分數據 1-2、代碼完善 &#xff…

計算機畢業設計 基于Python+Django的醫療數據分析系統

精彩專欄推薦訂閱:在 下方專欄👇🏻👇🏻👇🏻👇🏻 💖🔥作者主頁:計算機畢設木哥🔥 💖 文章目錄 一、項目介紹二…

使用 chromedp 高效爬取 Bing 搜索結果

在數據采集領域,搜索引擎結果是重要的信息來源。但傳統爬蟲面對現代瀏覽器渲染的頁面時,常因 JavaScript 動態加載、跳轉鏈接加密等問題束手無策。本文將詳細介紹如何使用 Go 語言的chromedp庫,模擬真實瀏覽器行為爬取 Bing 搜索結果&#xf…

遺漏的需求

“編寫執行者的目的,僅用別名來表達需要傳遞的數據”,就如客戶信息用名字和地址表示一樣,這是一個很好的建議。然而,對程序員來說,這沒有提供軟件開發所必需的詳細信息。程序設計人員和用戶界面設計者需要準確地知道地…

《云原生故障診療指南:從假活到配置漂移的根治方案》

當云原生架構成為企業數字化轉型的標配,系統故障的形態也隨之發生了根本性變化。曾經那些“一目了然”的報錯信息逐漸消失,取而代之的是“指標正常卻服務不可用”“偶發故障無規律可循”等隱性問題。這些故障如同架構中的“暗物質”,看不見卻持續影響著系統的穩定性,其排查…

“從零到一:使用GitLab和Jenkins實現自動化CI/CD流水線”

GitLab倉庫 簡單的來說就是開發人員提交代碼的倉庫,用于團隊開發,GitLab 上托管的倉庫通常作為遠程倉庫使用,開發人員可以將本地的 Git 倉庫推送到 GitLab 上,也可以從 GitLab 克隆倉庫到本地進行開發。 Jenkins Jenkins 是一個開…

3D開發工具HOOPS助力造船業數字化轉型,打造更高效、更智能的船舶設計與協作!

造船業是一個高度復雜且競爭激烈的行業,涵蓋船體設計、結構分析、生產制造到運維管理的完整生命周期。面對龐大的CAD數據、多方協作的復雜流程以及數字化轉型的迫切需求,傳統工具往往顯得力不從心。 Tech Soft 3D的HOOPS SDK系列,正以其卓越…

Python調用MCP:無需重構,快速為現有應用注入AI與外部服務能力!

文章目錄 ?? 介紹 ?? ?? 演示環境 ?? ? MCP核心概念:AI世界的“USB-C” ? ??? MCP安裝與基礎使用 ??? ?? 安裝模塊 ?? 創建第一個MCP服務端 ?? Python中MCP客戶端的調用方案 ?? ?? 概述 ?? 深度解析 ?? 參數詳情 ?? 常用方法 ?? 不同傳輸協…