预测算法简介
原文
0 A few more concept you need to know
0.1 什么是bagging和boosting|link
bagging:Bagging是Bootstrap Aggregating的英文縮寫,是指一種有放回采樣
boosting:提升方法(Boosting),是一種可以用來減小監督式學習中偏差的機器學習算法。面對的問題是邁可·肯斯(Michael Kearns)提出的:一組“弱學習者”的集合能否生成一個“強學習者”?弱學習者一般是指一個分類器,它的結果只比隨機分類好一點點;強學習者指分類器的結果非常接近真值。
0.2 預測和擬合的區別?
預測:灰色預測的通用性比較強一些,一般場合都可以用,尤其適合那些規律性差且不清楚數據產生機理的情況。
擬合:擬合比較適合于那些清楚數據產生機理,有比較規則的變化趨勢的場景,比如已經知道這些數據符合一定的動力學變化規律,這時用指數擬合就比較合適。
在數學建模中,能用擬合的地方盡量用擬合,這樣會有具體的函數表達式,更有利于進一步的建模。當然有些問題就是數據的預測,這種情況哪種精度高就用哪種了(建議都用,便于比較),上面所說的最適合的問題,也主要是基于精度考慮的。
0.3 預測和推薦的區別?
0.4 時間序列預測法|link
時間序列預測法其實是一種回歸預測方法,屬于定量預測,其基本原理是:一方面承認事物發展的延續性,運用過去的時間序列數據進行統計分析,推測出事物的發展趨勢;另一方面充分考慮到由于偶然因素影響而產生的隨機性,為了消除隨機波動產生的影響,利用歷史數據進行統計分析,并對數據進行適當處理,進行趨勢預測。
0.5 什么有量綱和什么是無量綱?
量綱:是指有具體的單位的量,比如1m/s就是一個量綱量,是矢量。
無量綱:是指沒有具體單位的標準化統計量,比如1%等,是標量
歸一化:就是將有量綱的量轉化成一個無量綱的量,將矢量變成標量。
1 線性回歸|link
定義:確定兩種或兩種以上變量間相互依賴的定量關系的一種統計分析方法
公式:
舉例:
線性回歸的目的就是找到一條線,能夠使圖中的每個點到該直線的舉例最短,一般可用最小二乘法進行擬合
2 邏輯回歸|link
概念:線性回歸可以擬合X與Y之間的關系,但回歸模型中Y值是連續的,如果換成一個二分類標簽,Y只能取兩個值0、1,這時候就不能用線性回歸了,這樣就有了邏輯回歸。
針對Y的值域在區間[0-1]的問題,我們不能尋找到一條完美曲線,用于擬合二分類模型,但我們可以尋找一條完美的S型曲線,S型曲線叫Sigmoid曲線,
核心原理:
邏輯回歸核心原理是在線性回歸的基礎上加上一個Sigmoid函數,把訓練數據通過Sigmoid函數整合到(0—1)之間。
3 支持向量機|link
概念:SVM思想和線性回歸很相似,兩個都是尋找一條最佳直線。
不同點:最佳直線的定義方法不一樣,線性回歸要求的是直線到各個點的距離最近,SVM要求的是直線離兩邊的點距離盡量大。
4 隨機森林算法|link
所以隨機森林算法的隨機性主要體現在以下兩個方面:
- 子模型的訓練樣本是隨機抽取的
- 子模型的特征變量也是隨機抽取的
掌握隨機森林之前,你學要具備如下知識:
- 集成學習
- 決策樹
- 信息熵| more concept
隨機森林的優缺點:| learn more
決策樹算法的優缺點:
優點:
- (1)速度快: 計算量相對較小, 且容易轉化成分類規則. 只要沿著樹根向下一直走到葉, 沿途的分裂條件就能夠唯一確定一條分類的謂詞.
- (2)準確性高: 挖掘出來的分類規則準確性高, 便于理解, 決策樹可以清晰的顯示哪些字段比較重要, 即可以生成可以理解的規則.
- (3)可以處理連續和種類字段
- (4)不需要任何領域知識和參數假設
- (5)適合高維數據
缺點:
- (1)對于各類別樣本數量不一致的數據, 信息增益偏向于那些更多數值的特征
- (2)容易過擬合
- (3)忽略屬性之間的相關性
5 AdaBoost|link
6 貝葉斯網絡|link
7 自編碼網絡|link
7.1 什么是自編碼器?
自編碼器是一個3層或大于3層的神經網絡,將輸入表達式x編碼為一個新的表達式y,然后再將y解碼回x。這是一個非監督學習算法,使用反向傳播算法來訓練網絡使輸出等于輸入。
圖中,虛線藍色框內就是一個自編碼器模型,它由編碼器(Encoder)和解碼器(Decoder)兩部分組成,本質上都是對輸入信號做某種變換。編碼器將輸入信號x變換成編碼信號y,而解碼器將編碼y轉換成輸出信號x‘。即
y = f(x)
x’ = g(y) = g(f(x))
自編碼器的目的是,讓輸出x’盡可能復現輸入x。
如果f和g都是恒等映射,那不就恒有x’=x?不錯,但是這樣的變換沒啥作用。因此,我們對中間信號y做一定的約束,這樣,系統往往能學出很有趣的編碼變換f和編碼y。
對于自編碼器,我們需要強調一點是,我們往往并不關心輸出是啥(反正只是復現輸入),我們關心的是中間層的編碼,或者說是從輸入到編碼的映射。
可以這么理解,我們在強迫編碼y和輸入x不同的情況下,系統還能復原原始信號x,那么說明編碼y已經承載了原始數據的所有信息,但以另一種形式表現。這就是特征提取,而且是主動學出來的。實際上,自動學習原始數據的特征表達也是神經網絡和深度學習的核心目的之一。
7.2 什么自編碼網絡?
自編碼網絡是非監督學習領域的一種,可以自動從無標注的數據中學習特征,是一種以重構輸入信息為目標的神經網絡,它可以給出比原始數據更好的特征描述,具有較強的特征學習能力,在深度學習中常用自編碼網絡生成的特征來取代原始數據,已取得更好效果。
自編碼器通過隱藏層對輸入進行壓縮,并在輸出層中解壓縮,整個過程肯定會丟失信息,但是通過訓練我們能夠使丟失的信息盡量減少,最大化的保留其主要特征。
y = f(x) = s(wx+b)
x’ = g(y) = s(w’y+b’)
L(x,x’) = L(x,g(f(x)))
其中L表示損失函數,結合數據的不同形式,可以是二次誤差(squared error loss)或交叉熵誤差(cross entropy loss)。
寫在最后
歡迎大家關注鄙人的公眾號【麥田里的守望者zhg】,讓我們一起成長,謝謝。
總結
- 上一篇: 分享卸载multisim软件的工具NI卸
- 下一篇: 程序的内存分配模式(堆栈以及静态存储区,