日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 如何在低算力MCU平臺上優(yōu)雅的計算均值和方差

          如何在低算力MCU平臺上優(yōu)雅的計算均值和方差

          作者:Alex Yang 時間:2025-03-07 來源:恩智浦MCU加油站 收藏

          一維數(shù)據(jù)的均值和方差計算可以說是幾乎是最常用的統(tǒng)計分析方法。這個初中就學過的概念,在嵌入式系統(tǒng)中卻有著廣泛的實際應用:

          本文引用地址:http://yuyingmama.com.cn/article/202503/467787.htm

          ■ 傳感器故障檢測

          □ 正常工作的傳感器數(shù)據(jù)波動應在一定范圍內

          □ 突然的均值漂移或方差劇變,往往意味著傳感器故障

          □ 如溫度傳感器讀數(shù)突然劇烈波動,很可能是接觸不良 

          信號質量評估 

          □ GPS信號強度的均值和方差可以反映定位質量 

          □ 方差過大說明信號不穩(wěn)定,可能處于多路徑效應區(qū)域

          □ 均值過低說明信號較弱,可能在遮擋環(huán)境下

          ■ 機器人控制

          □ 舵機位置反饋的方差可以用來檢測是否卡死

          □ 電機電流的均值可以估計負載大小

          □ 輪速反饋的方差可以判斷地面情況

          ■ 電池管理

          □ 電壓的滑動均值可以平滑瞬時波動

          □ 電流的方差可以反映負載的穩(wěn)定性

          □ 溫度的異常波動可能預示電池問題

          這些場景都需要實時、高效地計算數(shù)據(jù)流的統(tǒng)計特征。雖然計算公式簡單,但在實際工程中,有限的資源限制及實時性要求、數(shù)值穩(wěn)定性和存儲效率成為主要挑戰(zhàn)。

          本文主要探討如何在有限的計算能力和內存條件下,優(yōu)雅地實現(xiàn)高效的均值和方差計算。通過優(yōu)化、減少計算復雜度、利用遞推公式和定點數(shù)運算,文章提供了一系列使用技巧,幫忙開發(fā)者在保持精度的同時,顯著降低計算開銷。這些方法特別適用于物聯(lián)網設備、嵌入式系統(tǒng)等對資源敏感的領域。

          基礎知識

          1.1 定義 

          眾所周知: 均值(mean)反映數(shù)據(jù)的集中趨勢:

          圖片

          方差(variance)反映數(shù)據(jù)的離散程度:

          圖片

          基于以上兩個定義式出發(fā),可以很簡單的轉換為C code, 淺顯易懂: 

          圖片

          使用示例:

          圖片

          但是這種最基礎的實現(xiàn)存在幾個嚴重問題: 

          1) 數(shù)據(jù)存儲問題 

          ● 需要保存全部歷史數(shù)據(jù)

          ● 對于高頻采樣的傳感器(如IMU 200Hz),1s就需要存儲200個數(shù)據(jù)點

          ● 在嵌入式系統(tǒng)中,內存資源寶貴,這種方式極其浪費

          2)計算效率問題 

          ● 每次計算都需要遍歷全部數(shù)據(jù),時間復雜度為O(n)

          ● 對于實時系統(tǒng),隨著數(shù)據(jù)量增加,計算延遲會越來越大

          ● 不適合需要快速響應的實時控制系統(tǒng)

          3)數(shù)值穩(wěn)定性問題 

          ● 直接累加可能導致數(shù)值溢出

          ● 對于很大或很小的數(shù)據(jù),浮點數(shù)精度損失明顯

          ● 特別是在計算方差時,(Xi-u)的計算可能產生很大的舍入誤差

          4)實時性問題

          ● 無法進行增量計算

          ● 新數(shù)據(jù)到來時需要重新計算所有統(tǒng)計量

          ● 不適合流數(shù)據(jù)處理

          在線(Online Algorithm)

          在線方法也叫做流式方法, 針對批量方法的缺點,在線方法不需要保存歷史數(shù)據(jù),在線中比較經典的是 算法。

          算法是由B.P. 在1962年提出的一種在線計算均值和方差的算法。它的核心思想是:每來一個新數(shù)據(jù),就遞增地更新均值和方差,而不需要存儲所有歷史數(shù)據(jù)。

          2.1 Welford算法 

          這是一種數(shù)值穩(wěn)定的在線算法,特別適合處理數(shù)據(jù)流。Welford算法的核心是遞推公式的推導。設第n個數(shù)據(jù)到來時:

          1) 均值更新

          圖片

          2) 方差更新:

          圖片

          3) 關鍵推導步驟:

          圖片

          2.2 Welford算法實現(xiàn)2.2.1 核心結構和函數(shù) 

          圖片

          圖片

           2.2.2 使用示例 

          圖片

           2.2.3 算法步驟解釋

          1) 每次新數(shù)據(jù)到來:

          ● 計數(shù)加1

          ● 計算新數(shù)據(jù)與當前均值的差

          ● 更新均值

          ● 更新M2(用于方差計算)

          2) 方差計算:

          ● 直接用M2除以樣本數(shù)

          ● 樣本數(shù)小于2時返回0

          算法對比小結

          本文介紹了Welford方差計算方法,它是一種在線、一次遍歷的方差計算算法,能在不存儲所有樣本的情況下,逐步計算所有樣本的方差。與傳統(tǒng)的方差計算方法相比,Welford方法在降低訪存次數(shù)的同時,也做到了數(shù)值計算的穩(wěn)定性。因此,Welford方法更適合處理海量數(shù)據(jù),也更適合在高性能計算環(huán)境中使用。

          事實上,Welford算法啟發(fā)了 NVIDIA 在2018年提出的Online Softmax算法,該算法降低了Softmax計算的訪存次數(shù),提高了計算性能。而Online Softmax則直接啟發(fā)了FlashAttention,后者已經成為支撐當前最流行的Transformer架構的最核心的計算優(yōu)化手段。

          圖片



          關鍵詞: Welford 算法

          評論


          相關推薦

          技術專區(qū)

          關閉