文章目錄
- day05
- 分而治之中的MARS算法
- 神經網絡逼近能力解釋
day05
今天是第5天,昨日從統計分析開始利用統計學的知識判斷當前樣本的分布以及估計總體的參數和假設檢驗的情況,以及介紹了線性回歸算法的相關優化點,但是畢竟線性回歸是線性劃分的,實際情況很多是非線性的,比如溫度對故障可能在低溫沒什么影響但是高溫卻急劇的增加影響,這就需要分區進行建模,今天將學習多元自適應回歸樣條算法(MARS)以及神經網絡算法(該小節只講述了部分,后面會有專門的深度學習小節)
分而治之中的MARS算法
相比較傳統的線性回歸最大的不同在于將數據分為不同區間,然后在每個區間內進行局部的線性回歸,具體來說:
-
數據劃分(分區間):
- 在傳統的線性回歸中,我們假設所有的數據點都符合一個統一的線性關系(比如
y = a * x + b
)。但實際上,數據中可能存在非線性關系,例如溫度對故障的影響,在低溫區間可能沒有太大影響,但在高溫區間可能會急劇增加故障風險。 - MARS 會將數據分成多個區間(或者叫“段”)。每個區間的線性關系可能不同,它會在不同的區間內用不同的線性方程來擬合數據。
- 在傳統的線性回歸中,我們假設所有的數據點都符合一個統一的線性關系(比如
-
基函數(分段線性回歸):
-
MARS 的每個區間都有一個 基函數,這些基函數通常是分段的線性函數。例如,假設我們正在研究溫度(
T
)與故障之間的關系,MARS 可能會根據溫度的不同值劃分為多個區間,并在每個區間內使用線性回歸來擬合數據。 -
比如:
-
當
T < 30
時,模型可能是故障風險 = a1 * T + b1
-
當
30 ≤ T < 35
時,模型可能是故障風險 = a2 * T + b2
-
當
T ≥ 35
時,模型可能是故障風險 = a3 * T + b3
-
-
每個區間內都有自己的一組參數(
a1
,b1
,a2
,b2
, 等),這些參數會根據該區間的數據來確定。
-
-
如何選擇分裂點?
- MARS 算法會通過一種 貪心算法,在數據中選擇最能降低誤差的分裂點(比如,溫度在哪個值附近劃分最能提升模型的擬合效果)。
- 比如,它會嘗試不同的溫度值來進行分區(如 30°C,35°C 等),然后計算每個分裂點所帶來的誤差減少,最終選擇最能改善模型的分裂點。
-
逐步建模和剪枝:在前向建模過程中,MARS 會不斷添加新的基函數來提高模型的精度,每加一個新的分段模型,都會計算模型的誤差,直到誤差不能再顯著下降。然后,后剪枝會去除一些對模型貢獻較小的基函數,保持模型的簡潔性,避免過擬合。
特點 | 線性回歸 | MARS |
---|---|---|
擬合關系 | 線性關系(y = ax + b) | 非線性關系(通過分段線性回歸擬合) |
模型復雜度 | 簡單,只有一個公式 | 較復雜,多個分段回歸模型 |
處理非線性能力 | 只能處理線性關系 | 能自動處理復雜的非線性關系 |
模型解釋性 | 易于理解,參數(a, b)有明確物理意義 | 較復雜,但每個分段也有物理意義 |
計算復雜度 | 計算速度快,適合小數據 | 計算較慢,適合復雜問題 |
適用場景 | 數據關系簡單,線性 | 數據關系復雜,有多段不同的線性關系 |
舉例說明:假設正在做一個機房故障預測模型,其中有兩個變量:溫度(T) 和 濕度(H),并且你發現它們與故障之間的關系可能不是簡單的線性關系。比如:
- 當溫度低于某個值時,濕度對故障影響較小。
- 但當溫度超過某個閾值時,濕度對故障的影響會急劇增加。
傳統的線性回歸只能擬合一個整體的線性關系(例如 故障風險 = a1 * T + a2 * H + b
),但它可能無法準確捕捉到溫度和濕度之間的這種非線性交互關系。MARS 會根據數據自動選擇適合的溫度和濕度的分裂點(例如 T = 30
,H = 50%
),并在每個區間內使用不同的線性回歸模型來擬合數據,這樣就能更精確地捕捉到不同環境條件下的故障風險。
下面是對比類似的算法,都是采用:分而治之的思想
算法 | 基本原理 | 優點 | 缺點 | 舉例 |
---|---|---|---|---|
MARS | 數據分成多個區間,每個區間用簡單的線性回歸來擬合。 | 適應非線性關系,能夠處理高維數據。 | 模型劃分和邊界處理較復雜,計算量大。 | 比如在機房溫濕度監控中,不同時間段和不同區域的溫濕度影響因素不同,可以根據不同時間段(如白天、夜晚)和區域(如機架區、空調區)建立不同的線性模型。 |
CART | 通過遞歸分割數據,按不同條件劃分每個區域,進行回歸或分類。 | 簡單直觀,結果易于解釋。 | 容易過擬合,需要剪枝,無法處理復雜非線性。 | 在機房電力負荷預測中,根據溫濕度、設備運行狀況等條件,遞歸劃分數據,判斷不同條件下的負荷預測。比如當溫度高于某一閾值時,負荷增加,模型會根據這些條件做決策。 |
PPR | 將數據投影到低維空間,再用多個非線性函數組合進行擬合。 | 能處理復雜的非線性關系。 | 計算復雜,模型解釋性差。 | 在機房空調系統的能效預測中,溫度、濕度、設備負載等多個因素共同作用,PPR可以將這些復雜的因素投影到低維空間,通過多個非線性函數綜合分析,預測空調系統的能效表現。 |
神經網絡逼近能力解釋
本節重點針對的是ANN,不做其他討論,我們都知道ANN是一個三層結構的網絡,包括輸入層、隱含層和輸出層,可以做分類、回歸任務,所以在增加隱含層節點的前提下,ANN算法具有無限的函數逼近的能力,但是如何理解其逼近能力?神經元通常采用sigmoid作為激活函數.
-
當權重參數很大時,sigmoid函數的輸出會趨近于0或1,這樣它的行為就像一個階躍函數了。簡單來說,當權重很大時,sigmoid函數的曲線變得幾乎是一個“斷崖”,這使得它能做類似階躍函數的決策。
- Sigmoid函數:形狀像"S"字母的曲線,它的輸出范圍是(0, 1),對于較大的輸入值,它的變化就會變得非常陡峭。
- 階躍函數:是一個非常簡單的函數,當輸入超過某個閾值時輸出為1,否則輸出為0。它像一個“開關”,只輸出兩個值。
-
多個階躍函數通過不同的偏移參數和加權,可以構成復雜的分段函數
- 在神經網絡中,每個神經元可以看作是一個小的決策單元,如果我們用多個神經元的階躍函數(或sigmoid等函數)組合起來,就能夠在不同的輸入范圍內形成不同的輸出,這些不同的輸出在一起就構成了一個復雜的分段函數。
- 分段函數:在不同的區間內,函數的表現不同。神經網絡通過多個層次的神經元,每層可以通過不同的加權和偏移,形成對輸入的不同處理,從而逼近復雜的目標函數。
-
實際的ANN模型不是簡單的分段逼近,而是通過損失函數的梯度下降與反向傳播
- 梯度下降:是一種優化方法,用來最小化神經網絡輸出與目標值之間的差距(即損失)。通過計算梯度并更新參數,逐步調整權重和偏置,使網絡的預測越來越準確。
- 反向傳播:在訓練過程中,通過反向傳播算法計算誤差的梯度,并利用梯度下降方法來更新每一層神經元的參數。反向傳播確保網絡能夠根據數據中的模式調整其內部結構。
ELM的模型結構和ANN一致,但是訓練參數(輸入層、隱含層)階段和輸出層權重計算方式不一樣,可查驗下表,核心就是輸入層、隱含層參數隨機固定,計算輸出層就把問題轉換為了簡單的線性問題。所以ELM算法比傳統神經網絡的準確度偏差,但是計算量低很多,可以用在一些需要即時計算的場景。
特性 | 極限學習機(ELM) | 人工神經網絡(ANN) |
---|---|---|
參數訓練 | 只訓練輸出層的權重,隱藏層權重隨機初始化且固定 | 訓練所有層的權重和偏置,通過反向傳播調整 |
求解參數 | 通過線性方法(如最小二乘法)直接求解輸出層權重 | 通過梯度下降和反向傳播迭代求解所有參數 |