1. 程式人生 > >面試筆試整理4:機器學習面試問題準備(進階)

面試筆試整理4:機器學習面試問題準備(進階)

這部分主要是針對上面問題的一些更細節的補充,包括公式的推倒思路、模型的基本構成、細節問題的分析等等。

一、問題雜燴

1、PCA的第二主成分
第二個主成分時域第一成分方向正教的差異性次大方向。
2、什麼時候用組合的學習模型
只有當各個模型之間沒有相關性的時候組合起來是最好用的。但是一般來說,弱相關的模型組合比較好用。
3、多重共線性
多重共線性是指當兩個特徵的相關性很大的時候,會對引數模型造成非常大的影響。可以用相關分析判斷多重共線性的存在性。
4、什麼時候用L2優於L1
如果多個變數都是一些具有小尺度或中等尺度影響的時候用L2比較好,如果個別變數影響很大的時候用L1。其實也可以結合起來使用。
5、交叉驗證的引數選擇問題
我們通常進行引數選擇的時候都是用網格法做的,但是這樣其實也是有弊端的,索性可以用隨機取樣的方式逼近最優引數。
6、如果缺失值超過30%要怎麼辦?
可以把缺失值單獨組成一類。

二、模型流程和公式推導

1、PCA傳統計算流程:

  1. 去除均值
  2. 計算協方差矩陣
  3. 計算特徵值和特徵向量
  4. 特徵值從大到小排序
  5. 保留前N個特徵向量
  6. 投影重構(記得吧去除的均值還回去)

或者乾脆去均值後用SVD計算

2、離散資料下的生成模型
(1)貝葉斯概念
我們都知道概率學派和貝葉斯學派的不同,現在我們從貝葉斯的角度上考慮問題。對於一個問題,通常要考慮其先驗概率,這是因為對於某些資料不足或有某些問題的情況下,單純考慮似然函式是不夠的,還需要引入假設先驗給一個主觀的先驗概率,而且在真正分析的時候應該引入假設空間D的概念(滿足要求的所有假設),後驗就相當於給定假設空間D下的其中某一個假設D的概率P(h|D)。
其實本質上最大後驗估計MAP是等價於最大似然估計的,即資料點足夠多的時候會淹沒先驗。
利用得到的後驗進行預測需要後驗預測分佈(Posterior pordictive distribution),方法是對每一個獨立假設的加權均值(稱之為Bayes model averaging)
我們使用MAP的時候都要對先驗進行一些假設,而這些假設對應的先驗函式和似然函式通常是共軛

的,這樣方便計算,關於共軛分佈的概念其實很簡單,常用的幾個瞭解就可以。
(2)樸素貝葉斯分類器
樸素貝葉斯是最簡單的分類器之一了,根本是假設各個特徵之間是獨立同分布的,也就是說P(X|y)=P(x1|y)*…P(xn|y)。我們可以假設特徵x的分佈,比如:在特徵為real-value的時候,可以假設特徵分佈為高斯分佈、在特徵為二元特徵的時候假設為Bernoulli分佈、在類別特徵的時候假設為multinoulli分佈(我們通常見到的)。通常我們看到的Laplace平滑實際上是對引數的先驗分佈(但是這個先驗可以只看出一個附加條件)。
具體的關於樸素貝葉斯的推導和使用見這裡。補充一點,貝葉斯是可以進行線上學習的。但是要知道貝葉斯其實可以變得更復雜。

3、Gaussian高斯模型的高斯判別分析
對於多元高斯分佈來說,他的共軛分佈也是多元高斯分佈,關於多元高斯分佈的最大似然結果可以自己查查資料。這裡主要說的是高斯判別分析。
高斯判別分析假設p(X,y=c,θ)= N(X|μ,Σ )服從多元高斯分佈,當Σ為對角矩陣的時候起始就是上面說的樸素貝葉斯了。我們通常說到的Linear discriminant analysis(LDA)其實就是高斯判別模型的一種,假設所有類別的協方差矩陣都是相同的,這時求解後驗分佈的時候得到的就是LDA。當然協方差矩陣不同的時候對應的QDA(Quadratic discriminant analysis,二次判別分析)。這個相當於我們對於通常定義LDA**最大化類間距最小化類內距離**實際上是等價的。

4、Logistic regression和指數分佈族
這裡將會從兩個角度看一下邏輯迴歸的推導過程。
(1)邏輯迴歸推導
這個很簡單,網上隨便找一個都有,就是求解MLE而已。但是除了二元的邏輯迴歸還應該知道多元邏輯迴歸的條件概率由sigmoid變為softmax。
(2)邏輯迴歸的廣義線性模型解釋
首先要知道什麼是廣義線性模型:廣義線性模型是指輸出概率是指數分佈族的y|x;θ∼ExpoentialFamily(η),而且指數分佈族的自然引數η的是x的線性組合。這個我掌握的不是很好,但是如果面試的時候講出來效果應該不錯。
(3)邏輯迴歸輸出值是不是概率
答案是肯定的,解釋在這裡,其實用廣義線性模型的思路說更好,但是實在是對概念掌握的不好。

5、SVM支援向量機
(1)支援向量機的公式推導,要詳細到KKT條件。
(2)可以進一步結合核函式和GLM引出核機的概念。

6、概率圖模型
有向圖、無向圖等

三、重要概念

1、監督學習的生成模型和判別模型
這可以說是一個最基礎的問題,但是深挖起來又很複雜,面試的時候應該說出幾個有亮點的部分。
(1)基本說法
生成模型是由資料學習聯合概率分佈P(X,Y),然後再求出條件概率分佈P(Y|X),典型的生成模型有樸素貝葉斯和馬爾科夫模型。
判別模型就是直接學習判別函式或者是條件概率分佈,應該是更直接一些。兩者各有優缺點。
(2)進階區分
* 應該說生成模型的假設性更強一些,因為通常是從後驗分佈的角度思考問題,通常對x的分佈進行了一些假設。
* 訓練過程中,對於判別模型通常是最大化對數似然,對生成模型則是最大化聯合對數似然函式
* 因為生成模型對於特徵的分佈都做出了一定的假設(如高斯判別模型假設特徵分佈滿足多元高斯分佈),所以如果對於特徵的分佈估計比較正確的情況下,生成模型的速度更好準確性也更高。
* 生成模型在訓練資料的時候對於每一類資料的都是獨立估計的(也就是每一類的引數不同),這也就說明如果有新類別加入的情況下,是不需要對原有類別進行重新訓練的
* 對於半監督學習,生成模型往往更有用
* 生成模型有一個大的缺點就是不能對特徵進行某些預處理(如特徵對映),因為預處理後的資料分佈往往有了很大的變化。

2、頻率學派的一些基本理論
(1)期望損失(風險函式)、經驗損失(經驗風險)、結構風險
期望損失:理論上知道模型後得到的平均損失較期望損失(依賴於真實分佈),但是模型正是我們要求的
經驗損失:經驗損失指標對模型的抽樣值(訓練集)進行平均的損失估計,根據大數定律當訓練資料足夠的時候經驗損失和期望損失是等價的
結構風險:經驗損失是假設經驗分佈和自然分佈相同時得到的,但是這樣會造成過擬合,所以引入了正則化,懲罰模型複雜度。
(2)極大似然MLE、極大後驗MAP
因為我們有的時候利用經驗損失求解的時候會遇到不好求解的問題(如不連續0-1)這是可以用對數極大似然估計等價的對引數進行分析。
同理最大後驗利用先驗概率達到懲罰模型的作用。如l2-norm嶺迴歸對應高斯先驗、L1對應拉普拉斯先驗。