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