2019-03-28

機器學習.png

(一)機器學習的工作方式
1.選擇數據:將原始數據分成三組:訓練數據、驗證數據和測試數據;
2.數據建模:使用訓練數據構建包含相關特征的模型;
3.驗證模型:輸入驗證數據到已經構建的數據模型中;
4.測試模型:用測試數據檢查被驗證的模型的性能表現;
5.使用模型:用完全訓練好的模型在新數據上做預測;
6.調優模型:用更多數據、不同的特征或調整過的參數來提升算法的性能表現。


工作方式.png

(二)機器學習的算法分類
機器學習基于學習形式的不同通常可分為三類:
1.監督學習(Supervised Learning)給學習算法提供標記的數據和所需的輸出,對于每一個輸入,學習者都被提供了一個回應的目標。監督學習主要被應用于快速高效地教熟AI現有的知識,被用于解決分類和回歸的問題。常見的算法有:
(1)決策樹(Decision Trees):決策樹可看作一個樹狀預測模型,它通過把實例從根節點排列到某個葉子節點來分類實例,葉子節點即為實例所屬的分類。決策樹的核心問題是選擇分裂屬性和決策樹的剪枝。決策樹是一個決策支持工具,它用樹形的圖或者模型表示決策及其可能的后果,包括隨機事件的影響、資源消耗、以及用途。
用于分析判斷有無貸款意向的決策樹示如圖所示,從商業角度看,常用于基于規則的信用評估、賽馬結果預測等。


決策樹.png

(2)Adaboost算法:這是一種迭代算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構成一個更強的最終分類器(強分類器)。算法本身是改變數據分布實現的,它根據每次訓練集之中的每個樣本的分類是否正確,以及上次的總體分類的準確率,來確定每個樣本的權值。將修改權值的新數據送給下層分類器進行訓練,然后將每次訓練得到的分類器融合起來,作為最后的決策分類器。
AdaBoost算法主要解決了:兩類問題、多類單標簽問題、多類多標簽問題、大類單標簽問題和回歸問題;
優點:學習精度明顯增加,并且不會出現過擬合問題,AdaBoost算法技術常用于人臉識別和目標跟蹤領域。


Adaboost算法.png

(3)人工神經網絡(Artificial Neural Network -ANN)算法:人工神經網絡是由大量處理單元互聯組成的非線性、自適應信息處理系統。它是在現代神經科學研究成果的基礎上提出的,試圖通過模擬大腦神經網絡處理、記憶信息的方式進行信息處理。人工神經網絡是并行分布式系統,采用了與傳統人工智能和信息處理技術完全不同的機理,克服了傳統的基于邏輯符號的人工智能在處理直覺、非結構化信息方面的缺陷,具有自適應、自組織和實時學習的特點。


ANN算法.png

(4)SVM(Support Vector Machine):SVM 法即支持向量機算法,由Vapnik等人于1995年提出,具有相對優良的性能指標。該方法是建立在統計學習理論基礎上的機器學習方法。SVM是一種二分算法。假設在N維空間,有一組點,包含兩種類型,SVM生成a(N-1) 維的超平面,把這些點分成兩組。比如你有一些點在紙上面,這些點是線性分離的。SVM會找到一個直線,把這些點分成兩類,并且會盡可能遠離這些點。從規模看來,SVM(包括適當調整過的)解決的一些特大的問題有:廣告、人類基因剪接位點識別、基于圖片的性別檢測、大規模圖片分類,適用于新聞分類、手寫識別等應用。


SVM.png

(5)樸素貝葉斯(Naive Bayesian):貝葉斯法是一種在已知先驗概率與類條件概率的情況下的模式分類方法,待分樣本的分類結果取決于各類域中樣本的全體。樸素貝葉斯分類器基于把貝葉斯定理運用在特征之間關系的強獨立性假設上。
優點:在數據較少的情況下仍然有效,可以處理多類別問題。
缺點:對于輸入數據的準備方式較為敏感。
適用數據類型:標稱型數據。
現實生活中的應用例子:電子郵件垃圾副過濾、判定文章屬性分類、分析文字表達的內容含義和人臉識別、情感分析、消費者分類。


樸素貝葉斯.png

(6)K-近鄰(k-Nearest Neighbors,KNN):這是一種分類算法,其核心思想是如果一個樣本在特征空間中的k個最相鄰的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別,并具有這個類別上樣本的特性。該方法在確定分類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。 kNN方法在類別決策時,只與極少量的相鄰樣本有關。由于kNN方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對于類域的交叉或重疊較多的待分樣本集來說,kNN方法較其他方法更為適合。


KNN.png

(7)邏輯回歸(Logistic Regression):這是一種分類算法,主要用于二分類問題。邏輯回歸是一種非常強大的統計方法,可以把有一個或者多個解釋變量的數據,建立為二項式類型的模型,通過用累積邏輯分布的邏輯函數估計概率,測量分類因變量和一個或多個獨立變量之間的關系。邏輯回歸是一種非線性回歸模型,相比于線性回歸,它多了一個sigmoid函數(或稱為Logistic函數)。
通常,回歸在現實生活中的用途如下:信用評估、測量市場營銷的成功度、預測某個產品的收益、特定的某天是否會發生地震,路面交通流量分析、郵件過濾。


邏輯回歸.png

(8)隨機森林算法(Random Forest):隨機森林算法可以用于處理回歸、分類、聚類以及生存分析等問題,當用于分類或回歸問題時,它的主要思想是通過自助法重采樣,生成很多個樹回歸器或分類器。在機器學習中,隨機森林是一個包含多個決策樹的分類器, 并且其輸出的類別是由個別樹輸出的類別的眾數而定,常用于用戶流失分析、風險評估。


隨機森林算法.png

(9)線形回歸( Linear Regression):這是利用數理統計中回歸分析,來確定兩種或兩種以上變量間相互依賴的定量關系的一種統計分析方法,運用十分廣泛。線性回歸是回歸分析中第一種經過嚴格研究并在實際應用中廣泛使用的類型。這是因為線性依賴于其未知參數的模型比非線性依賴于其位置參數的模型更容易擬合,而且產生的估計的統計特性也更容易確定。


線形回歸.png

2.無監督學習(Unsupervised Learning)
給學習算法提供的數據是未標記的,并且要求算法識別輸入數據中的模式,主要是建立一個模型,用其試著對輸入的數據進行解釋,并用于下次輸入。現實情況下往往很多數據集都有大量的未標記樣本,有標記的樣本反而比較少。如果直接棄用,很大程度上會導致模型精度低。這種情況解決的思路往往是結合有標記的樣本,通過估計的方法把未標記樣本變為偽的有標記樣本,所以無監督學習比監督學習更難掌握。主要用于解決聚類和降維問題,常見的算法有:
(1)聚類算法:把一組對象分組化的任務,使得在同一組的對象比起其它組的對象,它們彼此更加相似。常用的聚類算法包括:
①K-means算法:這是典型的基于原型的目標函數聚類方法的代表,它是數據點到原型的某種距離作為優化的目標函數,利用函數求極值的方法得到迭代運算的調整規則。
其優點是算法足夠快速、簡單,并且如果預處理數據和特征工程十分有效,那么該聚類算法將擁有極高的靈活性。
缺點是該算法需要指定集群的數量,而K值的選擇通常都不是那么容易確定的。另外,如果訓練數據中的真實集群并不是類球狀的,那么K均值聚類會得出一些比較差的集群。


K-means算法.png

②Expectation Maximisation (EM):這是一種迭代算法,用于含有隱變量(latent variable)的概率參數模型的最大似然估計或極大后驗概率估計。EM算法的主要目的是提供一個簡單的迭代算法計算后驗密度函數,它的最大優點是簡單和穩定,但容易陷入局部最優。


EM.png

③Affinity Propagation 聚類:AP 聚類算法是一種相對較新的聚類算法,該聚類算法基于兩個樣本點之間的圖形距離(graph distances)確定集群。采用該聚類方法的集群擁有更小和不相等的大小。
優點:該算法不需要指出明確的集群數量。
缺點:AP 聚類算法主要的缺點就是訓練速度比較慢,并需要大量內存,因此也就很難擴展到大數據集中。另外,該算法同樣假定潛在的集群是類球狀的。

④層次聚類(Hierarchical Clustering):層次聚類是一系列基于以下概念的聚類算法:是通過對數據集按照某種方法進行層次分解,直到滿足某種條件為止。按照分類原理的不同,可以分為凝聚和分裂兩種方法。
優點:層次聚類最主要的優點是集群不再需要假設為類球形。另外其也可以擴展到大數據集。
缺點:有點像 K 均值聚類,該算法需要設定集群的數量。


層次聚類.png

⑤DBSCAN:這是一個比較有代表性的基于密度的聚類算法。與劃分和層次聚類方法不同,它將簇定義為密度相連的點的最大集合,能夠把具有足夠高密度的區域劃分為簇,并可在噪聲的空間數據庫中發現任意形狀的聚類。它將樣本點的密集區域組成一個集群。
優點:DBSCAN 不需要假設集群為球狀,并且它的性能是可擴展的。此外,它不需要每個點都被分配到一個集群中,這降低了集群的異常數據。
缺點:用戶必須要調整「epsilon」和「min_sample」這兩個定義了集群密度的超參數。DBSCAN 對這些超參數非常敏感。


DBSCAN.png

(2)降維算法:其主要特征是將數據從高維降低到低維層次,最大程度的保留了數據的信息。代表算法是:
①主要代表是主成分分析算法(PCA算法):主成分分析也稱主分量分析,旨在利用降維的思想,把多指標轉化為少數幾個綜合指標(即主成分),其中每個主成分都能夠反映原始變量的大部分信息,且所含信息互不重復。這種方法在引進多方面變量的同時將復雜因素歸結為幾個主成分,使問題簡單化,同時得到的結果更加科學有效的數據信息。


PCA算法.png

②局部線性嵌入(Locally linear embeddingLLE)LLE降維算法:一種非線性降維算法,它能夠使降維后的數據較好地保持原有流形結構 。該算法是針對非線性信號特征矢量維數的優化方法,這種維數優化并不是僅僅在數量上簡單的約簡,而是在保持原始數據性質不變的情況下,將高維空間的信號映射到低維空間上,即特征值的二次提取。


LLE降維算法.png

3.強化學習(Reinforcement Learning)
該算法與動態環境相互作用,把環境的反饋作為輸入,通過學習選擇能達到其目標的最優動作。強化學習這一方法背后的數學原理與監督/非監督學習略有差異。監督/非監督學習更多地應用了統計學,而強化學習更多地結合了離散數學、隨機過程這些數學方法。常見的算法有:
①TD(λ)算法:TD(temporal differenee)學習是強化學習技術中最主要的學習技術之一.TD學習是蒙特卡羅思想和動態規劃思想的結合,即一方面TD算法在不需要系統模型情況下可以直接從agent經驗中學習;另一方面TD算法和動態規劃一樣,利用估計的值函數進行迭代。

TD(λ)算法.png

②Q_learning算法:Q_learning學習是一種模型無關的強化學習算法 ,又稱為離策略TD學習(off-policy TD).不同于TD算法,Q_learning迭代時采用狀態_動作對的獎賞和Q (s,a)作為估計函數,在Agent每一次學習迭代時都需要考察每一個行為,可確保學習過程收斂。


Q_learning算法.png

(三)機器學習過程舉例說明
所謂機器學習過程,是指觀察有n個樣本數據組成的集合,并根據這些數據來預測未知數據的性質,那么在給定數據集(所謂大數據)和具體問題的前提下,一般解決問題的步驟可以概括如下:
1.數據抽象
將數據集和具體問題抽象成數學語言,以恰當的數學符號表示。這樣做自然是為了方便表述和求解問題,而且也更加直觀。
2.設定性能度量指標
機器學習是產生模型的算法,一般來說模型都有誤差。如果模型學的太好,把訓練樣本自身的一些特點當成所有潛在樣本具有的一般性質,這種情況稱為過擬合,這樣的模型在面對新樣本時就會出現較大誤差,專業表述就是導致模型的泛化性能下降。與之相對的是欠擬合,模型對樣本的一般性質都沒學好,這種情況一般比較好解決,擴充數據集或者調整模型皆可。
3.數據預處理
之所以要做數據預處理,是因為提供的數據集往往很少是可以直接拿來用的。例如:如果樣本的屬性太多,一般有兩種方法: 降維和特征選擇。特征選擇比較好理解,就是選擇有用相關的屬性,或者用另外一種表達方式:選擇樣本中有用、跟問題相關的特征。
4.選定模型
在數據集完美的情況下,接下來就是根據具體問題選定恰當的模型了。一種方式是根據有沒有標記樣本考慮。如果是有標記樣本,可以考慮有監督學習,反之則是無監督學習,兼而有之就看半監督學習是否派的上用場。
5.訓練及優化
選定了模型,如何訓練和優化也是一個重要問題。如果要評估訓練集和驗證集的劃分效果,常用的有留出法、交叉驗證法、自助法、模型調參等。如果模型計算時間太長,可以考慮剪枝。如果是過擬合,則可通過引入正則化項來抑制(補償原理)。如果單個模型效果不佳,可以集成多個學習器通過一定策略結合,取長補短(集成學習)。
6.機器學習舉例分析
在機器學習領域特征比模型(學習算法)更重要。舉個例子,如果我們的特征選得很好,可能我們用簡單的規則就能判斷出最終的結果,甚至不需要模型。比如,要判斷一個人是男還是女,假設由計算機來完成這個任務,首先采集到各種數據(特征:姓名、身高、頭發長度,籍貫、是否吸煙等等。因為根據統計我們知道男人一般比女人高,頭發比女人短,并且會吸煙;所以這些特征都有一定的區分度,但是總有反例存在。我們用最好的算法可能準確率也達不到100%。然后再進行特征提取,提出對目標有意義的特征,刪除無關的(籍貫),然后進行預處理,對特征提取結果的再加工,目的是增強特征的表示能力,防止模型(分類器)過于復雜和學習困難。接下來就是訓練數據,這里我們通過監督學習或無監督的方法來擬合分類器模型。學習器通過分析數據的規律嘗試擬合出這些數據和學習目標間的函數,使得定義在訓練集上的總體誤差盡可能的小,從而利用學得的函數來預測未知數據的學習方法預測出結果,最后對結果進行評價和改進。


image.png

(四)機器學習覆蓋范圍
從范圍上來說,機器學習跟模式識別,統計學習,數據挖掘是類似的,同時,機器學習與其他領域的處理技術的結合,形成了計算機視覺、語音識別、自然語言處理等交叉學科。因此,一般說數據挖掘時,可以等同于說機器學習。同時,我們平常所說的機器學習應用,應該是通用的,不僅僅局限在結構化數據,還有圖像,音頻等應用。
(1)模式識別
模式識別=機器學習。兩者的主要區別在于前者是從工業界發展起來的概念,后者則主要源自計算機學科。在著名的《Pattern Recognition And Machine Learning》這本書中,Christopher M. Bishop在開頭是這樣說的:“模式識別源自工業界,而機器學習來自于計算機學科。不過,它們中的活動可以被視為同一個領域的兩個方面,同時在過去的十年間,它們都有了長足的發展”。
(2)數據挖掘
數據挖掘=機器學習+數據庫。數據挖掘僅僅是一種方式,不是所有的數據都具有價值,數據挖掘思維方式才是關鍵,加上對數據深刻的認識,這樣才可能從數據中導出模式指引業務的改善。大部分數據挖掘中的算法是機器學習的算法在數據庫中的優化。
(3)統計學習
統計學習近似等于機器學習。統計學習是個與機器學習高度重疊的學科。因為機器學中的大多數方法來自統計學,甚至可以認為,統計學的發展促進機器學習的繁榮昌盛。例如著名的支持向量機算法,就是源自統計學科。兩者的區別在于:統計學習者重點關注的是統計模型的發展與優化,偏數學,而機器學習者更關注的是能夠解決問題,偏實踐,因此機器學習研究者會重點研究學習算法在計算機上執行的效率與準確性的提升。
(4)計算機視覺
計算機視覺=圖像處理+機器學習。圖像處理技術用于將圖像處理為適合進入機器學模型中的輸入,機器學習則負責從圖像中識別出相關的模式。計算機視覺相關的應用非常的多,例如百度識圖、手寫字符識別、車牌識別等等應用。這個領域將是未來研究的熱門方向。隨著機器學習的新領域深度學習的發展,大大促進了計算機圖像識別的效果,因此未來計算機視覺界的發展前景不可估量。
(5)語音識別
語音識別=語音處理+機器學習。語音識別就是音頻處理技術與機器學習的結合。語音識別技術一般不會單獨使用,一般會結合自然語言處理的相關技術。目前的相關應用有蘋果的語音助手siri等。
(6)自然語言處理
自然語言處理=文本處理+機器學習。自然語言處理技術主要是讓機器理解人類的語言的一門領域。在自然語言處理技術中,大量使用了編譯原理相關的技術,例如詞法分析,語法分析等等,除此之外,在理解這個層面,則使用了語義理解,機器學習等技術。作為唯一由人類自身創造的符號,自然語言處理一直是機器學習界不斷研究的方向。


image.png

(五)機器學習中的日常生活場景
1. 市民出行選乘公交預測
基于海量公交數據記錄,希望挖掘市民在公共交通中的行為模式。以市民出行公交線路選乘預測為方向,期望通過分析公交線路的歷史公交卡交易數據,挖掘固定人群在公共交通中的行為模式,分析推測乘客的出行習慣和偏好,從而建立模型預測人們在未來一周內將會搭乘哪些公交線路,為廣大乘客提供信息對稱、安全舒適的出行環境,用數據引領未來城市智慧出行。
2. 商品圖片分類
電商網站含有數以百萬計的商品圖片,“拍照購”“找同款”等應用必須對用戶提供的商品圖片進行分類。同時,提取商品圖像特征,可以提供給推薦、廣告等系統,提高推薦/廣告的效果。希望通過對圖像數據進行學習,以達到對圖像進行分類劃分的目的。
3. 基于文本內容的垃圾短信識別
垃圾短信已日益成為困擾運營商和手機用戶的難題,嚴重影響到人們正常生活、侵害到運營商的社會形象以及危害著社會穩定。而不法分子運用科技手段不斷更新垃圾短信形式且傳播途徑非常廣泛,傳統的基于策略、關鍵詞等過濾的效果有限,很多垃圾短信“逃脫”過濾,繼續到達手機終端。希望基于短信文本內容,結合機器學習算法、大數據分析挖掘來智能地識別垃圾短信及其變種。
4. 國家電網客戶用電異常行為分析
隨著電力系統升級,智能電力設備的普及,國家電網公司可以實時收集海量的用戶用電行為數據、電力設備監測數據,因此,國家電網公司希望通過大數據分析技術,科學的開展防竊電監測分析,以提高反竊電工作效率,降低竊電行為分析的時間及成本。
5.自動駕駛場景中的交通標志檢測
在自動駕駛場景中,交通標志的檢測和識別對行車周圍環境的理解起著至關重要的作用。例如通過檢測識別限速標志來控制當前車輛的速度等;另一方面,將交通標志嵌入到高精度地圖中,對定位導航也起到關鍵的輔助作用。希望機遇完全真實場景下的圖片數據用于訓練和測試,訓練能夠實際應用在自動駕駛中的識別模型。
6.大數據精準營銷中用戶畫像挖掘
在現代廣告投放系統中,多層級成體系的用戶畫像構建算法是實現精準廣告投放的基礎技術之一。期望基于用戶歷史一個月的查詢詞與用戶的人口屬性標簽(包括性別、年齡、學歷)做為訓練數據,通過機器學習、數據挖掘技術構建分類算法來對新增用戶的人口屬性進行判定。
7. 監控場景下的行人精細化識別
隨著平安中國、平安城市的提出,視頻監控被廣泛應用于各種領域,這給維護社會治安帶來了便捷;但同時也帶來了一個問題,即海量的視頻監控流使得發生突發事故后,需要耗費大量的人力物力去搜索有效信息。希望基于監控場景下多張帶有標注信息的行人圖像,在定位(頭部、上身、下身、腳、帽子、包)的基礎上研究行人精細化識別算法,自動識別出行人圖像中行人的屬性特征。

8.需求預測與倉儲規劃方案
擁有海量的買家和賣家交易數據的情況下,利用數據挖掘技術,我們能對未來的商品需求量進行準確地預測,從而幫助商家自動化很多供應鏈過程中的決策。這些以大數據驅動的供應鏈能夠幫助商家大幅降低運營成本,更精確的需求預測,能夠大大地優化運營成本,降低收貨時效,提升整個社會的供應鏈物流效率,朝智能化的供應鏈平臺方向更加邁進一步。高質量的商品需求預測是供應鏈管理的基礎和核心功能。
9.股價走勢預測
隨著經濟社會的發展,以及人們投資意識的增強,人們越來越多的參與到股票市場的經濟活動中,股票投資也已經成為人們生活的一個重要組成部分。然而在股票市場中,眾多的指標、眾多的信息,很難找出對股價更為關鍵的因素;其次股市結構極為復雜,影響因素具有多樣性、相關性。這導致了很難找出股市內在的模式。希望在盡可能全面的收集股市信息的基礎上,建立股價預測模。
10.地震預報
根據歷史全球大地震的時空圖,找出與中國大陸大地震有關的14個相關區,對這些相關區逐一鑒別,選取較優的9個,再根據這9個相關區發生的大震來預測中國大陸在未來一年內會不會有大震發生。
11.穿衣搭配推薦
穿衣搭配是服飾鞋包導購中非常重要的課題,基于搭配專家和達人生成的搭配組合數據,百萬級別的商品的文本和圖像數據,以及用戶的行為數據。期待能從以上行為、文本和圖像數據中挖掘穿衣搭配模型,為用戶提供個性化、優質的、專業的穿衣搭配方案,預測給定商品的搭配商品集合。
12.依據用戶軌跡的商戶精準營銷
隨著用戶訪問移動互聯網的與日俱增,如何根據用戶的畫像對用戶進行精準營銷成為了很多互聯網和非互聯網企業的新發展方向。希望根據商戶位置及分類數據、用戶標簽畫像數據提取用戶標簽和商戶分類的關聯關系,然后根據用戶在某一段時間內的位置數據,判斷用戶進入該商戶地位范圍300米內,則對用戶推送符合該用戶畫像的商戶位置和其他優惠信息。
13.氣象關聯分析
在社會經濟生活中,不少行業,如農業、交通業、建筑業、旅游業、銷售業、保險業等,無一例外與天氣的變化息息相關。為了更深入地挖掘氣象資源的價值,希望基于共計60年的中國地面歷史氣象數據,推動氣象數據與其他各行各業數據的有效結合,尋求氣象要素之間、以及氣象與其它事物之間的相互關系,讓氣象數據發揮更多元化的價值。
14.交通事故成因分析
隨著時代發展,便捷交通對社會產生巨大貢獻的同時,各類交通事故也嚴重地影響了人們生命財產安全和社會經濟發展。希望通過對事故類型、事故人員、事故車輛、事故天氣、駕照信息、駕駛人員犯罪記錄數據以及其他和交通事故有關的數據進行深度挖掘,形成交通事故成因分析方案。
15.基于興趣的實時新聞推薦
隨著近年來互聯網的飛速發展,個性化推薦已成為各大主流網站的一項必不可少服務。提供各類新聞的門戶網站是互聯網上的傳統服務,但是與當今蓬勃發展的電子商務網站相比,新聞的個性化推薦服務水平仍存在較大差距。希望通過對帶有時間標記的用戶瀏覽行為和新聞文本內容進行分析,挖掘用戶的新聞瀏覽模式和變化規律,設計及時準確的推薦系統預測用戶未來可能感興趣的新聞。

參考:
https://www.eefocus.com/industrial-electronics/394468/r0

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。