人工智能(Artificial Intelligence)
- 通過計算機模擬人類智慧凶赁,以完成很多只有人類才可以完成,甚至連人類都無法完成的任務
- 比如專家系統(tǒng)逆甜、圖像識別虱肄、語音識別、自然語言處理交煞、自動駕駛咏窿、推薦系統(tǒng)、人機博弈素征、電腦游戲集嵌、機器人等
- 人類利用計算機完成了很多對人類而言非常困難的工作,但一些人類可以很容易解決的問題比如駕駛汽車御毅、語言圖像識別根欧,計算機卻很難解決,這是人工智能需要解決的問題
- 早期人工智能只能解決簡單的特定環(huán)境下的問題端蛆,比如國際象棋
機器學習(Machine Learning)
- 通過分析已有的數(shù)據(jù)凤粗,從中學習,然后對新數(shù)據(jù)進行預測欺税、決策侈沪、判斷
- 人們發(fā)現(xiàn)有些問題通過邏輯分析很難解決,還不如通過對已有的數(shù)據(jù)進行統(tǒng)計分析
- 機器學習需要有海量數(shù)據(jù)進行訓練晚凿,很多數(shù)據(jù)量小或是靠邏輯分析能解決的問題并不適合使用機器學習
深度學習(Deep Learning)
- 傳統(tǒng)的機器學習,需要人工選取特征值瘦馍,計算機從數(shù)據(jù)中提取人工指定的特征值然后進行訓練
- 然而有些問題歼秽,靠人工的方式無法很好的提取特征值
- 深度學習不需要人工指定特征值,而是自動提取簡單的特征值情组,并組合成更復雜的特征值燥筷,然后進行訓練
- 深度學習使用的主要是神經網絡
監(jiān)督學習(Supervised Learning)
給定樣本集 (X, Y),機器從中推演出合適的模型 y = F(x)院崇,然后對新的 X 數(shù)據(jù)肆氓,通過 F 預測相應的 Y
監(jiān)督學習一般使用兩種類型的目標變量:標稱型和數(shù)值型
- 標稱型目標變量的結果只在有限目標集中取值,如真與假底瓣、動物分類集合{爬行類谢揪、魚類、哺乳類、兩棲類}
- 標稱型目標變量主要用于分類
- 數(shù)值型目標變量則可以從無限的數(shù)值集合中取值拨扶,如 0.100凳鬓、42.001、1000.743 等
- 數(shù)值型目標變量主要用于回歸分析
無監(jiān)督學習(Unsupervised Learning)
給定的樣本集中只有 X 沒有 Y患民,無監(jiān)督學習要回答的是:從數(shù)據(jù) X 中能發(fā)現(xiàn)什么缩举?
比如 "構成 X 的最佳的 6 個數(shù)據(jù)簇都是哪些"、"X 中哪三個特征最頻繁共現(xiàn)"
將數(shù)據(jù)集合分成由類似的對象組成的多個類的過程被稱為聚類
將尋找描述數(shù)據(jù)統(tǒng)計值的過程稱之為密度估計
回歸(Regression)一詞的來歷
假設現(xiàn)在有一些數(shù)據(jù)點匹颤,我們用一條曲線對這些點進行擬合仅孩,尋找最佳擬合參數(shù),這個擬合過程就稱作回歸
回歸由高爾頓發(fā)明印蓖,高爾頓 1877 年完成第一次回歸預測:根據(jù)上一代豌豆種子的尺寸預測下一代豌豆種子的尺寸
他發(fā)現(xiàn)個體小的豆子往往傾向于產生比其更大的子代辽慕,而個體大的豆子則傾向于產生比其小的子代
高爾頓認為這是由于新個體在向這種豆子的平均尺寸回歸,就是事物總是傾向于朝著某種平均發(fā)展
高爾頓在多項研究上都注意到這個現(xiàn)象另伍,所以盡管這個英文單詞跟數(shù)值預測沒有任何關系鼻百,但這種研究方法仍被稱作回歸
機器學習的一般步驟如下
- 收集數(shù)據(jù)
- 提取特征
- 轉換數(shù)據(jù)
- 清洗數(shù)據(jù)
- 劃分數(shù)據(jù)
- 選擇算法
- 訓練算法
- 驗證算法
- 符合要求則繼續(xù),否則重新選擇算法或重新訓練算法摆尝,甚至是重新收集數(shù)據(jù)
- 使用算法
分類例子 - 專家系統(tǒng) - 鳥類識別系統(tǒng)
- 收集大量已分好種類的樣本數(shù)據(jù)
- 選擇用于分析的特征(重量温艇,翼展,有無腳蹼堕汞,不同部位顏色勺爱,等等)
- 取特征值 X 和種類 Y、轉換數(shù)據(jù)格式讯检、特征編碼
- 清洗數(shù)據(jù)琐鲁、處理缺失值、處理異常值人灼、歸一化或標準化围段、降維
- 分為兩套獨立的樣本集:訓練數(shù)據(jù)集和測試數(shù)據(jù)集,比如可以選擇 90% 的樣本作訓練投放,10% 的樣本作測試奈泪,需要保證有隨機性
- 選擇一種分類算法
- 使用訓練數(shù)據(jù)集進行迭代訓練,產生一個模型 F(X) = Y
- 將測試數(shù)據(jù)集的特征值作為模型的輸入灸芳,模型判斷出相應的種類
- 將模型判斷的結果與測試數(shù)據(jù)集的實際種類作比較涝桅,得出該模型的精確度,如果精確度不符合要求烙样,重新選擇算法或重新訓練算法冯遂,甚至是重新收集數(shù)據(jù)
- 使用該模型,通過特征值對新數(shù)據(jù)進行分類
工具
-
Python
- 簡單(腳本谒获,高級數(shù)據(jù)類型如 Dict蛤肌,正則表達式壁却,操作文本文件,等等)
- 流行(網上資料多寻定,庫多儒洛,SciPy、NumPy 等許多科學函數(shù)庫都實現(xiàn)了向量和矩陣操作狼速,MatplotLib 等庫實現(xiàn)圖形化)
- 缺點是性能差些(可以通過使用 C 替代核心代碼改善琅锻,實際上 NumPy 這些庫就是 C 實現(xiàn)的)
-
機器學習庫
庫 簡介 scikit-learn(sklearn) 機器學習算法 TensorFlow/Theano/Caffe 深度學習框架 Keras 以 TensorFlow 或 Theano 為后端,提供友好易用的API向胡,適合于簡單快速的原型設計 Spark MlLib 分布式恼蓬、大數(shù)據(jù)、運算快僵芹,提供的算法可能比較基礎处硬,API 限制多