之前在百度知道上回答了這個問題,現在把答案又整理了一下,然后放到簡書上,以備今后查詢。
一、人工智能
先引用百度百科對人工智能的定義:
人工智能是計算機科學的一個分支,這是一門研究、開發用于模擬、延伸和擴展人類智能的理論、方法、技術及應用系統的一門新的技術科學。
人工智能有三個層次,分別是:
1. 計算智能:主要用于求解一般的最優化問題(不是凸優化問題,常為NP問題,不能在多項式時間內解決),由于解空間龐大(不可能采用窮舉遍歷的方法),為了高效快速地找到優化變量的最優解,采用一些啟發式搜索的方法,包括遺傳算法、群體智能(蟻群、粒子群)、模擬退火等;
2. 感知智能:讓計算機看得見,聽得到,包括圖像識別、語音識別等;
3. 認知智能:最高一個層次的人工智能,包括自然語言處理等。
人工智能主要有四個研究方向(這個說法來源于騰訊AI Lab官網),分別是:計算機視覺、語音技術、NLP和機器學習。
二、機器學習
機器學習是實現人工智能的一種重要方法,主要包括統計機器學習和深度學習。機器學習通過數據驅動智能,它不對某一具體任務硬編碼,而是通過ML算法自動從數據中學習出知識。
大部分機器學習都可以歸結為最優化問題,都是通過調整模型參數,使得損失函數(成本函數)最小,然后為了避免過擬合,還會引入正則項來約束(限制)要優化的參數,使得模型參數的解空間(參數向量空間)變小,使得損失函數不會太小。
1. 機器學習分類
機器學習大致可以分成四類,分別是:監督學習、無監督學習、半監督學習和強化學習。
2. 監督學習
監督學習針對有標簽數據集,它通過學習出一個模型(其實就是一個函數)來擬合數據(分類算法中就是學習出一個超平面來最好地劃分不同類別的樣本,回歸算法中就是學習出一個函數,它的曲線能最好地擬合數據),按照標簽是否為離散值又可以分為兩類,分別是:
(1)標簽為離散值,則為分類問題,常見的分類算法:logistic回歸、KNN、貝葉斯分類器、決策樹、SVM、神經網絡、GBDT、隨機森林等;
(2)標簽為連續值,則為回歸問題,例如線性回歸等。
監督學習學的是一種關聯關系,一種映射,統計學習的一個根本前提是訓練集和測試集要服從同一個分布,即訓練集要和真實應用場景同分布。
3. 無監督學習
無監督學習針對沒有標簽的數據集,它將樣本按照距離(特征向量 in 向量空間)劃分成類簇,使得類內相似性最大,類間相似性最小。通過觀察聚類結果,我們可以得到數據集的分布情況,為進一步分析提供支撐。常見的聚類算法有K-means、高斯混合模型和LDA等。
4. 半監督學習針對只有部分樣本有標簽的數據集,對于半監督學習我不大了解。
5. 強化學習不大了解。
6. 模型評價指標
這里只討論監督學習和無監督學習。分類模型的評價指標包括準確率(accuracy,被正確分類的樣本占全體的百分比)、精確率(precision,查準率)和召回率(recall,查全率)。回歸模型的評價指標主要是損失函數,損失函數太小容易過擬合,不考慮損失會導致模型欠擬合。聚類結果的評價指標只要能夠反映類內相似性和類間相似性即可(這里不詳細,待我回頭補上)。
三、深度學習
深度學習是機器學習的一個分支,說白了就是深層神經網絡(DNN),主要用于特征自動抽取。CV中常用的網絡結構為CNN,NLP中常用的則為RNN和LSTM(現在注意力模型也得到廣泛應用),深度學習在無監督學習中的應用主要是通過自編碼機進行特征提取,也就是表征學習,關于深度學習,我也正在學習中。