算法是人工智能(AI)核心領(lǐng)域之一。 本文整理了算法領(lǐng)域常用的39個術(shù)語,希望可以幫助大家更好地理解這門學(xué)科。 1. Attention 機(jī)制 Attention的本質(zhì)是從關(guān)注全部到關(guān)注重點(diǎn)。將有限的注意力集中在重點(diǎn)信息上,從而節(jié)省資源,快速獲得最有效的信息。 2. Encoder-Decoder 和 Seq2Seq Encoder-Decoder 模型主要是 NLP 領(lǐng)域里的概念。它并不特指某種具體的算法,而是一類算法的統(tǒng)稱。Encoder-Decoder 算是一個通用的框架,在這個框架下可以使用不同的算法來解決不同的任務(wù)。 Encoder-Decoder 這個框架很好的詮釋了機(jī)器學(xué)習(xí)的核心思路: 將現(xiàn)實(shí)問題轉(zhuǎn)化為數(shù)學(xué)問題,通過求解數(shù)學(xué)問題,從而解決現(xiàn)實(shí)問題。 Seq2Seq(是 Sequence-to-Sequence 的縮寫),就如字面意思,輸入一個序列,輸出另一個序列。這種結(jié)構(gòu)最重要的地方在于輸入序列和輸出序列的長度是可變的。 3. Q-Learning Q學(xué)習(xí)是強(qiáng)化學(xué)習(xí)中基于價值的學(xué)習(xí)算法。 4. AdaBoost AdaBoost是Adaptive Boosting的縮寫。 AdaBoost是一種迭代算法,其核心思想是針對同一個訓(xùn)練集訓(xùn)練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構(gòu)成一個更強(qiáng)的最終分類器(強(qiáng)分類器)。 5. 隨機(jī)森林(Random Forest) 隨機(jī)森林屬于集成學(xué)習(xí)中Bagging(Bootstrap Aggregation的簡稱)的方法。 在機(jī)器學(xué)習(xí)中,隨機(jī)森林是一個包含多個決策樹的分類器,并且其輸出的類別是由個別樹輸出的類別的眾數(shù)而定。 構(gòu)造隨機(jī)森林的4個步驟 ☆隨機(jī)森林可以在很多地方使用: 對離散值的分類; 對連續(xù)值的回歸; 無監(jiān)督學(xué)習(xí)聚類; 異常點(diǎn)檢測。 6. 學(xué)習(xí)向量量化( Learning Vector Quantization) 在計(jì)算機(jī)科學(xué)中,學(xué)習(xí)向量量化 (LVQ)是一種基于原型的監(jiān)督學(xué)習(xí)統(tǒng)計(jì)學(xué)分類算法。 LVQ是向量量化的監(jiān)督版本。 學(xué)習(xí)向量量化(Learning Vector Quantization,簡稱LVQ)屬于原型聚類,即試圖找到一組原型向量來聚類,每個原型向量代表一個簇,將空間劃分為若干個簇,從而對于任意的樣本,可以將它劃入到它距離最近的簇中,不同的是LVQ假設(shè)數(shù)據(jù)樣本帶有類別標(biāo)記,因此可以利用這些類別標(biāo)記來輔助聚類。 7. K鄰近(K-Nearest Neighbors) K最近鄰(K-Nearest Neighbor,KNN)分類算法,是一個理論上比較成熟的方法,也是最簡單的機(jī)器學(xué)習(xí)算法之一。 該方法的思路是:在特征空間中,如果一個樣本附近的K個最近(即特征空間中最鄰近)樣本的大多數(shù)屬于某一個類別,則該樣本也屬于這個類別。 用官方的話來說,所謂K近鄰算法,即是給定一個訓(xùn)練數(shù)據(jù)集,對新的輸入實(shí)例,在訓(xùn)練數(shù)據(jù)集中找到與該實(shí)例最鄰近的K個實(shí)例(也就是上面所說的K個鄰居), 這K個實(shí)例的多數(shù)屬于某個類,就把該輸入實(shí)例分類到這個類中。 ☆優(yōu)點(diǎn): 理論成熟,思想簡單,既可以用來做分類也可以用來做回歸; 可用于非線性分類; 訓(xùn)練時間復(fù)雜度為O(n); 對數(shù)據(jù)沒有假設(shè),準(zhǔn)確度高,對outlier不敏感; KNN是一種在線技術(shù),新數(shù)據(jù)可以直接加入數(shù)據(jù)集而不必進(jìn)行重新訓(xùn)練; KNN理論簡單,容易實(shí)現(xiàn); ☆缺點(diǎn): 樣本不平衡問題(即有些類別的樣本數(shù)量很多,而其它樣本的數(shù)量很少)效果差; 需要大量內(nèi)存; 對于樣本容量大的數(shù)據(jù)集計(jì)算量比較大(體現(xiàn)在距離計(jì)算上); 樣本不平衡時,預(yù)測偏差比較大。如:某一類的樣本比較少,而其它類樣本比較多; KNN每一次分類都會重新進(jìn)行一次全局運(yùn)算; K值大小的選擇沒有理論選擇最優(yōu),往往是結(jié)合K-折交叉驗(yàn)證得到最優(yōu)K值選擇。 8. 線性判別分析(Linear Discriminant Analysis) 線性判別分析(LDA)是對費(fèi)舍爾的線性鑒別方法的歸納,這種方法使用統(tǒng)計(jì)學(xué),模式識別和機(jī)器學(xué)習(xí)方法,試圖找到兩類物體或事件的特征的一個線性組合,以能夠特征化或區(qū)分它們。所得的組合可用來作為一個線性分類器,或者,更常見的是,為后續(xù)的分類做降維處理。 應(yīng)用于面部識別領(lǐng)域(在計(jì)算機(jī)化的臉部識別中,每一張臉由大量像素值表達(dá)。 LDA在這里的主要作用是把特征的數(shù)量降到可管理的數(shù)量后再進(jìn)行分類。每一個新的維度都是模板里像素值的線性組合。使用費(fèi)舍爾線性判別得到的線性組合稱為費(fèi)舍爾臉,而通過主成分分析得到稱為特征臉。) 9. TF-IDF 簡單來說,向量空間模型就是希望把查詢關(guān)鍵字和文檔都表達(dá)成向量,然后利用向量之間的運(yùn)算來進(jìn)一步表達(dá)向量間的關(guān)系。比如,一個比較常用的運(yùn)算就是計(jì)算查詢關(guān)鍵字所對應(yīng)的向量和文檔所對應(yīng)的向量之間的 “相關(guān)度”。 10. 元學(xué)習(xí)(Meta Learning) 元學(xué)習(xí)的思想是學(xué)習(xí)「學(xué)習(xí)(訓(xùn)練)」過程。 元學(xué)習(xí)是人工智能領(lǐng)域里一個較新的方向,被認(rèn)為是實(shí)現(xiàn)通用人工智能的關(guān)鍵。 元學(xué)習(xí)的核心是具備自學(xué)能力。 元學(xué)習(xí)通常被用在:優(yōu)化超參數(shù)和神經(jīng)網(wǎng)絡(luò)、探索好的網(wǎng)絡(luò)結(jié)構(gòu)、小樣本圖像識別和快速強(qiáng)化學(xué)習(xí)等。 11. 遺傳算法(Genetic Algorithm | GA) 遺傳算法(Genetic Algorithm)是模擬達(dá)爾文生物進(jìn)化論的自然選擇和遺傳學(xué)機(jī)理的生物進(jìn)化過程的計(jì)算模型,是一種通過模擬自然進(jìn)化過程搜索最優(yōu)解的方法。 遺傳算法是從代表問題可能潛在的解集的一個種群(population)開始的,而一個種群則由經(jīng)過基因(gene)編碼的一定數(shù)目的個體(individual)組成。 遺傳算法借鑒了生物學(xué)中的遺傳原理,是模擬達(dá)爾文生物進(jìn)化論的自然選擇和遺傳學(xué)機(jī)理的生物進(jìn)化過程的計(jì)算模型,是一種通過模擬自然進(jìn)化過程搜索最優(yōu)解的方法。 其本質(zhì)是一種高效、并行、全局搜索的方法,能在搜索過程中自動獲取和積累有關(guān)搜索空間的知識,并自適應(yīng)地控制搜索過程以求得最佳解。 12. 判別式模型(Discriminative Model) 在機(jī)器學(xué)習(xí)領(lǐng)域判別模型是一種對未知數(shù)據(jù) y 與已知數(shù)據(jù) x 之間關(guān)系進(jìn)行建模的方法。判別模型是一種基于概率理論的方法。已知輸入變量 x ,判別模型通過構(gòu)建條件概率分布 P(y|x) 預(yù)測 y 。 13. 產(chǎn)生式模型(Generative Model) 在機(jī)器學(xué)習(xí)中,生成模型可以用來直接對數(shù)據(jù)建模(例如根據(jù)某個變量的概率密度函數(shù)進(jìn)行數(shù)據(jù)采樣),也可以用來建立變量間的條件概率分布。條件概率分布可以由生成模型根據(jù)貝葉斯定理形成。 14. Latent Dirichlet Allocation|LDA LDA(Latent Dirichlet Allocation)是一種文檔主題生成模型,也稱為一個三層貝葉斯概率模型,包含詞、主題和文檔三層結(jié)構(gòu)。 LDA是一種非監(jiān)督機(jī)器學(xué)習(xí)技術(shù),可以用來識別大規(guī)模文檔集(document collection)或語料庫(corpus)中潛藏的主題信息。 15. 啟發(fā)式算法(Heuristic) 一個基于直觀或經(jīng)驗(yàn)構(gòu)造的算法,在可接受的花費(fèi)(指計(jì)算時間和空間)下給出待解決組合優(yōu)化問題每一個實(shí)例的一個可行解,該可行解與最優(yōu)解的偏離程度一般不能被預(yù)計(jì)。 現(xiàn)階段,啟發(fā)式算法以仿自然體算法為主,主要有蟻群算法、模擬退火法、神經(jīng)網(wǎng)絡(luò)等。 16. 粒子群算法(Particle Swarm Optimization | PSO) PSO 算法屬于進(jìn)化算法的一種,和模擬退火算法相似,它也是從隨機(jī)解出發(fā),通過迭代尋找最優(yōu)解,它也是通過適應(yīng)度來評價解的品質(zhì),但它比遺傳算法規(guī)則更為簡單,它沒有遺傳算法的“交叉”(Crossover) 和“變異”(Mutation) 操作,它通過追隨當(dāng)前搜索到的最優(yōu)值來尋找全局最優(yōu)。 17. 深度學(xué)習(xí)(Deep Learning) 深度學(xué)習(xí)是機(jī)器學(xué)習(xí)中一種基于對數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法。 其屬于機(jī)器學(xué)習(xí)的范疇,可以說是在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上的升級,約等于神經(jīng)網(wǎng)絡(luò)。它的好處是用非監(jiān)督式或半監(jiān)督式的特征學(xué)習(xí)和分層特征提取高效算法來替代手工獲取特征。 深度學(xué)習(xí)是機(jī)器學(xué)習(xí)研究中的一個新的領(lǐng)域,其動機(jī)在于建立、模擬人腦進(jìn)行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),它模仿人腦的機(jī)制來解釋數(shù)據(jù),例如圖像,聲音和文本。 18. 人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network | ANN) ANN從信息處理角度對人腦神經(jīng)元網(wǎng)絡(luò)進(jìn)行抽象, 建立某種簡單模型,按不同的連接方式組成不同的網(wǎng)絡(luò)。 |
|