百度百科定義:算法
機器學習(Machine Learning, ML)是一門多領域交叉學科,涉及機率論、統計學、逼近論、凸分析、算法複雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行爲,以獲取新的知識或技能,從新組織已有的知識結構使之不斷改善自身的性能。 它是人工智能的核心,是使計算機具備智能的根本途徑,其應用遍佈人工智能的各個領域,它主要使用概括、綜合而不是演繹。數據庫
一般分爲有監督學習(supervised Learning)和無監督學習(unsupervised Learning)。 從 Andrew Ng 與 Geoffrey Hinton 的訪談錄像中,Hinton 提到無監督學習一直是科學家們所追逐的最終目標,但目前困難重重,僅就當前來看,監督學習發展的更爲迅速,所涌現的科研成果也更爲豐富。網絡
最主要的應用領域有:專家系統、認知模擬、規劃和問題求解、數據挖掘、網絡信息服務、圖象識別、故障診斷、天然語言理解、機器人和博弈等領域。架構
其中圖像識別屬於計算機視覺(Computer Vision, CV)領域,當前流行的卷積神經網絡(Convolutional Nerual Network, CNN)等深度學習算法並不是 CV 領域一直使用的算法,而是在深度神經網絡 AlexNet 等模型表現極爲出色以後,才被衆人承認。自此,機器學習在 CV 領域的應用才全面發展起來。dom
博弈領域的問題以加強學習(Reinforcement Learning, RL)爲主要算法,著名模型爲 AlphaGO。其中涉及的算法有深度神經網絡(Deep Neural Network, DNN)(其中包含 CNN 和其它類型的深度神經網絡),蒙特卡洛方法,Q-learning等,其中前二者在有大量數據的狀況下表現突出。機器學習
天然語言處理(Natural Language Processing, NLP)中包含自動分詞,句法/詞性分析,天然語言生成,機器翻譯等領域,其中循環神經網絡(Recurrent Neural Network, RNN)在機器翻譯中表現出了強大的能力。函數
因爲近年機器學習發展速度極快,相對於學術期刊,國際學術會議中的各種論文更新更快,所以各種與機器學習相關的會議很是值得關注。post
頂級或者高水平會議:
機器學習領域:ICML, NIPS,COLT,ECML
計算機視覺與機器學習混合:CVPR,ICCV,ECCV
機器學習與數據挖掘大雜燴:AAAI,IJCAI
主要是數據挖掘領域:KDD,SDM,ICDM
其餘機器學習領域比較知名的:UAI,AISTATS
其餘數據挖掘領域比較知名的:CIKM,PKDD
主要是數據庫方向的,部分包含機器學習與數據挖掘:SIGMOD,VLDB,ICDE
交叉領域:WWW,SIGIR
頂級或者高水平期刊:
機器學習相關領域:
TPAMI, IJCV,JMLR
數據挖掘相關領域:
TKDE,TKDD,TIST,TODS,TOIS,KIS
做者:知乎用戶
連接:https://www.zhihu.com/question/20224890/answer/136485243
來源:知乎性能
這裏提到的只是其中一部分機器學習模型及算法,主要是監督學習的模型。學習
計算與目標函數的偏差,經過不斷調整參數來減少偏差。一般分爲兩個主要函數:
mse
(mean squared error function)sgd
(Stochastic Gradient Descent),Levenberg–Marquardt
算法等等。而在梯度降低算法等優化函數中,須要根據具體問題進行超參數(Hyperparameter)的調整,如學習速率(Learning Rate)決定了算法降低的快慢以及可否找到全局最優值。這一點在以後的神經網絡中有更多相關的算法與討論,但並無可靠的公式能夠依賴,多數依靠經驗來作出判斷和調整,這也是機器學習有時被稱爲「煉丹」的緣由之一。
在線性迴歸的基礎上進行改造,整體上架構相似,只是在最後的輸出時加入激活函數(Activation Function)。在最後的輸出效果上,二項分類中最後輸出的是 1 或 0,表示是否。而多項分類輸出的是一個維度爲類別數量 n 的(或 n+1 多出的一個元素在目標不屬於任何類別時爲 1)向量,如[0 0 1 0 0]。
sigmoid
函數(用於二項分類),softmax
函數(用於多項分類)。多項分類有時也稱爲 softmax 迴歸
sigmoid 函數圖像——引用來源:百度百科
![]()
簡單來說即爲將低維度中看起來不可分的樣本,映射至高維度空間之中,而後使得樣本變得可分。而在向高維度的映射過程當中,SVM 藉助核函數的特性在映射的同時避免了隨着而來的高計算代價,於是在分類問題中表現良好。
在知乎的回答中,不少人的圖例解釋的很清楚。
圖片引用來源:知乎 https://www.zhihu.com/question/21094489
![]()
決策樹(Decision Tree)是在已知各類狀況發生機率的基礎上,經過構成決策樹來求取淨現值的指望值大於等於零的機率,評價項目風險,判斷其可行性的決策分析方法,是直觀運用機率分析的一種圖解法。因爲這種決策分支畫成圖形很像一棵樹的枝幹,故稱決策樹。——百度百科
其中改進的算法還有隨機森林(Random Forest) 算法等,其中隨機森林由多個決策樹組成,依舊是一種預測分類器。
機器學習中的神經網絡指的其實是前饋神經網絡(Feedforward Neural Network),所謂前饋,是指在模型的運算過程當中,後層的神經元只接收前面神經元的輸入信息,而不會當即給予反饋。神經網絡由三個部分組成:輸入層,隱藏層和輸出層。而其中最爲複雜多變的是隱藏層,經過隱藏層中不一樣的鏈接方式,組成了各種複雜的神經網絡。神經網絡自己的厲害之處,筆者認爲,是特徵的自行提取,隨着網絡的一步步深刻,所提取的特徵也從低級特徵逐漸變爲高級特徵,這也是很多的 CNN 網絡能夠用來遷移學習的緣由之一。
例如,當神經網絡識別一隻貓的圖像時,低層神經層提取的是貓的顏色、邊沿等低級特徵,往上一層以後,這些特徵會進行組合,變爲了三角形、四邊形,再往上,會逐漸變成眉毛、嘴巴等人類可識別的特徵。在真實狀況中可能與例子不徹底同樣,但性質是相似的。
更多關於神經網絡的例子與解釋,還能夠參考個人另外一篇文章。
圖片來源:https://user-gold-cdn.xitu.io/2018/1/10/160e06eadc4d24f8?w=500&h=274&f=png&s=65767
![]()
關於神經網絡的層數與深度,據筆者所知,暫時沒有一個較爲明確的定義。但通常來說,深度神經網絡的隱藏層至少在兩層以上,隨之而來的各類技巧與最初的神經網絡也有較大的不一樣,總體來講,無需糾結於深淺的區分。
一般來說,最基本的神經網絡的公式中有三個基本參數, a, w 與 b。其中 a 是指的神經元的值, w 爲權重(weights), 而 b 是偏置參數(bias)。除了這三個重要參數以外,還有 g 表示激活函數,因此後一層的值可經過 g(aw + b) 獲得。
正是反向傳播(Back Propogation, BP)算法的出現,解決了多層神經網絡的隱含層權重等問題。BP 算法的基本原理爲根據計算得出的損失函數(loss function) ,使用優化函數(optimize function)對各個神經元的權重進行調整,進而使得輸出結果擬合最終結果。
激活函數的意義: 經常有人說,沒有激活函數的神經網絡就是個悲劇。是由於神經網絡模型自己,在沒有激活函數時,只能解決線性問題,而對於非線性分類,則是無能爲力的。而在加入了激活函數以後,模型具備瞭解決非線性問題的能力,可以處理的問題也大大增多。
常見激活函數: 有以前提到的sigmoid
函數,softmax
函數,以及tanh
函數,還有著名的 ReLu
函數,它的出現大大加快了深度神經網絡訓練的速度。還有 RMSprop
函數以及 Adam
函數,它們的出如今必定程度上消除了優化過程當中算法來回擺動的問題。以後還有Adam
衍生出的其餘激活函數。
激活函數在神經網絡中的表示: 激活函數自己,在神經網絡中也是一層神經層,只不過只是對前面一層的結果套用激活函數進行處理,而後將結果直接傳入下一層。