隨着2016年Alpha Go在圍棋擊敗李世石,2017年初卡內基梅隆大學人工智能系統Libratus在長達20天的鏖戰中,打敗4名世界頂級德州撲克玩家,這標志着人工智能技術又達到了一個新的高峰。人工智能已經不再是在各大公司幕后提供各種智能推薦、語音識別算法的工具,它已經慢慢走向台前進入到平常百姓的視野之中。曾經有人描述人工智能就向一列緩緩開向人們的火車,一開始非常遙遠而且看起來非常緩慢,它慢慢接近,直到人們清楚看到它的時候,它已經呼嘯而過,把人遠遠拋在身后。現在似乎就是人們可以遠遠看到人工智能的時候,它已經發展數十年,但直到最近才引起廣泛注意,隨着大數據的積累、算法的改進、硬件的提升,人工智能可以在很多細分的領域成為專家,輔助人類甚至超過人類。
作為一名初學者,我也是剛剛接觸人工智能和機器學習,希望能夠和大家共同學習。接觸一個領域的第一步是盡快的了解全貌並且搭建出相應的知識體系。大致提綱如下(后續不斷補充):
1 - 數學
線性代數、微積分
在整個機器學習過程中涉及大量矩陣運算和微積分導數的概念,因此建議初學者至少要有較為扎實的數學基礎,對矩陣和微積分的概念了解比較清楚。否則在一些公式推導過程中會遇到較大障礙,而不斷反復回來復習數學知識。
2 - 編程語言
Python/R/Java/Matlab
7 Steps to Mastering Machine Learning With Python
Python已經成為機器學習的第一語言,至於為什么
知乎中有非常不錯的解釋。眾多機器學習的框架都支持Python API,所以學習機器學習,Python語言語法估計是繞不過去。
3 - Supervise learning
Linear regression:
機器學習知識體系 - 線性回歸
Logistic regression:
機器學習知識體系 - 邏輯回歸
Neural network:
機器學習知識體系 - 神經網絡(基礎)
機器學習知識體系 - 神經網絡(反向傳播算法)
監督學習指的是人們給機器一大堆標記好的數據,比如一大堆照片,標記出哪些是貓的照片,哪些不是,然后讓機器自己學習歸納出算法,可以判斷出其他照片是否是貓。目前這個領域算法代表:Linear regression, Logistic regression, Neural network, SVM等等。
4 - Unsupervise learning
K-means:
深入淺出K-Means算法
PCA:
主成份分析算法 PCA
Anomaly detection:
異常檢測
非監督學習指的就是人們給機器一大堆沒有標記的數據,讓機器可以對數據進行分類、檢測異常等。
5 - Special topic
Recommend system
Large scale machine learning application
一些特殊算法,例如推薦系統。常用於購物網站,可以根據你的過往購物或評分情況,來向你推薦商品。
6 - Advice on machine learning
Bias/vairance:
Understanding the Bias-Variance Tradeoff
Regulation
Learning curve
Error analysis:
Accurately Measuring Model Prediction Error
Celling analysis
機器學習的建議,包含參數正則化、學習曲線、錯誤分析、調參等。
7 - Deep Learning
Neural Netwotk
深度學習是近期機器學習的一個熱門分支,模擬人類大腦的思維方式,可以極大的提高正確率,是近來機器學習的一個非常大的突破。
8 - Tools/Framework
TensorFlow/Theano/Keras
很多大廠就開源了一些機器學習的框架,基於這些框架可以很容易搭建機器學習的平台。
推薦的學習資料:
Github上面有一份非常詳盡的
學習路徑
awesome-deep-learning
我個人推薦的幾個經典資料:
機器學習
Andrew NG的Coursera的
機器學習入門:這個教程非常適合初學者,沒有很高深的數學推導,Andrew也是業內大牛但非常謙遜,講解非常淺顯易懂。
Neural Networks for Machine Learning by Geoffrey Hinton in Coursera (2012)
幾本經典著作:
An Introduction to Statistical Learning,
Pattern Recognition and Machine Learning,
The Elements of Statistical Learning
深度學習
Neural Networks and Deep Learning:
Michael Nielsen用非常淺顯易懂的方式介紹了神經網絡和深度學習,並且提供了一個手寫數字識別的例子,非常適合入門。
UFLDL Tutorial I
UFLDL Tutorial II:Andrew NG主導的Deep Learning的學習資料,內容非常精煉,適合稍微有些基礎的同學。
Deep Learning: 幾位大神共同編寫的關於深度學習的free book。
零基礎入門深度學習:一位大神寫的關於深度學習的入門教程,由淺入深的詳細介紹了深度學習的幾個重要內容,非常適合入門的學習。
Convolutional Neural Networks for Visual Recognition - Stanford by Fei-Fei Li, Andrej Karpathy (2015)
Convolutional Neural Networks for Visual Recognition - Stanford by Fei-Fei Li, Andrej Karpathy (2016)
Deep Learning Course by Yann LeCun (2016)
從人工智能到機器學習,再到最近大熱的深度學習,人們已經在這個領域研究了數十年,現在雖然取得一定的突破,但是離真正的人工智能還有非常長的距離。而且人工智能一定要跳出學術界的研究框架,結合工業界的應用,從2016年可以看到大量的實際應用場景,例如自動駕駛、Apple Siri、Amazon Echo、谷歌翻譯等等,我相信未來人工智能領域極有可能成為下一代顛覆性的技術革命。
有興趣同學可以關注微信公眾號奶爸碼農,不定期分享投資理財、IT相關內容:
