本文目錄一覽:
- 1、什麼是吉布斯採樣算法
- 2、MCMC把妹法
- 3、Gibbs分布
- 4、人工智能一些術語總結
- 5、無監督第一節:PCA 詳細介紹及 kernal PCA ,probabilistic PCA
- 6、採樣方法
什麼是吉布斯採樣算法
幾個可以學習gibbs sampling的方法
1,讀Bishop的Pattern Recognition and Machine Learning,講的很清楚,但是我記得好像沒有例子。
2,讀artificial Intelligence,2、3版,都有。但是我沒讀過。
3,最方便的,查wiki,這個說的最清楚。
這裡通俗點的解釋一下。首先,什麼是sampling。sampling就是以一定的概率分布,看發生什麼事件。舉一個例子。甲只能E:吃飯、學習、打球,時間T:上午、下午、晚上,天氣W:晴朗、颳風、下雨。現在要一個sample,這個sample可以是:打球+下午+晴朗。。。
問題是我們不知道p(E,T,W),或者說,不知道三件事的聯合分布。當然,如果知道的話,就沒有必要用gibbs sampling了。但是,我們知道三件事的conditional distribution。也就是說,p(E|T,W),p(T|E,W),p(W|E,T)。現在要做的就是通過這三個已知的條件分布,再用gibbs sampling的方法,得到joint distribution。
具體方法。首先隨便初始化一個組合,i.e. 學習+晚上+颳風,然後依條件概率改變其中的一個變量。具體說,假設我們知道晚上+颳風,我們給E生成一個變量,比如,學習-》吃飯。我們再依條件概率改下一個變量,根據學習+颳風,把晚上變成上午。類似地,把颳風變成颳風(當然可以變成相同的變量)。這樣學習+晚上+颳風-》吃飯+上午+颳風。
同樣的方法,得到一個序列,每個單元包含三個變量,也就是一個馬爾可夫鏈。然後跳過初始的一定數量的單元(比如100個),然後隔一定的數量取一個單元(比如隔20個取1個)。這樣sample到的單元,是逼近聯合分布的。
我也是剛wiki到的,可能不完全正確,歡迎討論:
zhangshiqihit@yahoo.com.cn
MCMC把妹法
聲明:此方法建立在著名的 馬爾可夫鏈蒙特卡洛 採樣算法(MCMC)之上,並一改巴普諾夫把妹法和薛定諤把妹法的送餐設定,而是虛構了一個真實的故事場景,令學習者更加感同身受,可以說是一種更加科學的追女生方法。
正所謂得人心者得天下,送餐什麼的太乃衣服了,懂得女生心理才是王道,下面我便將此法傳授給大家。
話說….故事是這樣展開的…網絡上有一個很好的姑娘。正因為是很好的姑娘,所以她的追求者多呀,於是該選擇誰作為伴侶便成了問題。終於有一天呢,她心生一計:“我應當選擇一個最懂我的人,那什麼樣的人是最懂我的呢?當然是最了解我心情的吧”。於是呢,就在微博上發了一個英雄帖,內容如下:小女之心情,變換莫測,詭譎雲涌,喜怒無常,可謂是風雲變化幾席上,蛟黿出波瀾桿前。然則每日有定值,為實數,知其概率密度,卻不知其故也,今尋有識之士,可日得一心情值之概率密度,為期一載,知我心情之期望者,吾嫁之,白首不悔。
顯然,這是一個十分棘手的問題,這是要通過我們自身的採樣來估計姑娘心情值的概率分布呀…
這可真是太難了,許多的追求者因此望而卻步…但是咱作為有(老)識(色)者(批)怎可輕言放棄,於是打算用科學的方法破解之。
你仔細分析了一番,發現這個問題相當於要知道小姐姐心情分布 的均值。但是吧,正所謂女人心海底針,瞎猜肯定是不行的了,於是你馬上想到了一種通過隨機抽樣來近似解決計算問題的方法—— 蒙特卡洛 算法。
既然直接算不出來,那我可以根據 來進行隨機採樣,得到一個樣本集 ,然後計算這個樣本集的期望來近似不就可以了嗎?
但是很顯然,你想多了,基於 採樣,你採樣個屁呀,你懂少女心嗎?還採樣…
於是你又靈機一動,基於 馬爾科夫鏈 能收斂到平穩分布這個性質,有了一個絕妙的想法:如果我們能夠構造一個轉移矩陣為P的馬爾可夫鏈,使得該鏈的平穩分布恰好是 ,那麼我們就可以從任何一個初始狀態 出發,沿着轉移矩陣轉移,得到一個轉移序列 ,如果在第 步已經收斂了,不就得到了 的樣本 了嗎?
正當你要着手設計這個狀態轉移矩陣的時候,不幸的又被現實給打臉了,你根本就不知道小姐姐每天的心情值的變化,而只知道某天某個心情值的概率密度而已… 這根本就不可能得出狀態轉移矩陣,況且,要是你連轉移矩陣都知道了,那你直接可以就能算出穩定的概率分布了…
於是你又絞盡腦汁的想啊想…
就在你一籌莫展的時候,突然靈光乍現,想起一個以前用常見分布採樣來估計不常見分布的方法—— 接受拒絕採樣 :比如我們難以對分布 進行採樣,就先基於常見的好採樣的分布 來進行採樣,並選擇一個常數 ,使得對於任意的 都有 ,然後就好辦了…
如上圖所示,我們要直接基於 採樣很難,可以先構造這樣的一個 , 隨機採樣到一個樣本 , 然後再從均勻分布 上採樣,得到一個值 , 如果 則拒絕,否則就接受這個樣本 … 重負這個過程,就可以得到一系列基於 隨機抽樣的樣本,x_0, x_1,x_2,…
你興緻勃勃的採樣了一個 去詢問小姐姐相應的概率密度,打算大幹一場… 卻無奈的發現這個滿足條件的 和 實在是不好選… 這少女的心思也太難猜了吧,於是你大嘆了三聲:孤為之奈何?孤為之奈何?孤為之奈何?
也許是上天垂簾你的執著,在你苦思冥想了幾日不得其解之後,偶然的發現了一個定理:
定理:細緻平穩條件 如果非周期馬爾可夫鏈的轉移矩陣 和分布 滿足
則 是馬爾可夫鏈的平穩分布,上式被稱為細緻平穩條件 (detailed balance condition)。
憑藉你的數學直覺,發現這個定理是很顯然的,這裡的要求要比穩態向量的定義 要嚴格的多, 只是要求轉出到其他所有狀態的概率密度等於其他所有狀態轉入的概率密度。而細緻平穩條件則要求針對任意兩個狀態之間的轉入和轉出概率密度都相等。
當然,數學證明也是很簡單的,由細緻平穩條件易得:
能夠推出 是方程 的解,所以 是平穩分布。
我們用 表示轉移矩陣 中的從狀態 轉到狀態 的概率, 表示穩態向量,用 來表示處於狀態 的概率,顯然對於一個一般的狀態轉移矩陣 下的穩態向量 ,細緻平穩條件是不滿足的,即
因此,我們需要對馬爾可夫鏈進行改造,使得細緻平穩條件成立。比如我們引入一個 ,使得
那麼 應該取啥呢?根據對稱性,我們可以簡單的取
這樣一來上面的等式就成立了。於是我們改造之後的狀態轉移矩陣 , 而轉移矩陣 的穩態向量則是 ,我們將其概率分布表示為 .
在構造 的過程中,我們引入的 稱之為接受率,物理意義可以理解為在原來的馬爾可夫鏈上,從狀態 , 以 的概率跳轉到狀態 的時候,以 的概率接受這個跳轉,以 的概率拒絕跳轉。於是這個接受跳轉的部分,以 的概率實現了轉移,那麼拒絕跳轉的部分概率到哪裡去了呢?我的理解是拒絕轉移的這部分,都留給了 ,也就是轉移到了當前的狀態,只需要用1減去所有跳轉到其他狀態的概率即可。
整理一下上面的思路,便得到了原始的MCMC採樣算法:
仔細觀察上面的算法,容易發現這個算法存在一個問題:就是馬爾可夫鏈在轉移過程中的接受率 可能偏小,採樣過程中拒絕了大量的轉移,導致收斂到穩定狀態的速度很慢。於是就有人想,有沒有什麼辦法能夠提高接受率呢?
根據細緻平穩條件,
於是,
可見分子和分母同比例放大或縮小等式恆成立,所以我們只需要讓分子和分母中較大的一個值放大到1,就可以將接受率提高到最大,也就是說讓
於是,經過改造的MCMC採樣算法就變成了教科書中最常見的 Metropolis-Hastings 算法:
到這裡,我們的MCMC把妹法就算是大功告成了,我們可以用它來估計小姐姐心情值的概率分布:
顯然,上面的值我們都是容易取到計算的, 也可以每日從小姐姐處獲得。然後我們姑且取最後100天的均值方差作為姑娘心情分布的均值和方差大抵也所差無幾了,如果假設前200多天已經收斂,那根據概率不等式,精度大概在0.1左右,已經是很好的估計了~
當你成功的運用MCMC把妹法估算出姑娘心情值分布之後,你將結果告訴了她,她計算並對比了一下自己記在自己小本子上的每日心情均值,和你給的差值盡然連1都不到,頓時感動的痛哭流涕,相見恨晚,撲向了你的懷抱,你從此過上了從此君王不早朝的幸福生活。
備註:實際上,上述的M-H採樣有個很大的缺點,因為接受率的存在,在高維的情形下不容易收斂,而且一些高維數據的特徵的聯合分布很不好求,因此一種更好的MCMC採樣方法是Gibbs採樣,鑒於跟今天所講的MCMC把妹法關係不大,改日單獨再講,到時把連接放這裡… Gibbs採樣
Gibbs分布
Gibbs分布是概率圖模型的基礎,在百度了一圈之後,發現大多數文章講的都是物理方面的定義和應用,後來在百度百科上找到這樣一句話:
假設有這樣一個場景:拋兩枚硬幣A,B,二者不獨立。硬幣A動過手腳,正面向上(記為1)的概率是0.6,反面向上(記為0)的概率是0.4;硬幣B,正面向上(記為1)的概率是0.5,反面向上(記為0)的概率是0.5(萬能的拋硬幣例子)。現今A、B兩枚硬幣的聯合分布為:
AB兩個隨機變量,假設隨機生成的序列為 ,然後從如下序列中進行隨機採樣(每次取連續兩個),當數據量足夠多時,可以觀察到如下現象:
這樣的採樣方法雖然直觀,但是當隨機變量較多時不方便使用
假設 的條件分布為:
假設 的條件分布為:
然後執行如下採樣流程:
當 足夠大時,可以發現A,B的聯合概率分布。
在下圖中,紫色代表初始分布,黑色的四個圈代表聯合分布。經過一段時間的迭代之後,可以看到紫色分布逐漸逼近黑色圓圈所代表的分布。
同樣的,要求多參數的聯合分布,只要執行如下流程即可。
如果兩個隨機變量相關程度很大,那麼Gibbs採樣的收斂速度將會非常慢,一般採取的方法是使用block方法,假設 具有很高的相關程度,那麼可以採用如下方式尋找其聯合分布:
人工智能一些術語總結
隨着智能時代慢慢的到來,有一些基本概念都不知道真的是要落伍了,作為正在積極學習向上的青年,我想總結一份筆記,此份筆記會記錄眾多AI領域的術語和概念,當然,學一部分記錄一部分,並且可能會夾雜着自己的一些理解,由於能力有限,有問題希望大家多多賜教。當然,由於內容太多,僅僅只是記錄了中英名對照,有的加上了簡單的解釋,沒加的後續大家有需求,我會慢慢完善~~。目錄暫定以首字母的字典序排序。可以當作目錄方便以後查閱~~建議收藏加點贊哈哈哈
————————————————這裡是分割線————————————————–
A
準確率(accuracy)
分類模型預測準確的比例。
二分類問題中,準確率定義為:accuracy = (true positives +true negatives)/all samples
多分類問題中,準確率定義為:accuracy = correctpredictions/all samples
激活函數(activation function)
一種函數,將前一層所有神經元激活值的加權和 輸入到一個非線性函數中,然後作為下一層神經元的輸入,例如 ReLU 或 Sigmoid
AdaGrad
一種複雜的梯度下降算法,重新調節每個參數的梯度,高效地給每個參數一個單獨的學習率。
AUC(曲線下面積)
一種考慮到所有可能的分類閾值的評估標準。ROC 曲線下面積代表分類器隨機預測真正類(Ture Positives)要比假正類(False Positives)概率大的確信度。
Adversarial example(對抗樣本)
Adversarial Networks(對抗網絡)
Artificial General Intelligence/AGI(通用人工智能)
Attention mechanism(注意力機制)
Autoencoder(自編碼器)
Automatic summarization(自動摘要)
Average gradient(平均梯度)
Average-Pooling(平均池化)
B
反向傳播(Backpropagation/BP)
神經網絡中完成梯度下降的重要算法。首先,在前向傳播的過程中計算每個節點的輸出值。然後,在反向傳播的過程中計算與每個參數對應的誤差的偏導數。
基線(Baseline)
被用為對比模型表現參考的簡單模型。
批量(Batch)
模型訓練中一個迭代(指一次梯度更新)使用的樣本集。
批量大小(Batch size)
一個批量中樣本的數量。例如,SGD 的批量大小為 1,而 mini-batch 的批量大小通常在 10-1000 之間。
偏置(Bias)
與原點的截距或偏移量。
二元分類器(Binary classification)
一類分類任務,輸出兩個互斥類別中的一個。比如垃圾郵件檢測。
詞袋(Bag of words/Bow)
基學習器(Base learner)
基學習算法(Base learning algorithm)
貝葉斯網絡(Bayesian network)
基準(Bechmark)
信念網絡(Belief network)
二項分布(Binomial distribution)
玻爾茲曼機(Boltzmann machine)
自助採樣法/可重複採樣/有放回採樣(Bootstrap sampling)
廣播(Broadcasting)
C
類別(Class)
所有同類屬性的目標值作為一個標籤。
分類模型(classification)
機器學習模型的一種,將數據分離為兩個或多個離散類別。
收斂(convergence)
訓練過程達到的某種狀態,其中訓練損失和驗證損失在經過了確定的迭代次數後,在每一次迭代中,改變很小或完全不變。
凸函數(concex function)
一種形狀大致呈字母 U 形或碗形的函數。然而,在退化情形中,凸函數的形狀就像一條線。
成本(cost)
loss 的同義詞。深度學習模型一般都會定義自己的loss函數。
交叉熵(cross-entropy)
多類別分類問題中對 Log 損失函數的推廣。交叉熵量化兩個概率分布之間的區別。
條件熵(Conditional entropy)
條件隨機場(Conditional random field/CRF)
置信度(Confidence)
共軛方向(Conjugate directions)
共軛分布(Conjugate distribution)
共軛梯度(Conjugate gradient)
卷積神經網絡(Convolutional neural network/CNN)
餘弦相似度(Cosine similarity)
成本函數(Cost Function)
曲線擬合(Curve-fitting)
D
數據集(data set)
樣本的集合
深度模型(deep model)
一種包含多個隱藏層的神經網絡。深度模型依賴於其可訓練的非線性性質。和寬度模型對照(widemodel)。
dropout 正則化(dropoutregularization)
訓練神經網絡時一種有用的正則化方法。dropout 正則化的過程是在單次梯度計算中刪去一層網絡中隨機選取的固定數量的單元。刪去的單元越多,正則化越強。
數據挖掘(Data mining)
決策樹/判定樹(Decisiontree)
深度神經網絡(Deep neural network/DNN)
狄利克雷分布(Dirichlet distribution)
判別模型(Discriminative model)
下採樣(Down sampling)
動態規劃(Dynamic programming)
E
早期停止法(early stopping)
一種正則化方法,在訓練損失完成下降之前停止模型訓練過程。當驗證數據集(validationdata set)的損失開始上升的時候,即泛化表現變差的時候,就該使用早期停止法了。
嵌入(embeddings)
一類表示為連續值特徵的明確的特徵。嵌入通常指將高維向量轉換到低維空間中。
經驗風險最小化(empirical risk minimization,ERM)
選擇能使得訓練數據的損失函數最小化的模型的過程。和結構風險最小化(structualrisk minimization)對照。
集成(ensemble)
多個模型預測的綜合考慮。可以通過以下一種或幾種方法創建一個集成方法:
設置不同的初始化;
設置不同的超參量;
設置不同的總體結構。
深度和廣度模型是一種集成。
樣本(example)
一個數據集的一行內容。一個樣本包含了一個或多個特徵,也可能是一個標籤。參見標註樣本(labeledexample)和無標註樣本(unlabeled example)。
F
假負類(false negative,FN)
被模型錯誤的預測為負類的樣本。例如,模型推斷一封郵件為非垃圾郵件(負類),但實際上這封郵件是垃圾郵件。
假正類(false positive,FP)
被模型錯誤的預測為正類的樣本。例如,模型推斷一封郵件為垃圾郵件(正類),但實際上這封郵件是非垃圾郵件。
假正類率(false positive rate,FP rate)
ROC 曲線(ROC curve)中的 x 軸。FP 率的定義是:假正率=假正類數/(假正類數+真負類數)
特徵工程(feature engineering)
在訓練模型的時候,挖掘對模型效果有利的特徵。
前饋神經網絡(Feedforward Neural Networks/FNN )
G
泛化(generalization)
指模型利用新的沒見過的數據而不是用於訓練的數據作出正確的預測的能力。
廣義線性模型(generalized linear model)
最小二乘回歸模型的推廣/泛化,基於高斯噪聲,相對於其它類型的模型(基於其它類型的噪聲,比如泊松噪聲,或類別噪聲)。廣義線性模型的例子包括:
logistic 回歸
多分類回歸
最小二乘回歸
梯度(gradient)
所有變量的偏導數的向量。在機器學習中,梯度是模型函數的偏導數向量。梯度指向最陡峭的上升路線。
梯度截斷(gradient clipping)
在應用梯度之前先修飾數值,梯度截斷有助於確保數值穩定性,防止梯度爆炸出現。
梯度下降(gradient descent)
通過計算模型的相關參量和損失函數的梯度最小化損失函數,值取決於訓練數據。梯度下降迭代地調整參量,逐漸靠近權重和偏置的最佳組合,從而最小化損失函數。
圖(graph)
在 TensorFlow 中的一種計算過程展示。圖中的節點表示操作。節點的連線是有指向性的,表示傳遞一個操作(一個張量)的結果(作為一個操作數)給另一個操作。使用 TensorBoard 能可視化計算圖。
高斯核函數(Gaussian kernel function)
高斯混合模型(Gaussian Mixture Model)
高斯過程(Gaussian Process)
泛化誤差(Generalization error)
生成模型(Generative Model)
遺傳算法(Genetic Algorithm/GA)
吉布斯採樣(Gibbs sampling)
基尼指數(Gini index)
梯度下降(Gradient Descent)
H
啟發式(heuristic)
一個問題的實際的和非最優的解,但能從學習經驗中獲得足夠多的進步。
隱藏層(hidden layer)
神經網絡中位於輸入層(即特徵)和輸出層(即預測)之間的合成層。一個神經網絡包含一個或多個隱藏層。
超參數(hyperparameter)
連續訓練模型的過程中可以擰動的「旋鈕」。例如,相對於模型自動更新的參數,學習率(learningrate)是一個超參數。和參量對照。
硬間隔(Hard margin)
隱馬爾可夫模型(Hidden Markov Model/HMM)
層次聚類(Hierarchical clustering)
假設檢驗(Hypothesis test)
I
獨立同分布(independently and identicallydistributed,i.i.d)
從不會改變的分布中獲取的數據,且獲取的每個值不依賴於之前獲取的值。i.i.d. 是機器學習的理想情況——一種有用但在現實世界中幾乎找不到的數學構建。
推斷(inference)
在機器學習中,通常指將訓練模型應用到無標註樣本來進行預測的過程。在統計學中,推斷指在觀察到的數據的基礎上擬合分布參數的過程。
輸入層(input layer)
神經網絡的第一層(接收輸入數據)。
評分者間一致性(inter-rater agreement)
用來衡量一項任務中人類評分者意見一致的指標。如果意見不一致,則任務說明可能需要改進。有時也叫標註者間信度(inter-annotator agreement)或評分者間信度(inter-raterreliability)。
增量學習(Incremental learning)
獨立成分分析(Independent Component Analysis/ICA)
獨立子空間分析(Independent subspace analysis)
信息熵(Information entropy)
信息增益(Information gain)
J
JS 散度(Jensen-ShannonDivergence/JSD)
K
Kernel 支持向量機(KernelSupport Vector Machines/KSVM)
一種分類算法,旨在通過將輸入數據向量映射到更高維度的空間使正類和負類之間的邊際最大化。例如,考慮一個輸入數據集包含一百個特徵的分類問題。為了使正類和負類之間的間隔最大化,KSVM 從內部將特徵映射到百萬維度的空間。KSVM 使用的損失函數叫作 hinge 損失。
核方法(Kernel method)
核技巧(Kernel trick)
k 折交叉驗證/k 倍交叉驗證(K-fold cross validation)
K – 均值聚類(K-MeansClustering)
K近鄰算法(K-Nearest NeighboursAlgorithm/KNN)
知識圖譜(Knowledge graph)
知識庫(Knowledge base)
知識表徵(Knowledge Representation)
L
L1 損失函數(L1 loss)
損失函數基於模型對標籤的預測值和真實值的差的絕對值而定義。L1 損失函數比起 L2 損失函數對異常值的敏感度更小。
L1 正則化(L1regularization)
一種正則化,按照權重絕對值總和的比例進行懲罰。在依賴稀疏特徵的模型中,L1 正則化幫助促使(幾乎)不相關的特徵的權重趨近於 0,從而從模型中移除這些特徵。
L2 損失(L2 loss)
參見平方損失。
L2 正則化(L2regularization)
一種正則化,按照權重平方的總和的比例進行懲罰。L2 正則化幫助促使異常值權重更接近 0 而不趨近於 0。(可與 L1 正則化對照閱讀。)L2 正則化通常改善線性模型的泛化效果。
標籤(label)
在監督式學習中,樣本的「答案」或「結果」。標註數據集中的每個樣本包含一或多個特徵和一個標籤。在垃圾郵件檢測數據集中,特徵可能包括主題、發出者何郵件本身,而標籤可能是「垃圾郵件」或「非垃圾郵件」。
標註樣本(labeled example)
包含特徵和標籤的樣本。在監督式訓練中,模型從標註樣本中進行學習。
學習率(learning rate)
通過梯度下降訓練模型時使用的一個標量。每次迭代中,梯度下降算法使學習率乘以梯度,乘積叫作 gradient step。學習率是一個重要的超參數。
最小二乘回歸(least squares regression)
通過 L2 損失最小化進行訓練的線性回歸模型。
線性回歸(linear regression)
對輸入特徵的線性連接輸出連續值的一種回歸模型。
logistic 回歸(logisticregression)
將 sigmoid 函數應用於線性預測,在分類問題中為每個可能的離散標籤值生成概率的模型。儘管 logistic 回歸常用於二元分類問題,但它也用於多類別分類問題(這種情況下,logistic回歸叫作「多類別 logistic 回歸」或「多項式 回歸」。
對數損失函數(Log Loss)
二元 logistic 回歸模型中使用的損失函數。
損失(Loss)
度量模型預測與標籤距離的指標,它是度量一個模型有多糟糕的指標。為了確定損失值,模型必須定義損失函數。例如,線性回歸模型通常使用均方差作為損失函數,而 logistic 回歸模型使用對數損失函數。
隱狄利克雷分布(Latent Dirichlet Allocation/LDA)
潛在語義分析(Latent semantic analysis)
線性判別(Linear Discriminant Analysis/LDA)
長短期記憶(Long-Short Term Memory/LSTM)
M
機器學習(machine learning)
利用輸入數據構建(訓練)預測模型的項目或系統。該系統使用學習的模型對與訓練數據相同分布的新數據進行有用的預測。機器學習還指與這些項目或系統相關的研究領域。
均方誤差(Mean Squared Error/MSE)
每個樣本的平均平方損失。MSE 可以通過平方損失除以樣本數量來計算。
小批量(mini-batch)
在訓練或推斷的一個迭代中運行的整批樣本的一個小的隨機選擇的子集。小批量的大小通常在10 到 1000 之間。在小批量數據上計算損失比在全部訓練數據上計算損失要高效的多。
機器翻譯(Machine translation/MT)
馬爾可夫鏈蒙特卡羅方法(Markov Chain Monte Carlo/MCMC)
馬爾可夫隨機場(Markov Random Field)
多文檔摘要(Multi-document summarization)
多層感知器(Multilayer Perceptron/MLP)
多層前饋神經網絡(Multi-layer feedforward neuralnetworks)
N
NaN trap
訓練過程中,如果模型中的一個數字變成了 NaN,則模型中的很多或所有其他數字最終都變成 NaN。NaN 是「Not aNumber」的縮寫。
神經網絡(neural network)
該模型從大腦中獲取靈感,由多個層組成(其中至少有一個是隱藏層),每個層包含簡單的連接單元或神經元,其後是非線性。
神經元(neuron)
神經網絡中的節點,通常輸入多個值,生成一個輸出值。神經元通過將激活函數(非線性轉換)應用到輸入值的加權和來計算輸出值。
歸一化(normalization)
將值的實際區間轉化為標準區間的過程,標準區間通常是-1 到+1 或 0 到 1。例如,假設某個特徵的自然區間是 800 到 6000。通過減法和分割,你可以把那些值標準化到區間-1 到+1。參見縮放。
Numpy
Python 中提供高效數組運算的開源數學庫。pandas 基於 numpy 構建。
Naive bayes(樸素貝葉斯)
Naive Bayes Classifier(樸素貝葉斯分類器)
Named entity recognition(命名實體識別)
Natural language generation/NLG(自然語言生成)
Natural language processing(自然語言處理)
Norm(範數)
O
目標(objective)
算法嘗試優化的目標函數。
one-hot 編碼(獨熱編碼)(one-hotencoding)
一個稀疏向量,其中:一個元素設置為 1,所有其他的元素設置為 0。。
一對多(one-vs.-all)
給出一個有 N 個可能解決方案的分類問題,一對多解決方案包括 N 個獨立的二元分類器——每個可能的結果都有一個二元分類器。例如,一個模型將樣本分為動物、蔬菜或礦物,則一對多的解決方案將提供以下三種獨立的二元分類器:
動物和非動物
蔬菜和非蔬菜
礦物和非礦物
過擬合(overfitting)
創建的模型與訓練數據非常匹配,以至於模型無法對新數據進行正確的預測
Oversampling(過採樣)
P
pandas
一種基於列的數據分析 API。很多機器學習框架,包括 TensorFlow,支持 pandas 數據結構作為輸入。參見 pandas 文檔。
參數(parameter)
機器學習系統自行訓練的模型的變量。例如,權重是參數,它的值是機器學習系統通過連續的訓練迭代逐漸學習到的。注意與超參數的區別。
性能(performance)
在軟件工程中的傳統含義:軟件運行速度有多快/高效?
在機器學習中的含義:模型的準確率如何?即,模型的預測結果有多好?
困惑度(perplexity)
對模型完成任務的程度的一種度量指標。例如,假設你的任務是閱讀用戶在智能手機上輸入的單詞的頭幾個字母,並提供可能的完整單詞列表。該任務的困惑度(perplexity,P)是為了列出包含用戶實際想輸入單詞的列表你需要進行的猜測數量。
流程(pipeline)
機器學習算法的基礎架構。管道包括收集數據、將數據放入訓練數據文件中、訓練一或多個模型,以及最終輸出模型。
Principal component analysis/PCA(主成分分析)
Precision(查准率/準確率)
Prior knowledge(先驗知識)
Q
Quasi Newton method(擬牛頓法)
R
召回率(recall)
回歸模型(regression model)
一種輸出持續值(通常是浮點數)的模型。而分類模型輸出的是離散值。
正則化(regularization)
對模型複雜度的懲罰。正則化幫助防止過擬合。正則化包括不同種類:
L1 正則化
L2 正則化
dropout 正則化
early stopping(這不是正式的正則化方法,但可以高效限制過擬合)
正則化率(regularization rate)
一種標量級,用 lambda 來表示,指正則函數的相對重要性。從下面這個簡化的損失公式可以看出正則化率的作用:
minimize(loss function + λ(regularization function))
提高正則化率能夠降低過擬合,但可能會使模型準確率降低。
表徵(represention)
將數據映射到有用特徵的過程。
受試者工作特徵曲線(receiver operatingcharacteristic/ROC Curve)
反映在不同的分類閾值上,真正類率和假正類率的比值的曲線。參見 AUC。
Recurrent Neural Network(循環神經網絡)
Recursive neural network(遞歸神經網絡)
Reinforcement learning/RL(強化學習)
Re-sampling(重採樣法)
Representation learning(表徵學習)
Random Forest Algorithm(隨機森林算法)
S
縮放(scaling)
特徵工程中常用的操作,用於控制特徵值區間,使之與數據集中其他特徵的區間匹配。例如,假設你想使數據集中所有的浮點特徵的區間為 0 到 1。給定一個特徵區間是 0 到 500,那麼你可以通過將每個值除以 500,縮放特徵值區間。還可參見正則化。
scikit-learn
一種流行的開源機器學習平台。網址:。
序列模型(sequence model)
輸入具有序列依賴性的模型。例如,根據之前觀看過的視頻序列對下一個視頻進行預測。
Sigmoid 函數(sigmoid function)
softmax
為多類別分類模型中每個可能的類提供概率的函數。概率加起來的總和是 1.0。例如,softmax 可能檢測到某個圖像是一隻狗的概率為 0.9,是一隻貓的概率為 0.08,是一匹馬的概率為 0.02。(也叫作 full softmax)。
結構風險最小化(structural risk minimization/SRM)
這種算法平衡兩個目標:
構建預測性最強的模型(如最低損失)。
使模型盡量保持簡單(如強正則化)。
比如,在訓練集上的損失最小化 + 正則化的模型函數就是結構風險最小化算法。更多信息,參見 。可與經驗風險最小化對照閱讀。
監督式機器學習(supervised machine learning)
利用輸入數據及其對應標籤來訓練模型。監督式機器學習類似學生通過研究問題和對應答案進行學習。在掌握問題和答案之間的映射之後,學生就可以提供同樣主題的新問題的答案了。可與非監督機器學習對照閱讀。
Similarity measure(相似度度量)
Singular Value Decomposition(奇異值分解)
Soft margin(軟間隔)
Soft margin maximization(軟間隔最大化)
Support Vector Machine/SVM(支持向量機)
T
張量(tensor)
TensorFlow 項目的主要數據結構。張量是 N 維數據結構(N 的值很大),經常是標量、向量或矩陣。張量可以包括整數、浮點或字符串值。
Transfer learning(遷移學習)
U
無標籤樣本(unlabeled example)
包含特徵但沒有標籤的樣本。無標籤樣本是推斷的輸入。在半監督學習和無監督學習的訓練過程中,通常使用無標籤樣本。
無監督機器學習(unsupervised machine learning)
訓練一個模型尋找數據集(通常是無標籤數據集)中的模式。無監督機器學習最常用於將數據分成幾組類似的樣本。無監督機器學習的另一個例子是主成分分析(principal componentanalysis,PCA)
W
Word embedding(詞嵌入)
Word sense disambiguation(詞義消歧)
無監督第一節:PCA 詳細介紹及 kernal PCA ,probabilistic PCA
主成分分析(Principal Component Analysis,PCA)是非常經典的降維算法,屬於無監督降維,做機器學習的應該都有所了解。但是,除了基本的PCA推導和應用之外,還有SparsePCA、KernelPCA、TruncatedSVD等等,另外PCA和特徵值、奇異值的關係以及SparsePCA和字典學習(Dict Learning,Lasso)的關係等等,也是比較有趣的事情。
PCA是一種線性的降維方法,並且是利用 正交變換 作為映射矩陣,主要步驟是:對於一個高維空間的數據樣本 ,利用正交矩陣 將樣本映射到低維空間 ,其中dn 起到了降維的作用。
那麼PCA該如何選擇矩陣 A_{nd}呢?
1.為什麼要最大方差?
考慮下面數據樣本為二維的情形,即n = 2,在Figure 1中,數據樣本呈現橢圓分布,我們現在要把二維降為一維d = 1,相當於是選擇一個單位向量 ,將 所有的數據點投影到這個向量上來,如圖中所示,畫出的四個紅色帶箭頭的線條代表的是候選向量,那麼要選哪一個作為最優的呢?
PCA的假設偏好是:數據在低維空間越分散越好。假設我們選擇了上圖中朝向為左上方的向量,那麼將數據點全部投影到這個方向上面,那麼就會導致數據點都“擁擠”在了一起,對後續分類或其它任務造成了很不友好的影響。所以,PCA選的是圖中朝向右上方比較粗的那個作為最合適的 [圖片上傳失敗…(image-8aef14-1586173690384)] ,這樣得到的映射後的數據點很分散,對後續任務有利。
我們想要最大化方差,通過一個單位向量w使得投影到這個向量的值方差最大,達到分散的效果。(選擇單位向量的原因是我們只關心其方向,並不關心其大小。
其中 。
其中投影數據的方差:
其中S是數據的協方差矩陣,定義為
想要投影數據的方差最大,必須對 增加限制,這裡的限制就是 為單位向量。
通過引入拉格朗日方法:
上式對 求導後得到:
這表明 是S的一個特徵向量,如果上式左乘 得到
上式中可以看出,方差的值為特徵值,當 為特徵值 對應的特徵向量。想要最大時,需要 最大。
PCA的應用:
1.數據壓縮
2.數據預處理
3.數據可視化
可以先通過採樣方式,計算採樣矩陣的的特徵值和特徵向量。用採樣矩陣的特徵值和特徵向量還原原矩陣。
引入潛在變量z,對應主成分的子空間,其服從高斯分布。z的先驗分布時服從標準正態分布。
同樣以潛在變量z為條件,觀測變量x的條件概率服從正態分布
我們可以從生成式的觀點來看概率PCA模型,具體來說就是D維觀測變量x 由M維潛在變量z的一個線性變換,附加一個高斯噪聲來獲得。即
其中 是一個D維0均值高斯分布的噪聲變量,協方差為 。
其中
對似然函數求導,得到
帶到上式中得到:
其中S為協方差矩陣。
之後通過EM算法來求解W矩陣。
由於PCA時線性變換,往往具有較大的局限性。在SVM中 使用核方法來替換標量積,將這種方法應用到PCA中,得到一個非線形的推廣。
考慮之前的推導結果:
其中x進行0均值標準化,那麼
考慮到一個M維特徵空間的一個非線性變換 , 將每個數據點 投影到 上,我們可以得到特徵空間的協方差矩陣為:
特徵向量展開為:
令
則
這樣我們可以得到C的特徵向量是由 ,… 組成的。
用核函數 來表示,帶入上式,左右兩端同時乘以 可以得到
用矩陣形式來表示為:
同時去掉一個K
求解下面的特徵值方程:
下一步我們只要求出K即可。
經過推導可以得到
可以根據K求出特徵向量 .
下一節中將講解求解PCA的另一個視角SVD。
reference:
3.
4.
採樣方法
拒絕採樣,又叫接受/拒絕採樣(Accept-Reject Sampling)。對於目標分布p(x),選取一個容易採樣的參考分布q(x),使得對於任意x都有,則可以按如下過程進行採樣:
逆變換採樣
均勻法
在平時生成隨機數的時候,實際上用的就是均勻採樣,主要是掌握線性同餘法。
拒絕採樣,重要性採樣
在高維空間中,拒絕採樣和重要性重採樣經常難以尋找合適的參考分布,採樣效率低下(樣本的接受概率小或重要性權重低),此時可以考慮馬爾可夫蒙特卡洛(Markov Chain Monte Carlo,MCMC)採樣
從名字看,MCMC採樣法主要包括兩個MC,即蒙特卡洛法(Monte Carlo)和馬爾可夫鏈(Markov Chain)。蒙特卡洛法是指基於採樣的數值型近似求解方法,而馬爾可夫鏈則用於進行採樣。MCMC採樣法基本思想是:針對待採樣的目標分布,構造一個馬爾可夫鏈,使得該馬爾可夫鏈的平穩分布就是目標分布;然後,從任何一個初始狀態出發,沿着馬爾可夫鏈進行狀態轉移,最終得到的狀態轉移序列會收斂到目標分布,由此可以得到目標分布的一系列樣本。在實際操作中,核心點是如何構造合適的馬爾可夫鏈,即確定馬爾可夫鏈的狀態轉移概率,這涉及一些馬爾可夫鏈的相關知識點,如時齊性、細緻平衡條件、可遍歷性、平穩分布等
Gibbs Sampling解決了什麼問題
對於高維的情形,由於接受率a的存在(通常a 1), 以上 Metropolis-Hastings 算法的效率不夠高。能否找到一個轉移矩陣Q使得接受率a=1呢?
不需要接受率了,根據細緻平穩分布。
對數據進行重採樣,使原本不均衡的樣本變得均衡
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/244961.html