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