原文連接: https://blog.csdn.net/sinat_35512245/article/details/78796328html
1.請簡要介紹下SVM。前端
SVM,全稱是support vector machine,中文名叫支持向量機。SVM是一個面向數據的分類算法,它的目標是爲肯定一個分類超平面,從而將不一樣的數據分隔開。python
擴展:git
支持向量機學習方法包括構建由簡至繁的模型:線性可分支持向量機、線性支持向量機及非線性支持向量機。當訓練數據線性可分時,經過硬間隔最大化,學習一個線性的分類器,即線性可分支持向量機,又稱爲硬間隔支持向量機;當訓練數據近似線性可分時,經過軟間隔最大化,也學習一個線性的分類器,即線性支持向量機,又稱爲軟間隔支持向量機;當訓練數據線性不可分時,經過使用核技巧及軟間隔最大化,學習非線性支持向量機。程序員
支持向量機通俗導論(理解SVM的三層境界)面試
機器學習之深刻理解SVM算法
2.請簡要介紹下Tensorflow的計算圖。數據庫
@寒小陽:Tensorflow是一個經過計算圖的形式來表述計算的編程系統,計算圖也叫數據流圖,能夠把計算圖看作是一種有向圖,Tensorflow中的每個計算都是計算圖上的一個節點,而節點之間的邊描述了計算之間的依賴關係。編程
3.請問GBDT和XGBoost的區別是什麼?bootstrap
@Xijun LI:XGBoost相似於GBDT的優化版,不管是精度仍是效率上都有了提高。與GBDT相比,具體的優勢有:
1.損失函數是用泰勒展式二項逼近,而不是像GBDT裏的就是一階導數;
2.對樹的結構進行了正則化約束,防止模型過分複雜,下降了過擬合的可能性;
3.節點分裂的方式不一樣,GBDT是用的基尼係數,XGBoost是通過優化推導後的。
知識點連接:集成學習總結
4.在k-means或kNN,咱們是用歐氏距離來計算最近的鄰居之間的距離。爲何不用曼哈頓距離?
曼哈頓距離只計算水平或垂直距離,有維度的限制。另外一方面,歐氏距離可用於任何空間的距離計算問題。由於,數據點能夠存在於任何空間,歐氏距離是更可行的選擇。例如:想象一下國際象棋棋盤,象或車所作的移動是由曼哈頓距離計算的,由於它們是在各自的水平和垂直方向作的運動。
5.百度2015校招機器學習筆試題。
知識點連接:百度2015校招機器學習筆試題
6.簡單說說特徵工程。
7.關於LR。
@rickjin:把LR從頭到腳都給講一遍。建模,現場數學推導,每種解法的原理,正則化,LR和maxent模型啥關係,LR爲啥比線性迴歸好。有很多會背答案的人,問邏輯細節就糊塗了。原理都會? 那就問工程,並行化怎麼作,有幾種並行化方式,讀過哪些開源的實現。還會,那就準備收了吧,順便逼問LR模型發展歷史。
聲明:因爲原文中的連接已經失效,故而本身補充了一個新的連接
知識點連接:機器學習之Logistic迴歸(邏輯蒂斯迴歸)
8.overfitting怎麼解決?
dropout、regularization、batch normalizatin
9.LR和SVM的聯繫與區別?
@朝陽在望,聯繫:
一、LR和SVM均可以處理分類問題,且通常都用於處理線性二分類問題(在改進的狀況下能夠處理多分類問題)
二、兩個方法均可以增長不一樣的正則化項,如L一、L2等等。因此在不少實驗中,兩種算法的結果是很接近的。
區別:
一、LR是參數模型,SVM是非參數模型。
二、從目標函數來看,區別在於邏輯迴歸採用的是Logistical Loss,SVM採用的是hinge loss.這兩個損失函數的目的都是增長對分類影響較大的數據點的權重,減小與分類關係較小的數據點的權重。
三、SVM的處理方法是隻考慮Support Vectors,也就是和分類最相關的少數點,去學習分類器。而邏輯迴歸經過非線性映射,大大減少了離分類平面較遠的點的權重,相對提高了與分類最相關的數據點的權重。
四、邏輯迴歸相對來講模型更簡單,好理解,特別是大規模線性分類時比較方便。而SVM的理解和優化相對來講複雜一些,SVM轉化爲對偶問題後,分類只須要計算與少數幾個支持向量的距離,這個在進行復雜核函數計算時優點很明顯,可以大大簡化模型和計算。
五、Logic 能作的 SVM能作,但可能在準確率上有問題,SVM能作的Logic有的作不了。
答案來源:機器學習常見面試問題(一)
10.LR與線性迴歸的區別與聯繫?
@nishizhen
我的感受邏輯迴歸和線性迴歸首先都是廣義的線性迴歸,
其次經典線性模型的優化目標函數是最小二乘,而邏輯迴歸則是似然函數,
另外線性迴歸在整個實數域範圍內進行預測,敏感度一致,而分類範圍,須要在[0,1]。邏輯迴歸就是一種減少預測範圍,將預測值限定爲[0,1]間的一種迴歸模型,於是對於這類問題來講,邏輯迴歸的魯棒性比線性迴歸的要好。
@乖乖癩皮狗:邏輯迴歸的模型本質上是一個線性迴歸模型,邏輯迴歸都是以線性迴歸爲理論支持的。但線性迴歸模型沒法作到sigmoid的非線性形式,sigmoid能夠輕鬆處理0/1分類問題。
11.爲何XGBoost要用泰勒展開,優點在哪裏?
@AntZ:XGBoost使用了一階和二階偏導, 二階導數有利於梯度降低的更快更準. 使用泰勒展開取得二階倒數形式, 能夠在不選定損失函數具體形式的狀況下用於算法優化分析.本質上也就把損失函數的選取和模型算法優化/參數選擇分開了. 這種去耦合增長了XGBoost的適用性。
12.XGBoost如何尋找最優特徵?是又放回仍是無放回的呢?
@AntZ:XGBoost在訓練的過程當中給出各個特徵的評分,從而代表每一個特徵對模型訓練的重要性.。XGBoost利用梯度優化模型算法, 樣本是不放回的(想象一個樣本連續重複抽出,梯度來回踏步會不會高興)。但XGBoost支持子採樣, 也就是每輪計算能夠不使用所有樣本。
13.談談判別式模型和生成式模型?
判別方法:由數據直接學習決策函數 Y = f(X),或者由條件分佈機率 P(Y|X)做爲預測模型,即判別模型。
生成方法:由數據學習聯合機率密度分佈函數 P(X,Y),而後求出條件機率分佈P(Y|X)做爲預測的模型,即生成模型。
由生成模型能夠獲得判別模型,但由判別模型得不到生成模型。
常見的判別模型有:K近鄰、SVM、決策樹、感知機、線性判別分析(LDA)、線性迴歸、傳統的神經網絡、邏輯斯蒂迴歸、boosting、條件隨機場
常見的生成模型有:樸素貝葉斯、隱馬爾可夫模型、高斯混合模型、文檔主題生成模型(LDA)、限制玻爾茲曼機
14.L1和L2的區別。
L1範數(L1 norm)是指向量中各個元素絕對值之和,也有個美稱叫「稀疏規則算子」(Lasso regularization)。
好比 向量A=[1,-1,3], 那麼A的L1範數爲 |1|+|-1|+|3|.
簡單總結一下就是:
L1範數: 爲x向量各個元素絕對值之和。
L2範數: 爲x向量各個元素平方和的1/2次方,L2範數又稱Euclidean範數或Frobenius範數
Lp範數: 爲x向量各個元素絕對值p次方和的1/p次方.
在支持向量機學習過程當中,L1範數實際是一種對於成本函數求解最優的過程,所以,L1範數正則化經過向成本函數中添加L1範數,使得學習獲得的結果知足稀疏化,從而方便人類提取特徵。
L1範數能夠使權值稀疏,方便特徵提取。
L2範數能夠防止過擬合,提高模型的泛化能力。
15.L1和L2正則先驗分別服從什麼分佈 ?
@齊同窗:面試中遇到的,L1和L2正則先驗分別服從什麼分佈,L1是拉普拉斯分佈,L2是高斯分佈。
16.CNN最成功的應用是在CV,那爲何NLP和Speech的不少問題也能夠用CNN解出來?爲何AlphaGo裏也用了CNN?這幾個不相關的問題的類似性在哪裏?CNN經過什麼手段抓住了這個共性?
@許韓
知識點連接(答案解析):深度學習崗位面試問題整理筆記
17.說一下Adaboost,權值更新公式。當弱分類器是Gm時,每一個樣本的的權重是w1,w2…,請寫出最終的決策公式。
答案解析
18.LSTM結構推導,爲何比RNN好?
推導forget gate,input gate,cell state, hidden information等的變化;由於LSTM有進有出且當前的cell informaton是經過input gate控制以後疊加的,RNN是疊乘,所以LSTM能夠防止梯度消失或者爆炸。
19.常常在網上搜索東西的朋友知道,當你不當心輸入一個不存在的單詞時,搜索引擎會提示你是否是要輸入某一個正確的單詞,好比當你在Google中輸入「Julw」時,系統會猜想你的意圖:是否是要搜索「July」,以下圖所示:
這叫作拼寫檢查。根據谷歌一員工寫的文章How to Write a Spelling Corrector顯示,Google的拼寫檢查基於貝葉斯方法。請說說的你的理解,具體Google是怎麼利用貝葉斯方法,實現」拼寫檢查」的功能。
用戶輸入一個單詞時,可能拼寫正確,也可能拼寫錯誤。若是把拼寫正確的狀況記作c(表明correct),拼寫錯誤的狀況記作w(表明wrong),那麼」拼寫檢查」要作的事情就是:在發生w的狀況下,試圖推斷出c。換言之:已知w,而後在若干個備選方案中,找出可能性最大的那個c,也就是求P(c|w)P(c|w)的最大值。而根據貝葉斯定理,有:
P(c|w)=P(w|c)P(c)P(w)
P(c|w)=P(w|c)P(c)P(w)
因爲對於全部備選的c來講,對應的都是同一個w,因此它們的P(w)是相同的,所以咱們只要最大化P(w|c)P(c)P(w|c)P(c)便可。其中:
P(c)表示某個正確的詞的出現」機率」,它能夠用」頻率」代替。若是咱們有一個足夠大的文本庫,那麼這個文本庫中每一個單詞的出現頻率,就至關於它的發生機率。某個詞的出現頻率越高,P(c)就越大。好比在你輸入一個錯誤的詞「Julw」時,系統更傾向於去猜想你可能想輸入的詞是「July」,而不是「Jult」,由於「July」更常見。
P(w|c)表示在試圖拼寫c的狀況下,出現拼寫錯誤w的機率。爲了簡化問題,假定兩個單詞在字形上越接近,就有越可能拼錯,P(w|c)就越大。舉例來講,相差一個字母的拼法,就比相差兩個字母的拼法,發生機率更高。你想拼寫單詞July,那麼錯誤拼成Julw(相差一個字母)的可能性,就比拼成Jullw高(相差兩個字母)。值得一提的是,通常把這種問題稱爲「編輯距離」,參見程序員編程藝術第二十八~二十九章:最大連續乘積子串、字符串編輯距離。
因此,咱們比較全部拼寫相近的詞在文本庫中的出現頻率,再從中挑出出現頻率最高的一個,便是用戶最想輸入的那個詞。具體的計算過程及此方法的缺陷請參見How to Write a Spelling Corrector。
20.爲何樸素貝葉斯如此「樸素」?
由於它假定全部的特徵在數據集中的做用是一樣重要和獨立的。正如咱們所知,這個假設在現實世界中是很不真實的,所以,說樸素貝葉斯真的很「樸素」。
21.機器學習中,爲什麼要常常對數據作歸一化?
@zhanlijun
本題解析來源:爲何一些機器學習模型須要對數據進行歸一化?
22.談談深度學習中的歸一化問題。
詳情參見此視頻:深度學習中的歸一化
23.請簡要說說一個完整機器學習項目的流程。
1 抽象成數學問題
明確問題是進行機器學習的第一步。機器學習的訓練過程一般都是一件很是耗時的事情,胡亂嘗試時間成本是很是高的。
這裏的抽象成數學問題,指的咱們明確咱們能夠得到什麼樣的數據,目標是一個分類仍是迴歸或者是聚類的問題,若是都不是的話,若是劃歸爲其中的某類問題。
2 獲取數據
數據決定了機器學習結果的上限,而算法只是儘量逼近這個上限。
數據要有表明性,不然必然會過擬合。
並且對於分類問題,數據偏斜不能過於嚴重,不一樣類別的數據數量不要有數個數量級的差距。
並且還要對數據的量級有一個評估,多少個樣本,多少個特徵,能夠估算出其對內存的消耗程度,判斷訓練過程當中內存是否可以放得下。若是放不下就得考慮改進算法或者使用一些降維的技巧了。若是數據量實在太大,那就要考慮分佈式了。
3 特徵預處理與特徵選擇
良好的數據要可以提取出良好的特徵才能真正發揮效力。
特徵預處理、數據清洗是很關鍵的步驟,每每可以使得算法的效果和性能獲得顯著提升。歸一化、離散化、因子化、缺失值處理、去除共線性等,數據挖掘過程當中不少時間就花在它們上面。這些工做簡單可複製,收益穩定可預期,是機器學習的基礎必備步驟。
篩選出顯著特徵、摒棄非顯著特徵,須要機器學習工程師反覆理解業務。這對不少結果有決定性的影響。特徵選擇好了,很是簡單的算法也能得出良好、穩定的結果。這須要運用特徵有效性分析的相關技術,如相關係數、卡方檢驗、平均互信息、條件熵、後驗機率、邏輯迴歸權重等方法。
4 訓練模型與調優
直到這一步纔用到咱們上面說的算法進行訓練。如今不少算法都可以封裝成黑盒供人使用。可是真正考驗水平的是調整這些算法的(超)參數,使得結果變得更加優良。這須要咱們對算法的原理有深刻的理解。理解越深刻,就越能發現問題的癥結,提出良好的調優方案。
5 模型診斷
如何肯定模型調優的方向與思路呢?這就須要對模型進行診斷的技術。
過擬合、欠擬合 判斷是模型診斷中相當重要的一步。常見的方法如交叉驗證,繪製學習曲線等。過擬合的基本調優思路是增長數據量,下降模型複雜度。欠擬合的基本調優思路是提升特徵數量和質量,增長模型複雜度。
偏差分析 也是機器學習相當重要的步驟。經過觀察偏差樣本,全面分析偏差產生偏差的緣由:是參數的問題仍是算法選擇的問題,是特徵的問題仍是數據自己的問題……
診斷後的模型須要進行調優,調優後的新模型須要從新進行診斷,這是一個反覆迭代不斷逼近的過程,須要不斷地嘗試, 進而達到最優狀態。
6 模型融合
通常來講,模型融合後都能使得效果有必定提高。並且效果很好。
工程上,主要提高算法準確度的方法是分別在模型的前端(特徵清洗和預處理,不一樣的採樣模式)與後端(模型融合)上下功夫。由於他們比較標準可複製,效果比較穩定。而直接調參的工做不會不少,畢竟大量數據訓練起來太慢了,並且效果難以保證。
7 上線運行
這一部份內容主要跟工程實現的相關性比較大。工程上是結果導向,模型在線上運行的效果直接決定模型的成敗。 不單純包括其準確程度、偏差等狀況,還包括其運行的速度(時間複雜度)、資源消耗程度(空間複雜度)、穩定性是否可接受。
這些工做流程主要是工程實踐上總結出的一些經驗。並非每一個項目都包含完整的一個流程。這裏的部分只是一個指導性的說明,只有你們本身多實踐,多積累項目經驗,纔會有本身更深入的認識。
故,基於此,七月在線每一期ML算法班都特此增長特徵工程、模型調優等相關課。好比,這裏有個公開課視頻《特徵處理與特徵選擇》。
24.new 和 malloc的區別?
知識點連接:new 和 malloc的區別
25.hash 衝突及解決辦法?
@Sommer_Xia
關鍵字值不一樣的元素可能會映象到哈希表的同一地址上就會發生哈希衝突。解決辦法:
1)開放定址法:當衝突發生時,使用某種探查(亦稱探測)技術在散列表中造成一個探查(測)序列。沿此序列逐個單元地查找,直到找到給定 的關鍵字,或者碰到一個開放的地址(即該地址單元爲空)爲止(若要插入,在探查到開放的地址,則可將待插入的新結點存人該地址單元)。查找時探查到開放的 地址則代表表中無待查的關鍵字,即查找失敗。
2) 再哈希法:同時構造多個不一樣的哈希函數。
3)鏈地址法:將全部哈希地址爲i的元素構成一個稱爲同義詞鏈的單鏈表,並將單鏈表的頭指針存在哈希表的第i個單元中,於是查找、插入和刪除主要在同義詞鏈中進行。鏈地址法適用於常常進行插入和刪除的狀況。
4)創建公共溢出區:將哈希表分爲基本表和溢出表兩部分,凡是和基本表發生衝突的元素,一概填入溢出表。
26.如何解決梯度消失和梯度膨脹?
(1)梯度消失:
根據鏈式法則,若是每一層神經元對上一層的輸出的偏導乘上權重結果都小於1的話,那麼即便這個結果是0.99,在通過足夠多層傳播以後,偏差對輸入層的偏導會趨於0。
能夠採用ReLU激活函數有效的解決梯度消失的狀況。
(2)梯度膨脹:
根據鏈式法則,若是每一層神經元對上一層的輸出的偏導乘上權重結果都大於1的話,在通過足夠多層傳播以後,偏差對輸入層的偏導會趨於無窮大。
能夠經過激活函數來解決。
27.下列哪一個不屬於CRF模型對於HMM和MEMM模型的優點( )
A. 特徵靈活
B. 速度快
C. 可容納較多上下文信息
D. 全局最優
解答:首先,CRF,HMM(隱馬模型),MEMM(最大熵隱馬模型)都經常使用來作序列標註的建模。
隱馬模型一個最大的缺點就是因爲其輸出獨立性假設,致使其不能考慮上下文的特徵,限制了特徵的選擇。
最大熵隱馬模型則解決了隱馬的問題,能夠任意選擇特徵,但因爲其在每一節點都要進行歸一化,因此只能找到局部的最優值,同時也帶來了標記偏見的問題,即凡是訓練語料中未出現的狀況全都忽略掉。
條件隨機場則很好的解決了這一問題,他並不在每個節點進行歸一化,而是全部特徵進行全局歸一化,所以能夠求得全局的最優值。
答案爲B。
28.簡單說下有監督學習和無監督學習的區別?
有監督學習:對具備標記的訓練樣本進行學習,以儘量對訓練樣本集外的數據進行分類預測。(LR,SVM,BP,RF,GBDT)
無監督學習:對未標記的樣本進行訓練學習,比發現這些樣本中的結構知識。(KMeans,DL)
29.瞭解正則化麼?
正則化是針對過擬合而提出的,覺得在求解模型最優的是通常優化最小的經驗風險,如今在該經驗風險上加入模型複雜度這一項(正則化項是模型參數向量的範數),並使用一個rate比率來權衡模型複雜度與以往經驗風險的權重,若是模型複雜度越高,結構化的經驗風險會越大,如今的目標就變爲告終構經驗風險的最優化,能夠防止模型訓練過分複雜,有效的下降過擬合的風險。
奧卡姆剃刀原理,可以很好的解釋已知數據而且十分簡單纔是最好的模型。
30.協方差和相關性有什麼區別?
相關性是協方差的標準化格式。協方差自己很難作比較。例如:若是咱們計算工資($)和年齡(歲)的協方差,由於這兩個變量有不一樣的度量,因此咱們會獲得不能作比較的不一樣的協方差。爲了解決這個問題,咱們計算相關性來獲得一個介於-1和1之間的值,就能夠忽略它們各自不一樣的度量。
31.線性分類器與非線性分類器的區別以及優劣。
若是模型是參數的線性函數,而且存在線性分類面,那麼就是線性分類器,不然不是。
常見的線性分類器有:LR,貝葉斯分類,單層感知機、線性迴歸。
常見的非線性分類器:決策樹、RF、GBDT、多層感知機。
SVM兩種都有(看線性核仍是高斯核)。
線性分類器速度快、編程方便,可是可能擬合效果不會很好。
非線性分類器編程複雜,可是效果擬合能力強。
32.數據的邏輯存儲結構(如數組,隊列,樹等)對於軟件開發具備十分重要的影響,試對你所瞭解的各類存儲結構從運行速度、存儲效率和適用場合等方面進行簡要地分析。
33.什麼是分佈式數據庫?
分佈式數據庫系統是在集中式數據庫系統成熟技術的基礎上發展起來的,但不是簡單地把集中式數據庫分散地實現,它具備本身的性質和特徵。集中式數據庫系統的許多概念和技術,如數據獨立性、數據共享和減小冗餘度、併發控制、完整性、安全性和恢復等在分佈式數據庫系統中都有了不一樣的、更加豐富的內容。
34.簡單說說貝葉斯定理。
在引出貝葉斯定理以前,先學習幾個定義:
條件機率(又稱後驗機率)就是事件A在另一個事件B已經發生條件下的發生機率。條件機率表示爲P(A|B),讀做「在B條件下A的機率」。
好比,在同一個樣本空間Ω中的事件或者子集A與B,若是隨機從Ω中選出的一個元素屬於B,那麼這個隨機選擇的元素還屬於A的機率就定義爲在B的前提下A的條件機率,因此:P(A|B) = |A∩B|/|B|,接着分子、分母都除以|Ω|獲得:
P(A|B)=P(A∩B)P(B)
P(A|B)=P(A∩B)P(B)
聯合機率表示兩個事件共同發生的機率。A與B的聯合機率表示爲P(A∩B)P(A∩B)或者P(A,B)P(A,B)。
邊緣機率(又稱先驗機率)是某個事件發生的機率。邊緣機率是這樣獲得的:在聯合機率中,把最終結果中那些不須要的事件經過合併成它們的全機率,而消去它們(對離散隨機變量用求和得全機率,對連續隨機變量用積分得全機率),這稱爲邊緣化(marginalization),好比A的邊緣機率表示爲P(A),B的邊緣機率表示爲P(B)。
接着,考慮一個問題:P(A|B)是在B發生的狀況下A發生的可能性。
1)首先,事件B發生以前,咱們對事件A的發生有一個基本的機率判斷,稱爲A的先驗機率,用P(A)表示;
2)其次,事件B發生以後,咱們對事件A的發生機率從新評估,稱爲A的後驗機率,用P(A|B)表示;
3)相似的,事件A發生以前,咱們對事件B的發生有一個基本的機率判斷,稱爲B的先驗機率,用P(B)表示;
4)一樣,事件A發生以後,咱們對事件B的發生機率從新評估,稱爲B的後驗機率,用P(B|A)表示。
貝葉斯定理的公式表達式:
P(A|B)=P(B|A)P(A)P(B)
P(A|B)=P(B|A)P(A)P(B)
35.#include <filename.h> 和#include「filename.h」有什麼區別?
知識點連接:#include<filename.h> 和 #include」filename.h」有什麼區別
36.某超市研究銷售紀錄數據後發現,買啤酒的人很大機率也會購買尿布,這種屬於數據挖掘的哪類問題?(A)
A. 關聯規則發現 B. 聚類 C. 分類 D. 天然語言處理
37.將原始數據進行集成、變換、維度規約、數值規約是在如下哪一個步驟的任務?(C)
A. 頻繁模式挖掘 B. 分類和預測 C. 數據預處理 D. 數據流挖掘
38.下面哪一種不屬於數據預處理的方法? (D)
A變量代換 B離散化 C 彙集 D 估計遺漏值
39.什麼是KDD? (A)
A. 數據挖掘與知識發現 B. 領域知識發現C. 文檔知識發現 D. 動態知識發現
40.當不知道數據所帶標籤時,能夠使用哪一種技術促使帶同類標籤的數據與帶其餘標籤的數據相分離?(B)
A. 分類 B. 聚類 C. 關聯分析 D. 隱馬爾可夫鏈
41.創建一個模型,經過這個模型根據已知的變量值來預測其餘某個變量值屬於數據挖掘的哪一類任務?(C)
A. 根據內容檢索 B. 建模描述
C. 預測建模 D. 尋找模式和規則
42.如下哪一種方法不屬於特徵選擇的標準方法?(D)
A嵌入 B 過濾 C 包裝 D 抽樣
43.請用python編寫函數find_string,從文本中搜索並打印內容,要求支持通配符星號和問號。
find_string('hello\nworld\n','wor')
['wor']
find_string('hello\nworld\n','l*d')
['ld']
find_string('hello\nworld\n','o.')
['or']
答案
def find_string(str,pat):
import re
return re.findall(pat,str,re.I)
1
2
3
4
5
6
7
8
9
10
44.說下紅黑樹的五個性質。
教你初步瞭解紅黑樹
45.簡單說下sigmoid激活函數。
經常使用的非線性激活函數有sigmoid、tanh、relu等等,前二者sigmoid/tanh比較常見於全鏈接層,後者relu常見於卷積層。這裏先簡要介紹下最基礎的sigmoid函數(btw,在本博客中SVM那篇文章開頭有提過)。
Sigmoid的函數表達式以下:
也就是說,Sigmoid函數的功能是至關於把一個實數壓縮至0到1之間。當z是很是大的正數時,g(z)會趨近於1,而z是很是小的負數時,則g(z)會趨近於0。
壓縮至0到1有何用處呢?用處是這樣一來即可以把激活函數看做一種「分類的機率」,好比激活函數的輸出爲0.9的話即可以解釋爲90%的機率爲正樣本。
舉個例子,以下圖(圖引自Stanford機器學習公開課):
46.什麼是卷積?
對圖像(不一樣的數據窗口數據)和濾波矩陣(一組固定的權重:由於每一個神經元的多個權重固定,因此又能夠看作一個恆定的濾波器filter)作內積(逐個元素相乘再求和)的操做就是所謂的『卷積』操做,也是卷積神經網絡的名字來源。
非嚴格意義上來說,下圖中紅框框起來的部分即可以理解爲一個濾波器,即帶着一組固定權重的神經元。多個濾波器疊加便成了卷積層。
OK,舉個具體的例子。好比下圖中,圖中左邊部分是原始輸入數據,圖中中間部分是濾波器filter,圖中右邊是輸出的新的二維數據。
分解下上圖
47.什麼是CNN的池化pool層?
池化,簡言之,即取區域平均或最大,以下圖所示(圖引自cs231n):
上圖所展現的是取區域最大,即上圖左邊部分中 左上角2x2的矩陣中6最大,右上角2x2的矩陣中8最大,左下角2x2的矩陣中3最大,右下角2x2的矩陣中4最大,因此獲得上圖右邊部分的結果:6 8 3 4。很簡單不是?
48.簡述下什麼是生成對抗網絡。
GAN之因此是對抗的,是由於GAN的內部是競爭關係,一方叫generator,它的主要工做是生成圖片,而且儘可能使得其看上去是來自於訓練樣本的。另外一方是discriminator,其目標是判斷輸入圖片是否屬於真實訓練樣本。
更直白的講,將generator想象成假幣制造商,而discriminator是警察。generator目的是儘量把假幣造的跟真的同樣,從而可以騙過discriminator,即生成樣本並使它看上去好像來自於真實訓練樣本同樣。
以下圖中的左右兩個場景:
更多請參見此課程:生成對抗網絡
49.學梵高做畫的原理是啥?
這裏有篇如何作梵高風格畫的實驗教程 教你從頭至尾利用DL學梵高做畫:GTX 1070 cuda 8.0 tensorflow gpu版,至於其原理請看這個視頻:NeuralStyle藝術化圖片(學梵高做畫背後的原理)。
50.如今有 a 到 z 26 個元素, 編寫程序打印 a 到 z 中任取 3 個元素的組合(好比 打印 a b c ,d y z等)。
一道百度機器學習工程師職位的面試題
51.哪些機器學習算法不須要作歸一化處理?
機率模型不須要歸一化,由於它們不關心變量的值,而是關心變量的分佈和變量之間的條件機率,如決策樹、RF。而像Adaboost、GBDT、XGBoost、SVM、LR、KNN、KMeans之類的最優化問題就須要歸一化。
52.說說梯度降低法。
@LeftNotEasy
機器學習中的數學(1)-迴歸(regression)、梯度降低(gradient descent)
53.梯度降低法找到的必定是降低最快的方向麼?
梯度降低法並非降低最快的方向,它只是目標函數在當前的點的切平面(固然高維問題不能叫平面)上降低最快的方向。在Practical Implementation中,牛頓方向(考慮海森矩陣)才通常被認爲是降低最快的方向,能夠達到Superlinear的收斂速度。梯度降低類的算法的收斂速度通常是Linear甚至Sublinear的(在某些帶複雜約束的問題)。
知識點連接:一文清晰講解機器學習中梯度降低算法(包括其變式算法)
54.牛頓法和梯度降低法有什麼不一樣?
@wtq1993
知識點連接:機器學習中常見的最優化算法
55.什麼是擬牛頓法(Quasi-Newton Methods)?
@wtq1993
機器學習中常見的最優化算法
56.請說說隨機梯度降低法的問題和挑戰?
57.說說共軛梯度法?
@wtq1993
機器學習中常見的最優化算法
58.對全部優化問題來講, 有沒有可能找到比現在已知算法更好的算法?
答案連接
5九、什麼最小二乘法?
咱們口頭中常常說:通常來講,平均來講。如平均來講,不吸菸的健康優於吸菸者,之因此要加「平均」二字,是由於凡事皆有例外,總存在某個特別的人他吸菸但因爲常常鍛鍊因此他的健康情況可能會優於他身邊不吸菸的朋友。而最小二乘法的一個最簡單的例子即是算術平均。
最小二乘法(又稱最小平方法)是一種數學優化技術。它經過最小化偏差的平方和尋找數據的最佳函數匹配。利用最小二乘法能夠簡便地求得未知的數據,並使得這些求得的數據與實際數據之間偏差的平方和爲最小。用函數表示爲:
因爲算術平均是一個歷經考驗的方法,而以上的推理說明,算術平均是最小二乘的一個特例,因此從另外一個角度說明了最小二乘方法的優良性,使咱們對最小二乘法更加有信心。
最小二乘法發表以後很快獲得了你們的承認接受,並迅速的在數據分析實踐中被普遍使用。不過歷史上又有人把最小二乘法的發明歸功於高斯,這又是怎麼一回事呢。高斯在1809年也發表了最小二乘法,而且聲稱本身已經使用這個方法多年。高斯發明了小行星定位的數學方法,並在數據分析中使用最小二乘方法進行計算,準確的預測了穀神星的位置。
對了,最小二乘法跟SVM有什麼聯繫呢?請參見支持向量機通俗導論(理解SVM的三層境界)。
60、看你T恤上印着:人生苦短,我用Python,你能否說說Python究竟是什麼樣的語言?你能夠比較其餘技術或者語言來回答你的問題。
15個重要Python面試題 測測你適不適合作Python?
61.Python是如何進行內存管理的?
2017 Python最新面試題及答案16道題
62.請寫出一段Python代碼實現刪除一個list裏面的重複元素。
一、使用set函數,set(list);
二、使用字典函數:
a=[1,2,4,2,4,5,6,5,7,8,9,0]
b={}
b=b.fromkeys(a)
c=list(b.keys())
c
1
2
3
4
5
63.編程用sort進行排序,而後從最後一個元素開始判斷。
a=[1,2,4,2,4,5,7,10,5,5,7,8,9,0,3]
a.sort()
last=a[-1]
for i inrange(len(a)-2,-1,-1):
if last==a[i]:
del a[i]
else:last=a[i]
print(a)
1
2
3
4
5
6
7
8
9
64.Python裏面如何生成隨機數?
@Tom_junsong
random模塊
隨機整數:random.randint(a,b):返回隨機整數x,a<=x<=b
random.randrange(start,stop,[,step]):返回一個範圍在(start,stop,step)之間的隨機整數,不包括結束值。
隨機實數:random.random( ):返回0到1之間的浮點數
random.uniform(a,b):返回指定範圍內的浮點數。
65.說說常見的損失函數。
對於給定的輸入X,由f(X)給出相應的輸出Y,這個輸出的預測值f(X)與真實值Y可能一致也可能不一致(要知道,有時損失或偏差是不可避免的),用一個損失函數來度量預測錯誤的程度。損失函數記爲L(Y, f(X))。
經常使用的損失函數有如下幾種(基本引用自《統計學習方法》):
66.簡單介紹下Logistics迴歸。
Logistic迴歸目的是從特徵學習出一個0/1分類模型,而這個模型是將特性的線性組合做爲自變量,因爲自變量的取值範圍是負無窮到正無窮。所以,使用logistic函數(或稱做sigmoid函數)將自變量映射到(0,1)上,映射後的值被認爲是屬於y=1的機率。
假設函數:
hθ(x)=g(θTx)=11+e−θTx
hθ(x)=g(θTx)=11+e−θTx
其中x是n維特徵向量,函數g就是Logistic函數。而:g(z)=11+e−zg(z)=11+e−z的圖像是:
能夠看到,將無窮映射到了(0,1)。而假設函數就是特徵屬於y=1的機率。
P(y=1|x;θ)=hθ(x);P(y=0|x;θ)=1−hθ(x)
P(y=1|x;θ)=hθ(x);P(y=0|x;θ)=1−hθ(x)
67.看你是搞視覺的,熟悉哪些CV框架,順帶聊聊CV最近五年的發展史如何?
答案解析
68.深度學習在視覺領域有何前沿進展?
@元峯
本題解析來源:深度學習在計算機視覺領域的前沿進展
69.HashMap與HashTable區別?
HashMap與Hashtable的區別
70.在分類問題中,咱們常常會遇到正負樣本數據量不等的狀況,好比正樣本爲10w條數據,負樣本只有1w條數據,如下最合適的處理方法是( )
A、將負樣本重複10次,生成10w樣本量,打亂順序參與分類
B、直接進行分類,能夠最大限度利用數據
C、從10w正樣本中隨機抽取1w參與分類
D、將負樣本每一個權重設置爲10,正樣本權重爲1,參與訓練過程
@管博士:準確的說,其實選項中的這些方法各有優缺點,須要具體問題具體分析,有篇文章對各類方法的優缺點進行了分析,講的不錯 感興趣的同窗能夠參考一下:
How to handle Imbalanced Classification Problems in machine learning?
71.深度學習是當前很熱門的機器學習算法,在深度學習中,涉及到大量的矩陣相乘,如今須要計算三個稠密矩陣A,B,C的乘積ABC,假90設三個矩陣的尺寸分別爲m∗n,n∗p,p∗q,且m <n <p <q,如下計算順序效率最高的是(A)
A.(AB)C
B.AC(B)
C.A(BC)
D.因此效率都相同
正確答案:A
@BlackEyes_SGC: m*n*p <m*n*q,m*p*q < n*p*q, 因此 (AB)C 最小
72.Nave Bayes是一種特殊的Bayes分類器,特徵變量是X,類別標籤是C,它的一個假定是:( C )
A.各種別的先驗機率P(C)是相等的
B.以0爲均值,sqr(2)/2爲標準差的正態分佈
C.特徵變量X的各個維度是類別條件獨立隨機變量
D.P(X|C)是高斯分佈
正確答案:C
@BlackEyes_SGC:樸素貝葉斯的條件就是每一個變量相互獨立。
73.關於支持向量機SVM,下列說法錯誤的是(C)
A.L2正則項,做用是最大化分類間隔,使得分類器擁有更強的泛化能力
B.Hinge 損失函數,做用是最小化經驗分類錯誤
C.分類間隔爲1||w||1||w||,||w||表明向量的模
D.當參數C越小時,分類間隔越大,分類錯誤越多,趨於欠學習
正確答案:C
@BlackEyes_SGC:
A正確。考慮加入正則化項的緣由:想象一個完美的數據集,y>1是正類,y<-1是負類,決策面y=0,加入一個y=-30的正類噪聲樣本,那麼決策面將會變「歪」不少,分類間隔變小,泛化能力減少。加入正則項以後,對噪聲樣本的容錯能力加強,前面提到的例子裏面,決策面就會沒那麼「歪」了,使得分類間隔變大,提升了泛化能力。
B正確。
C錯誤。間隔應該是2||w||2||w||纔對,後半句應該沒錯,向量的模一般指的就是其二範數。
D正確。考慮軟間隔的時候,C對優化問題的影響就在於把a的範圍從[0,+inf]限制到了[0,C]。C越小,那麼a就會越小,目標函數拉格朗日函數導數爲0能夠求出w=∑iai∗yi∗xiw=∑iai∗yi∗xi,a變小使得w變小,所以間隔2||w||2||w||變大
74.在HMM中,若是已知觀察序列和產生觀察序列的狀態序列,那麼可用如下哪一種方法直接進行參數估計( D )
A.EM算法
B.維特比算法
C.前向後向算法
D.極大似然估計
正確答案:D
@BlackEyes_SGC:
EM算法: 只有觀測序列,無狀態序列時來學習模型參數,即Baum-Welch算法
維特比算法: 用動態規劃解決HMM的預測問題,不是參數估計
前向後向算法:用來算機率
極大似然估計:即觀測序列和相應的狀態序列都存在時的監督學習算法,用來估計參數
注意的是在給定觀測序列和對應的狀態序列估計模型參數,能夠利用極大似然發估計。若是給定觀測序列,沒有對應的狀態序列,才用EM,將狀態序列看不不可測的隱數據。
75.假定某同窗使用Naive Bayesian(NB)分類模型時,不當心將訓練數據的兩個維度搞重複了,那麼關於NB的說法中正確的是:(BD)
A.這個被重複的特徵在模型中的決定做用會被增強
B.模型效果相比無重複特徵的狀況下精確度會下降
C.若是全部特徵都被重複一遍,獲得的模型預測結果相對於不重複的狀況下的模型預測結果同樣。
D.當兩列特徵高度相關時,沒法用兩列特徵相同時所獲得的結論來分析問題
E.NB能夠用來作最小二乘迴歸
F.以上說法都不正確
正確答案:BD
@BlackEyes_SGC:NB的核心在於它假設向量的全部份量之間是獨立的。在貝葉斯理論系統中,都有一個重要的條件獨立性假設:假設全部特徵之間相互獨立,這樣才能將聯合機率拆分。
76.如下哪些方法不能夠直接來對文本分類?(A)
A、Kmeans
B、決策樹
C、支持向量機
D、KNN
正確答案: A分類不一樣於聚類。
@BlackEyes_SGC:A:Kmeans是聚類方法,典型的無監督學習方法。分類是監督學習方法,BCD都是常見的分類方法。
77.已知一組數據的協方差矩陣P,下面關於主份量說法錯誤的是( C )
A、主份量分析的最佳準則是對一組數據進行按一組正交基分解, 在只取相同數量份量的條件下,以均方偏差計算截尾偏差最小
B、在經主份量分解後,協方差矩陣成爲對角矩陣
C、主份量分析就是K-L變換
D、主份量是經過求協方差矩陣的特徵值獲得
正確答案: C
@BlackEyes_SGC:K-L變換與PCA變換是不一樣的概念,PCA的變換矩陣是協方差矩陣,K-L變換的變換矩陣能夠有不少種(二階矩陣、協方差矩陣、總類內離散度矩陣等等)。當K-L變換矩陣爲協方差矩陣時,等同於PCA。
78.Kmeans的複雜度?
時間複雜度:O(tKmn),其中,t爲迭代次數,K爲簇的數目,m爲記錄數,n爲維數空間複雜度:O((m+K)n),其中,K爲簇的數目,m爲記錄數,n爲維數。
具體參考:機器學習之深刻理解K-means、與KNN算法區別及其代碼實現
79.關於Logit 迴歸和SVM 不正確的是(A)
A. Logit迴歸本質上是一種根據樣本對權值進行極大似然估計的方法,然後驗機率正比於先驗機率和似然函數的乘積。logit僅僅是最大化似然函數,並無最大化後驗機率,更談不上最小化後驗機率。A錯誤
B. Logit迴歸的輸出就是樣本屬於正類別的概率,能夠計算出機率,正確
C. SVM的目標是找到使得訓練數據儘量分開且分類間隔最大的超平面,應該屬於結構風險最小化。
D. SVM能夠經過正則化係數控制模型的複雜度,避免過擬合。
@BlackEyes_SGC:Logit迴歸目標函數是最小化後驗機率,Logit迴歸能夠用於預測事件發生機率的大小,SVM目標是結構風險最小化,SVM能夠有效避免模型過擬合。
80.輸入圖片大小爲200×200,依次通過一層卷積(kernel size 5×5,padding 1,stride 2),pooling(kernel size 3×3,padding 0,stride 1),又一層卷積(kernel size 3×3,padding 1,stride 1)以後,輸出特徵圖大小爲:()
正確答案:97
@BlackEyes_SGC:計算尺寸不被整除只在GoogLeNet中遇到過。卷積向下取整,池化向上取整。
本題 (200-5+2*1)/2+1 爲99.5,取99
(99-3)/1+1 爲97
(97-3+2*1)/1+1 爲97
研究過網絡的話看到stride爲1的時候,當kernel爲 3 padding爲1或者kernel爲5 padding爲2 一看就是卷積先後尺寸不變。計算GoogLeNet全過程的尺寸也同樣。
81.影響聚類算法結果的主要因素有(BCD )
A.已知類別的樣本質量;
B.分類準則;
C.特徵選取;
D.模式類似性測度
82.模式識別中,馬式距離較之於歐式距離的優勢是(CD)
A. 平移不變性;
B. 旋轉不變性;
C. 尺度不變性;
D. 考慮了模式的分佈
83.影響基本K-均值算法的主要因素有(ABD)
A. 樣本輸入順序;
B. 模式類似性測度;
C. 聚類準則;
D. 初始類中心的選取
84.在統計模式分類問題中,當先驗機率未知時,能夠使用(BD)
A. 最小損失準則;
B. 最小最大損失準則;
C. 最小誤判機率準則;
D. N-P判決
85.若是以特徵向量的相關係數做爲模式類似性測度,則影響聚類算法結果的主要因素有(BC)
A. 已知類別樣本質量;
B. 分類準則;
C. 特徵選取;
D. 量綱
86.歐式距離具備(AB );馬式距離具備(ABCD )。
A. 平移不變性;
B. 旋轉不變性;
C. 尺度縮放不變性;
D. 不受量綱影響的特性
87.你有哪些Deep Learning(RNN,CNN)調參的經驗?
答案解析,來自知乎
88.簡單說說RNN的原理。
咱們升學到高三準備高考時,此時的知識是由高二及高二以前所學的知識加上高三所學的知識合成得來,即咱們的知識是由前序鋪墊,是有記憶的,比如當電影字幕上出現:「我是」時,你會很天然的聯想到:「我是中國人」。
89.什麼是RNN?
@一隻鳥的天空,本題解析來源:
循環神經網絡(RNN, Recurrent Neural Networks)介紹
90.RNN是怎麼從單層網絡一步一步構造的的?
@何之源,本題解析來源:
徹底圖解RNN、RNN變體、Seq2Seq、Attention機制
101.深度學習(CNN RNN Attention)解決大規模文本分類問題。
用深度學習(CNN RNN Attention)解決大規模文本分類問題 - 綜述和實踐
102.如何解決RNN梯度爆炸和彌散的問題的?
深度學習與天然語言處理(7)_斯坦福cs224d 語言模型,RNN,LSTM與GRU
103.如何提升深度學習的性能?
機器學習系列(10)_如何提升深度學習(和機器學習)的性能
104.RNN、LSTM、GRU區別?
@我愛大泡泡,本題解析來源:
面試筆試整理3:深度學習機器學習面試問題準備(必會)
105.當機器學習性能遭遇瓶頸時,你會如何優化的?
能夠從這4個方面進行嘗試:基於數據、藉助算法、用算法調參、藉助模型融合。固然能談多細多深刻就看你的經驗心得了。
這裏有一份參考清單:機器學習系列(20)_機器學習性能改善備忘單
106.作過什麼樣的機器學習項目?好比如何從零構建一個推薦系統?
推薦系統的公開課http://www.julyedu.com/video/play/18/148,另,再推薦一個課程:機器學習項目班 [10次純項目講解,100%純實戰](https://www.julyedu.com/course/getDetail/48)。
107.什麼樣的資料集不適合用深度學習?
@抽象猴,來源:
知乎解答
108.廣義線性模型是怎被應用在深度學習中?
@許韓,來源:
知乎解答
109.準備機器學習面試應該瞭解哪些理論知識?
知乎解答
110.標準化與歸一化的區別?
簡單來講,標準化是依照特徵矩陣的列處理數據,其經過求z-score的方法,將樣本的特徵值轉換到同一量綱下。歸一化是依照特徵矩陣的行處理數據,其目的在於樣本向量在點乘運算或其餘核函數計算類似性時,擁有統一的標準,也就是說都轉化爲「單位向量」。規則爲L2的歸一化公式以下:
特徵向量的缺失值處理:
1.缺失值較多.直接將該特徵捨棄掉,不然可能反倒會帶入較大的noise,對結果形成不良影響。
2.缺失值較少,其他的特徵缺失值都在10%之內,咱們能夠採起不少的方式來處理:
1) 把NaN直接做爲一個特徵,假設用0表示;
2) 用均值填充;
3) 用隨機森林等算法預測填充
111.隨機森林如何處理缺失值。
方法一(na.roughfix)簡單粗暴,對於訓練集,同一個class下的數據,若是是分類變量缺失,用衆數補上,若是是連續型變量缺失,用中位數補。
方法二(rfImpute)這個方法計算量大,至於比方法一好壞?很差判斷。先用na.roughfix補上缺失值,而後構建森林並計算proximity matrix,再回頭看缺失值,若是是分類變量,則用沒有陣進行加權平均的方法補缺失值。而後迭代4-6次,這個補缺失值的思想和KNN有些相似1缺失的觀測實例的proximity中的權重進行投票。若是是連續型變量,則用proximity矩2。
112.隨機森林如何評估特徵重要性。
衡量變量重要性的方法有兩種,Decrease GINI 和 Decrease Accuracy:
1) Decrease GINI: 對於迴歸問題,直接使用argmax(VarVarLeftVarRight)做爲評判標準,即當前節點訓練集的方差Var減去左節點的方差VarLeft和右節點的方差VarRight。
2) Decrease Accuracy:對於一棵樹Tb(x),咱們用OOB樣本能夠獲得測試偏差1;而後隨機改變OOB樣本的第j列:保持其餘列不變,對第j列進行隨機的上下置換,獲得偏差2。至此,咱們能夠用偏差1-偏差2來刻畫變量j的重要性。基本思想就是,若是一個變量j足夠重要,那麼改變它會極大的增長測試偏差;反之,若是改變它測試偏差沒有增大,則說明該變量不是那麼的重要。
113.優化Kmeans。
使用Kd樹或者Ball Tree
將全部的觀測實例構建成一顆kd樹,以前每一個聚類中心都是須要和每一個觀測點作依次距離計算,如今這些聚類中心根據kd樹只須要計算附近的一個局部區域便可。
114.KMeans初始類簇中心點的選取。
K-means++算法選擇初始seeds的基本思想就是:初始的聚類中心之間的相互距離要儘量的遠。
1.從輸入的數據點集合中隨機選擇一個點做爲第一個聚類中心
2.對於數據集中的每個點x,計算它與最近聚類中心(指已選擇的聚類中心)的距離D(x)
3.選擇一個新的數據點做爲新的聚類中心,選擇的原則是:D(x)較大的點,被選取做爲聚類中心的機率較大
4.重複2和3直到k個聚類中心被選出來
5.利用這k個初始的聚類中心來運行標準的k-means算法
115.解釋對偶的概念。
一個優化問題能夠從兩個角度進行考察,一個是primal 問題,一個是dual 問題,就是對偶問題,通常狀況下對偶問題給出主問題最優值的下界,在強對偶性成立的狀況下由對偶問題能夠獲得主問題的最優下界,對偶問題是凸優化問題,能夠進行較好的求解,SVM中就是將Primal問題轉換爲dual問題進行求解,從而進一步引入核函數的思想。
116.如何進行特徵選擇?
特徵選擇是一個重要的數據預處理過程,主要有兩個緣由:一是減小特徵數量、降維,使模型泛化能力更強,減小過擬合;二是加強對特徵和特徵值之間的理解。
常見的特徵選擇方式:
1.去除方差較小的特徵。
2.正則化。1正則化可以生成稀疏的模型。L2正則化的表現更加穩定,因爲有用的特徵每每對應係數非零。
3.隨機森林,對於分類問題,一般採用基尼不純度或者信息增益,對於迴歸問題,一般採用的是方差或者最小二乘擬合。通常不須要feature engineering、調參等繁瑣的步驟。它的兩個主要問題,1是重要的特徵有可能得分很低(關聯特徵問題),2是這種方法對特徵變量類別多的特徵越有利(偏向問題)。
4.穩定性選擇。是一種基於二次抽樣和選擇算法相結合較新的方法,選擇算法能夠是迴歸、SVM或其餘相似的方法。它的主要思想是在不一樣的數據子集和特徵子集上運行特徵選擇算法,不斷的重複,最終彙總特徵選擇結果,好比能夠統計某個特徵被認爲是重要特徵的頻率(被選爲重要特徵的次數除以它所在的子集被測試的次數)。理想狀況下,重要特徵的得分會接近100%。稍微弱一點的特徵得分會是非0的數,而最無用的特徵得分將會接近於0。
117.數據預處理。
1.缺失值,填充缺失值fillna:
i. 離散:None,
ii. 連續:均值。
iii. 缺失值太多,則直接去除該列
2.連續值:離散化。有的模型(如決策樹)須要離散值
3.對定量特徵二值化。核心在於設定一個閾值,大於閾值的賦值爲1,小於等於閾值的賦值爲0。如圖像操做
4.皮爾遜相關係數,去除高度相關的列
118.簡單說說特徵工程。
119.你知道有哪些數據處理和特徵工程的處理?
120.請對比下Sigmoid、Tanh、ReLu這三個激活函數?
121.Sigmoid、Tanh、ReLu這三個激活函數有什麼缺點或不足,有沒改進的激活函數?
@我愛大泡泡,來源:
面試筆試整理3:深度學習機器學習面試問題準備(必會)
122.怎麼理解決策樹、xgboost能處理缺失值?而有的模型(svm)對缺失值比較敏感?
知乎解答
123.爲何引入非線性激勵函數?
@Begin Again,來源:
知乎解答
若是不用激勵函數(其實至關於激勵函數是f(x) = x),在這種狀況下你每一層輸出都是上層輸入的線性函數,很容易驗證,不管你神經網絡有多少層,輸出都是輸入的線性組合,與沒有隱藏層效果至關,這種狀況就是最原始的感知機(Perceptron)了。
正由於上面的緣由,咱們決定引入非線性函數做爲激勵函數,這樣深層神經網絡就有意義了(再也不是輸入的線性組合,能夠逼近任意函數)。最先的想法是Sigmoid函數或者Tanh函數,輸出有界,很容易充當下一層輸入(以及一些人的生物解釋)。
124.請問人工神經網絡中爲何ReLu要好過於Tanh和Sigmoid function?
@Begin Again,來源:
知乎解答
125.爲何LSTM模型中既存在Sigmoid又存在Tanh兩種激活函數?
本題解析來源:知乎解答
@beanfrog:兩者目的不同:sigmoid 用在了各類gate上,產生0~1之間的值,這個通常只有sigmoid最直接了。tanh 用在了狀態和輸出上,是對數據的處理,這個用其餘激活函數或許也能夠。
@hhhh:另可參見A Critical Review of Recurrent Neural Networks for Sequence Learning的section4.1,說了那兩個tanh均可以替換成別的。
126.衡量分類器的好壞。
@我愛大泡泡,來源:
答案解析
這裏首先要知道TP、FN(真的判成假的)、FP(假的判成真)、TN四種(能夠畫一個表格)。
幾種經常使用的指標:
精度precision = TP/(TP+FP) = TP/~P (~p爲預測爲真的數量)
召回率 recall = TP/(TP+FN) = TP/ P
F1值: 2/F1 = 1/recall + 1/precision
ROC曲線:ROC空間是一個以僞陽性率(FPR,false positive rate)爲X軸,真陽性率(TPR, true positive rate)爲Y軸的二維座標系所表明的平面。其中真陽率TPR = TP / P = recall, 僞陽率FPR = FP / N
127.機器學習和統計裏面的auc的物理意義是什麼?
詳情參見機器學習和統計裏面的auc怎麼理解?
128.觀察增益gain, alpha和gamma越大,增益越小?
@AntZ:XGBoost尋找分割點的標準是最大化gain. 考慮傳統的枚舉每一個特徵的全部可能分割點的貪心法效率過低,XGBoost實現了一種近似的算法。大體的思想是根據百分位法列舉幾個可能成爲分割點的候選者,而後從候選者中計算Gain按最大值找出最佳的分割點。它的計算公式分爲四項, 能夠由正則化項參數調整(lamda爲葉子權重平方和的係數, gama爲葉子數量):
第一項是假設分割的左孩子的權重分數, 第二項爲右孩子, 第三項爲不分割整體分數, 最後一項爲引入一個節點的複雜度損失。
由公式可知, gama越大gain越小, lamda越大, gain可能小也可能大。
原問題是alpha而不是lambda, 這裏paper上沒有提到, XGBoost實現上有這個參數. 上面是我從paper上理解的答案,下面是搜索到的:
如何對XGBoost模型進行參數調優
129.什麼形成梯度消失問題? 推導一下。
@許韓,來源:
神經網絡的訓練中,經過改變神經元的權重,使網絡的輸出值儘量逼近標籤以下降偏差值,訓練廣泛使用BP算法,核心思想是,計算出輸出與標籤間的損失函數值,而後計算其相對於每一個神經元的梯度,進行權值的迭代。
梯度消失會形成權值更新緩慢,模型訓練難度增長。形成梯度消失的一個緣由是,許多激活函數將輸出值擠壓在很小的區間內,在激活函數兩端較大範圍的定義域內梯度爲0,形成學習中止。
130.什麼是梯度消失和梯度爆炸?
@寒小陽,反向傳播中鏈式法則帶來的連乘,若是有數很小趨於0,結果就會特別小(梯度消失);若是數都比較大,可能結果會很大(梯度爆炸)。
@單車
神經網絡訓練中的梯度消失與梯度爆炸
131.如何解決梯度消失和梯度膨脹?
(1)梯度消失:
根據鏈式法則,若是每一層神經元對上一層的輸出的偏導乘上權重結果都小於1的話,那麼即便這個結果是0.99,在通過足夠多層傳播以後,偏差對輸入層的偏導會趨於0,能夠採用ReLU激活函數有效的解決梯度消失的狀況。
(2)梯度膨脹
根據鏈式法則,若是每一層神經元對上一層的輸出的偏導乘上權重結果都大於1的話,在通過足夠多層傳播以後,偏差對輸入層的偏導會趨於無窮大,能夠經過激活函數來解決。
132.推導下反向傳播Backpropagation。
@我愛大泡泡,來源:
推導過程
133.SVD和PCA。
PCA的理念是使得數據投影后的方差最大,找到這樣一個投影向量,知足方差最大的條件便可。而通過了去除均值的操做以後,就能夠用SVD分解來求解這樣一個投影向量,選擇特徵值最大的方向。
134.數據不平衡問題。
這主要是因爲數據分佈不平衡形成的。解決方法以下:
1)採樣,對小樣本加噪聲採樣,對大樣本進行下采樣
2)進行特殊的加權,如在Adaboost中或者SVM中
3)採用對不平衡數據集不敏感的算法
4)改變評價標準:用AUC/ROC來進行評價
5)採用Bagging/Boosting/Ensemble等方法
6)考慮數據的先驗分佈
135.簡述神經網絡的發展。
MP模型+sgn—->單層感知機(只能線性)+sgn— Minsky 低谷 —>多層感知機+BP+Sigmoid— (低谷) —>深度學習+Pretraining+ReLU/Sigmoid
136.深度學習經常使用方法。
@SmallisBig,來源:
機器學習崗位面試問題彙總 之 深度學習
137.神經網絡模型(Neural Network)因受人類大腦的啓發而得名。神經網絡由許多神經元(Neuron)組成,每一個神經元接受一個輸入,對輸入進行處理後給出一個輸出。請問下列關於神經元的描述中,哪一項是正確的?(E)
A.每一個神經元只有一個輸入和一個輸出
B.每一個神經元有多個輸入和一個輸出
C.每一個神經元有一個輸入和多個輸出
D.每一個神經元有多個輸入和多個輸出
E.上述都正確
答案:(E)
每一個神經元能夠有一個或多個輸入,和一個或多個輸出
138.下圖是一個神經元的數學表示,
139.在一個神經網絡中,知道每個神經元的權重和誤差是最重要的一步。若是知道了神經元準確的權重和誤差,即可以近似任何函數,但怎麼獲知每一個神經的權重和偏移呢?(C)
A. 搜索每一個可能的權重和誤差組合,直到獲得最佳值
B. 賦予一個初始值,而後檢查跟最佳值的差值,不斷迭代調整權重
C. 隨機賦值,聽天由命
D. 以上都不正確的
答案:(C)
選項C是對梯度降低的描述。
140.梯度降低算法的正確步驟是什麼?( D)
1.計算預測值和真實值之間的偏差
2.重複迭代,直至獲得網絡權重的最佳值
3.把輸入傳入網絡,獲得輸出值
4.用隨機值初始化權重和誤差
5.對每個產生偏差的神經元,調整相應的(權重)值以減少偏差
A. 1, 2, 3, 4, 5
B. 5, 4, 3, 2, 1
C. 3, 2, 1, 5, 4
D. 4, 3, 1, 5, 2
答案:(D)
141.已知:
- 大腦是有不少個叫作神經元的東西構成,神經網絡是對大腦的簡單的數學表達。
- 每個神經元都有輸入、處理函數和輸出。
- 神經元組合起來造成了網絡,能夠擬合任何函數。
- 爲了獲得最佳的神經網絡,咱們用梯度降低方法不斷更新模型
給定上述關於神經網絡的描述,什麼狀況下神經網絡模型被稱爲深度學習模型?
A. 加入更多層,使神經網絡的深度增長
B. 有維度更高的數據
C. 當這是一個圖形識別的問題時
D. 以上都不正確
答案:(A)
更多層意味着網絡更深。沒有嚴格的定義多少層的模型才叫深度模型,目前若是有超過2層的隱層,那麼也能夠及叫作深度模型。
142.卷積神經網絡能夠對一個輸入進行多種變換(旋轉、平移、縮放),這個表述正確嗎?
答案:錯誤
把數據傳入神經網絡以前須要作一系列數據預處理(也就是旋轉、平移、縮放)工做,神經網絡自己不能完成這些變換。
143.下面哪項操做能實現跟神經網絡中Dropout的相似效果?(B)
A. Boosting
B. Bagging
C. Stacking
D. Mapping
答案:B
Dropout能夠認爲是一種極端的Bagging,每個模型都在單獨的數據上訓練,同時,經過和其餘模型對應參數的共享,從而實現模型參數的高度正則化。
144.下列哪一項在神經網絡中引入了非線性?(B)
A. 隨機梯度降低
B. 修正線性單元(ReLU)
C. 卷積函數
D .以上都不正確
答案:(B)
修正線性單元是非線性的激活函數。
145.在訓練神經網絡時,損失函數(loss)在最初的幾個epochs時沒有降低,可能的緣由是?(A)
A. 學習率(learning rate)過低
B. 正則參數過高
C. 陷入局部最小值
D. 以上都有可能
答案:(A)
146.下列哪項關於模型能力(model capacity)的描述是正確的?(指神經網絡模型能擬合複雜函數的能力)(A)
A. 隱藏層層數增長,模型能力增長
B. Dropout的比例增長,模型能力增長
C. 學習率增長,模型能力增長
D. 都不正確
答案:(A)
147.若是增長多層感知機(Multilayer Perceptron)的隱藏層層數,分類偏差便會減少。這種陳述正確仍是錯誤?
答案:錯誤
並不老是正確。過擬合可能會致使錯誤增長。
148.構建一個神經網絡,將前一層的輸出和它自身做爲輸入。下列哪種架構有反饋鏈接?(A)
A. 循環神經網絡
B. 卷積神經網絡
C. 限制玻爾茲曼機
D. 都不是
答案:(A)
149.下列哪一項在神經網絡中引入了非線性?在感知機中(Perceptron)的任務順序是什麼?
1.隨機初始化感知機的權重
2.去到數據集的下一批(batch)
3.若是預測值和輸出不一致,則調整權重
4.對一個輸入樣本,計算輸出值
答案:1 - 4 - 3 - 2
150.假設你須要調整參數來最小化代價函數(cost function),能夠使用下列哪項技術?(D)
A. 窮舉搜索
B. 隨機搜索
C. Bayesian優化
D. 以上任意一種
答案:(D)
151.在下面哪一種狀況下,一階梯度降低不必定正確工做(可能會卡住)?(B)
答案:(B)
這是鞍點(Saddle Point)的梯度降低的經典例子。另,本題來源於:題目來源
152.下圖顯示了訓練過的3層卷積神經網絡準確度,與參數數量(特徵核的數量)的關係。
從圖中趨勢可見,若是增長神經網絡的寬度,精確度會增長到一個特定閾值後,便開始下降。形成這一現象的可能緣由是什麼?(C)
A. 即便增長卷積核的數量,只有少部分的核會被用做預測
B. 當卷積核數量增長時,神經網絡的預測能力(Power)會下降
C. 當卷積核數量增長時,它們之間的相關性增長(correlate),致使過擬合
D. 以上都不正確
答案:(C)
如C選項指出的那樣,可能的緣由是核之間的相關性。
153.假設咱們有一個以下圖所示的隱藏層。隱藏層在這個網絡中起到了必定的降維做用。假如如今咱們用另外一種維度降低的方法,好比說主成分分析法(PCA)來替代這個隱藏層。那麼,這二者的輸出效果是同樣的嗎?
答案:不一樣,由於PCA用於相關特徵而隱層用於有預測能力的特徵。
154.神經網絡能組成函數(y=1xy=1x)嗎?
答案:能夠,由於激活函數能夠是互反函數。
155.下列哪一個神經網絡結構會發生權重共享?(D)
A. 卷積神經網絡
B. 循環神經網絡
C. 全鏈接神經網絡
D. 選項A和B
答案:(D)
156.批規範化(Batch Normalization)的好處都有啥?(A)
A. 在將全部的輸入傳遞到下一層以前對其進行歸一化(更改)
B. 它將權重的歸一化平均值和標準差
C. 它是一種很是有效的反向傳播(BP)方法
D. 這些均不是
答案:(A)
157.在一個神經網絡中,下面哪一種方法能夠用來處理過擬合?(D)
A. Dropout
B. 分批歸一化(Batch Normalization)
C. 正則化(regularization)
D. 均可以
答案:(D)
158.若是咱們用了一個過大的學習速率會發生什麼?(D)
A. 神經網絡會收斂
B. 很差說
C. 都不對
D. 神經網絡不會收斂
答案:(D)
159.下圖所示的網絡用於訓練識別字符H和T,以下所示:
網絡的輸出是什麼?(D)
D.多是A或B,取決於神經網絡的權重設置
答案:(D)
不知道神經網絡的權重和誤差是什麼,則沒法斷定它將會給出什麼樣的輸出。
160.假設咱們已經在ImageNet數據集(物體識別)上訓練好了一個卷積神經網絡。而後給這張卷積神經網絡輸入一張全白的圖片。對於這個輸入的輸出結果爲任何種類的物體的可能性都是同樣的,對嗎?(D)
A. 對的
B. 不知道
C. 看狀況
D. 不對
答案:(D)各個神經元的反應是不同的
161.當在卷積神經網絡中加入池化層(pooling layer)時,變換的不變性會被保留,是嗎?(C)
A. 不知道
B. 看狀況
C. 是
D. 否
答案:(C)使用池化時會致使出現不變性。
162.當數據過大以致於沒法在RAM中同時處理時,哪一種梯度降低方法更加有效?(A)
A. 隨機梯度降低法(Stochastic Gradient Descent)
B. 不知道
C. 整批梯度降低法(Full Batch Gradient Descent)
D. 都不是
答案:(A)
163.下圖是一個利用sigmoid函數做爲激活函數的含四個隱藏層的神經網絡訓練的梯度降低圖。這個神經網絡遇到了梯度消失的問題。下面哪一個敘述是正確的?(A)
A. 第一隱藏層對應D,第二隱藏層對應C,第三隱藏層對應B,第四隱藏層對應A
B. 第一隱藏層對應A,第二隱藏層對應C,第三隱藏層對應B,第四隱藏層對應D
C. 第一隱藏層對應A,第二隱藏層對應B,第三隱藏層對應C,第四隱藏層對應D
D. 第一隱藏層對應B,第二隱藏層對應D,第三隱藏層對應C,第四隱藏層對應A
答案:(A)因爲反向傳播算法進入起始層,學習能力下降,這就是梯度消失。
164.對於一個分類任務,若是開始時神經網絡的權重不是隨機賦值的,二是都設成0,下面哪一個敘述是正確的?(C)
A. 其餘選項都不對
B. 沒啥問題,神經網絡會正常開始訓練
C. 神經網絡能夠訓練,可是全部的神經元最後都會變成識別一樣的東西
D. 神經網絡不會開始訓練,由於沒有梯度改變
答案:(C)
165.下圖顯示,當開始訓練時,偏差一直很高,這是由於神經網絡在往全局最小值前進以前一直被卡在局部最小值裏。爲了不這種狀況,咱們能夠採起下面哪一種策略?(A)
A. 改變學習速率,好比一開始的幾個訓練週期不斷更改學習速率
B. 一開始將學習速率減少10倍,而後用動量項(momentum)
C. 增長參數數目,這樣神經網絡就不會卡在局部最優處
D. 其餘都不對
答案:(A)
選項A能夠將陷於局部最小值的神經網絡提取出來。
166.對於一個圖像識別問題(在一張照片裏找出一隻貓),下面哪一種神經網絡能夠更好地解決這個問題?(D)
A. 循環神經網絡
B. 感知機
C. 多層感知機
D. 卷積神經網絡
卷積神經網絡將更好地適用於圖像相關問題,由於考慮到圖像附近位置變化的固有性質。
答案:(D)
167.假設在訓練中咱們忽然遇到了一個問題,在幾回循環以後,偏差瞬間下降。你認爲數據有問題,因而你畫出了數據而且發現也許是數據的偏度過大形成了這個問題。
你打算怎麼作來處理這個問題?(D)
A. 對數據做歸一化
B. 對數據取對數變化
C. 都不對
D. 對數據做主成分分析(PCA)和歸一化
答案:(D)
首先將相關的數據去掉,而後將其置零。
168.下面那個決策邊界是神經網絡生成的?(E)
A. A
B. D
C. C
D. B
E. 以上都有
答案:(E)
169.在下圖中,咱們能夠觀察到偏差出現了許多小的」漲落」。 這種狀況咱們應該擔憂嗎?(B)
A. 須要,這也許意味着神經網絡的學習速率存在問題
B. 不須要,只要在訓練集和交叉驗證集上有累積的降低就能夠了
C. 不知道
D. 很差說
答案:(B)
選項B是正確的,爲了減小這些「起伏」,能夠嘗試增長批尺寸(batch size)。
170.在選擇神經網絡的深度時,下面那些參數須要考慮?(C)
1 神經網絡的類型(如MLP,CNN)
2 輸入數據
3 計算能力(硬件和軟件能力決定)
4 學習速率
5 映射的輸出函數
A. 1,2,4,5
B. 2,3,4,5
C. 都須要考慮
D. 1,3,4,5
答案:(C)
全部上述因素對於選擇神經網絡模型的深度都是重要的。
171.考慮某個具體問題時,你可能只有少許數據來解決這個問題。不過幸運的是你有一個相似問題已經預先訓練好的神經網絡。能夠用下面哪一種方法來利用這個預先訓練好的網絡?(C)
A. 把除了最後一層外全部的層都凍住,從新訓練最後一層
B. 對新數據從新訓練整個模型
C. 只對最後幾層進行調參(fine tune)
D. 對每一層模型進行評估,選擇其中的少數來用
答案:(C)
172.增長卷積核的大小對於改進卷積神經網絡的效果是必要的嗎?
答案:不是,增長核函數的大小不必定會提升性能。這個問題在很大程度上取決於數據集。
173.請簡述神經網絡的發展史。
@SIY.Z。本題解析來源:
淺析 Hinton 最近提出的 Capsule 計劃
174.說說spark的性能調優。
https://tech.meituan.com/spark-tuning-basic.html
https://tech.meituan.com/spark-tuning-pro.html
175.機器學習中,有哪些特徵選擇的工程方法?
數據和特徵決定了機器學習的上限,而模型和算法只是逼近這個上限而已
1.計算每個特徵與響應變量的相關性:工程上經常使用的手段有計算皮爾遜係數和互信息係數,皮爾遜係數只能衡量線性相關性而互信息係數可以很好地度量各類相關性,可是計算相對複雜一些,好在不少toolkit裏邊都包含了這個工具(如sklearn的MINE),獲得相關性以後就能夠排序選擇特徵了;
2.構建單個特徵的模型,經過模型的準確性爲特徵排序,藉此來選擇特徵;
3.經過L1正則項來選擇特徵:L1正則方法具備稀疏解的特性,所以自然具有特徵選擇的特性,可是要注意,L1沒有選到的特徵不表明不重要,緣由是兩個具備高相關性的特徵可能只保留了一個,若是要肯定哪一個特徵重要應再經過L2正則方法交叉檢驗*;
4.訓練可以對特徵打分的預選模型:RandomForest和Logistic Regression等都能對模型的特徵打分,經過打分得到相關性後再訓練最終模型;
5.經過特徵組合後再來選擇特徵:如對用戶id和用戶特徵最組合來得到較大的特徵集再來選擇特徵,這種作法在推薦系統和廣告系統中比較常見,這也是所謂億級甚至十億級特徵的主要來源,緣由是用戶數據比較稀疏,組合特徵可以同時兼顧全局模型和個性化模型,這個問題有機會能夠展開講。
6.經過深度學習來進行特徵選擇:目前這種手段正在隨着深度學習的流行而成爲一種手段,尤爲是在計算機視覺領域,緣由是深度學習具備自動學習特徵的能力,這也是深度學習又叫unsupervised feature learning的緣由。從深度學習模型中選擇某一神經層的特徵後就能夠用來進行最終目標模型的訓練了。
176.常見的分類算法有哪些?
SVM、神經網絡、隨機森林、邏輯迴歸、KNN、貝葉斯
177.常見的監督學習算法有哪些?
感知機、SVM、人工神經網絡、決策樹、邏輯迴歸
178.在其餘條件不變的前提下,如下哪一種作法容易引發機器學習中的過擬合問題(D)
A. 增長訓練集量
B. 減小神經網絡隱藏層節點數
C. 刪除稀疏的特徵
D. SVM算法中使用高斯核/RBF核代替線性核
正確答案:(D)
@劉炫320
通常狀況下,越複雜的系統,過擬合的可能性就越高,通常模型相對簡單的話泛化能力會更好一點。
B.通常認爲,增長隱層數能夠下降網絡偏差(也有文獻認爲不必定能有效下降),提升精度,但也使網絡複雜化,從而增長了網絡的訓練時間和出現「過擬合」的傾向, svm高斯核函數比線性核函數模型更復雜,容易過擬合
D.徑向基(RBF)核函數/高斯核函數的說明,這個核函數能夠將原始空間映射到無窮維空間。對於參數 ,若是選的很大,高次特徵上的權重實際上衰減得很是快,實際上(數值上近似一下)至關於一個低維的子空間;反過來,若是選得很小,則能夠將任意的數據映射爲線性可分——固然,這並不必定是好事,由於隨之而來的多是很是嚴重的過擬合問題。不過,總的來講,經過調整參數 ,高斯覈實際上具備至關高的靈活性,也是 使用最普遍的核函數之一。
179.下列時間序列模型中,哪個模型能夠較好地擬合波動性的分析和預測?(D)
A. AR模型
B. MA模型
C. ARMA模型
D. GARCH模型
正確答案:(D)
@劉炫320
R模型是一種線性預測,即已知N個數據,可由模型推出第N點前面或後面的數據(設推出P點),因此其本質相似於插值。
MA模型(moving average model)滑動平均模型,其中使用趨勢移動平均法創建直線趨勢的預測模型。
ARMA模型(auto regressive moving average model)自迴歸滑動平均模型,模型參量法高分辨率譜分析方法之一。這種方法是研究平穩隨機過程有理譜的典型方法。它比AR模型法與MA模型法有較精確的譜估計及較優良的譜分辨率性能,但其參數估算比較繁瑣。
GARCH模型稱爲廣義ARCH模型,是ARCH模型的拓展,由Bollerslev(1986)發展起來的。它是ARCH模型的推廣。GARCH(p,0)模型,至關於ARCH(p)模型。GARCH模型是一個專門針對金融數據所量體訂作的迴歸模型,除去和普通迴歸模型相同的之處,GARCH對偏差的方差進行了進一步的建模。特別適用於波動性的分析和預測,這樣的分析對投資者的決策能起到很是重要的指導性做用,其意義不少時候超過了對數值自己的分析和預測。
180.如下哪一個屬於線性分類器最佳準則?(ACD)
A. 感知準則函數
B.貝葉斯分類
C.支持向量機
D.Fisher準則
正確答案:(ACD)
@劉炫320
線性分類器有三大類:感知器準則函數、SVM、Fisher準則,而貝葉斯分類器不是線性分類器。
感知準則函數 :準則函數以使錯分類樣本到分界面距離之和最小爲原則。其優勢是經過錯分類樣本提供的信息對分類器函數進行修正,這種準則是人工神經元網絡多層感知器的基礎。
支持向量機 :基本思想是在兩類線性可分條件下,所設計的分類器界面使兩類之間的間隔爲最大,它的基本出發點是使指望泛化風險儘量小。(使用核函數可解決非線性問題)
Fisher 準則 :更普遍的稱呼是線性判別分析(LDA),將全部樣本投影到一條遠點出發的直線,使得同類樣本距離儘量小,不一樣類樣本距離儘量大,具體爲最大化「廣義瑞利商」。
根據兩類樣本通常類內密集,類間分離的特色,尋找線性分類器最佳的法線向量方向,使兩類樣本在該方向上的投影知足類內儘量密集,類間儘量分開。這種度量經過類內離散矩陣SwSw和類間離散矩陣SbSb實現。
181.基於二次準則函數的H-K算法較之於感知器算法的優勢是(BD)?
A. 計算量小
B. 能夠判別問題是否線性可分
C. 其解徹底適用於非線性可分的狀況
D. 其解的適應性更好
正確答案:(BD)
@劉炫320
HK算法思想很樸實,就是在最小均方偏差準則下求得權矢量。
他相對於感知器算法的優勢在於,他適用於線性可分和非線性可分得狀況,對於線性可分的狀況,給出最優權矢量,對於非線性可分得狀況,可以判別出來,以退出迭代過程。
182.如下說法中正確的是(BD)?
A. SVM對噪聲(如來自其餘分佈的噪聲樣本)魯棒
B. 在AdaBoost算法中,全部被分錯的樣本的權重更新比例相同
C. Boosting和Bagging都是組合多個分類器投票的方法,兩者都是根據單個分類器的正確率決定其權重
D. 給定n個數據點,若是其中一半用於訓練,通常用於測試,則訓練偏差和測試偏差之間的差異會隨着n的增長而減小
正確答案:(BD)
@劉炫320
A、SVM對噪聲(如來自其餘分佈的噪聲樣本)魯棒
SVM自己對噪聲具備必定的魯棒性,但實驗證實,是當噪聲率低於必定水平的噪聲對SVM沒有太大影響,但隨着噪聲率的不斷增長,分類器的識別率會下降。
B、在AdaBoost算法中全部被分錯的樣本的權重更新比例相同
AdaBoost算法中不一樣的訓練集是經過調整每一個樣本對應的權重來實現的。開始時,每一個樣本對應的權重是相同的,即其中n爲樣本個數,在此樣本分佈下訓練出一弱分類器。對於分類錯誤的樣本,加大其對應的權重;而對於分類正確的樣本,下降其權重,這樣分錯的樣本就被凸顯出來,從而獲得一個新的樣本分佈。在新的樣本分佈下,再次對樣本進行訓練,獲得弱分類器。以此類推,將全部的弱分類器重疊加起來,獲得強分類器。
C、Boost和Bagging都是組合多個分類器投票的方法,兩者均是根據單個分類器的正確率決定其權重。
Bagging與Boosting的區別:
取樣方式不一樣。
Bagging採用均勻取樣,而Boosting根據錯誤率取樣。
Bagging的各個預測函數沒有權重,而Boosting是有權重的。
Bagging的各個預測函數能夠並行生成,而Boosing的各個預測函數只能順序生成。
183.輸入圖片大小爲200×200,依次通過一層卷積(kernel size 5×5,padding 1,stride 2),pooling(kernel size 3×3,padding 0,stride 1),又一層卷積(kernel size 3×3,padding 1,stride 1)以後,輸出特徵圖大小爲(C):
A. 95
B. 96
C. 97
D. 98
正確答案:(C)
@劉炫320
首先咱們應該知道卷積或者池化後大小的計算公式:
out_height=((input_height - filter_height + padding_top+padding_bottom)/stride_height )+1
out_width=((input_width - filter_width + padding_left+padding_right)/stride_width )+1
其中,padding指的是向外擴展的邊緣大小,而stride則是步長,即每次移動的長度。
這樣一來就容易多了,首先長寬通常大,因此咱們只須要計算一個維度便可,這樣,通過第一次卷積後的大小爲: (200-5+2)/2+1,取99;通過第一次池化後的大小爲:(99-3)/1+1 爲97;通過第二次卷積後的大小爲: (97-3+2)/1+1 爲97。
184.在SPSS的基礎分析模塊中,做用是「以行列表的形式揭示數據之間的關係」的是(C)
A. 數據描述
B. 相關
C. 交叉表
D. 多重相應
正確答案:(C )
185.一監獄人臉識別准入系統用來識別待進入人員的身份,此係統一共包括識別4種不一樣的人員:獄警,小偷,送餐員,其餘。下面哪一種學習方法最適合此種應用需求:(B)。
A. 二分類問題
B. 多分類問題
C. 層次聚類問題
D. k-中心點聚類問題
E. 迴歸問題
F. 結構分析問題
正確答案:(B)
@劉炫320
二分類:每一個分類器只能把樣本分爲兩類。監獄裏的樣本分別爲獄警、小偷、送餐員、其餘。二分類肯 定行不通。瓦普尼克95年提出來基礎的支持向量機就是個二分類的分類器,這個分類器學習過 程就是解一個基於正負二分類推導而來的一個最優規劃問題(對偶問題),要解決多分類問題 就要用決策樹把二分類的分類器級聯,VC維的概念就是說的這事的複雜度。
層次聚類: 建立一個層次等級以分解給定的數據集。監獄裏的對象分別是獄警、小偷、送餐員、或者其 他,他們等級應該是平等的,因此不行。此方法分爲自上而下(分解)和自下而上(合併)兩種操做方式。
K-中心點聚類:挑選實際對象來表明簇,每一個簇使用一個表明對象。它是圍繞中心點劃分的一種規則,因此這裏並不合適。
迴歸分析:處理變量之間具備相關性的一種統計方法,這裏的獄警、小偷、送餐員、其餘之間並無什 麼直接關係。
結構分析: 結構分析法是在統計分組的基礎上,計算各組成部分所佔比重,進而分析某一整體現象的內部結構特徵、整體的性質、整體內部結構依時間推移而表現出的變化規律性的統計方法。結構分析法的基本表現形式,就是計算結構指標。這裏也行不通。
多分類問題: 針對不一樣的屬性訓練幾個不一樣的弱分類器,而後將它們集成爲一個強分類器。這裏獄警、 小偷、送餐員 以及他某某,分別根據他們的特色設定依據,而後進行區分識別。
186.關於 Logit 迴歸和 SVM 不正確的是(A)。
A. Logit迴歸目標函數是最小化後驗機率
B. Logit迴歸能夠用於預測事件發生機率的大小
C. SVM目標是結構風險最小化
D. SVM能夠有效避免模型過擬合
正確答案:(A)
@劉炫320
A. Logit迴歸本質上是一種根據樣本對權值進行極大似然估計的方法,然後驗機率正比於先驗機率和似然函數的乘積。logit僅僅是最大化似然函數,並無最大化後驗機率,更談不上最小化後驗機率。而最小化後驗機率是樸素貝葉斯算法要作的。A錯誤
B. Logit迴歸的輸出就是樣本屬於正類別的概率,能夠計算出機率,正確
C. SVM的目標是找到使得訓練數據儘量分開且分類間隔最大的超平面,應該屬於結構風險最小化。
D. SVM能夠經過正則化係數控制模型的複雜度,避免過擬合。
187.有兩個樣本點,第一個點爲正樣本,它的特徵向量是(0,-1);第二個點爲負樣本,它的特徵向量是(2,3),從這兩個樣本點組成的訓練集構建一個線性SVM分類器的分類面方程是(C)
A. 2x+y=4
B. x+2y=5
C. x+2y=3
D. 2x-y=0
正確答案:(C)
解析:這道題簡化了,對於兩個點來講,最大間隔就是垂直平分線,所以求出垂直平分線便可。
188.下面有關分類算法的準確率,召回率,F1 值的描述,錯誤的是?(C)
A. 準確率是檢索出相關文檔數與檢索出的文檔總數的比率,衡量的是檢索系統的查準率
B. 召回率是指檢索出的相關文檔數和文檔庫中全部的相關文檔數的比率,衡量的是檢索系統的查全率
C. 正確率、召回率和 F 值取值都在0和1之間,數值越接近0,查準率或查全率就越高
D. 爲了解決準確率和召回率衝突問題,引入了F1分數
正確答案:(C)
解析:對於二類分類問題經常使用的評價指標是精準度(precision)與召回率(recall)。一般以關注的類爲正類,其餘類爲負類,分類器在測試數據集上的預測或正確或不正確,4種狀況出現的總數分別記做:
TP——將正類預測爲正類數
FN——將正類預測爲負類數
FP——將負類預測爲正類數
TN——將負類預測爲負類數
由此:
精準率定義爲:P = TP / (TP + FP)
召回率定義爲:R = TP / (TP + FN)
F1值定義爲: F1 = 2 P R / (P + R)
精準率和召回率和F1取值都在0和1之間,精準率和召回率高,F1值也會高,不存在數值越接近0越高的說法,應該是數值越接近1越高。
189.如下幾種模型方法屬於判別式模型(Discriminative Model)的有(A)
1)混合高斯模型 2)條件隨機場模型
3)區分度訓練 4)隱馬爾科夫模型
A. 2,3
B. 3,4
C. 1,4
D. 1,2
正確答案:(A)
@劉炫320
常見的判別式模型有:Logistic Regression(Logistical 迴歸)
Linear discriminant analysis(線性判別分析)
Supportvector machines(支持向量機)
Boosting(集成學習)
Conditional random fields(條件隨機場)
Linear regression(線性迴歸)
Neural networks(神經網絡)
常見的生成式模型有:Gaussian mixture model and othertypes of mixture model(高斯混合及其餘類型混合模型)
Hidden Markov model(隱馬爾可夫)
NaiveBayes(樸素貝葉斯)
AODE(平均單依賴估計)
Latent Dirichlet allocation(LDA主題模型)
Restricted Boltzmann Machine(限制波茲曼機)
生成式模型是根據機率乘出結果,而判別式模型是給出輸入,計算出結果。
190.SPSS中,數據整理的功能主要集中在(AD )等菜單中。
A. 數據
B. 直銷
C. 分析
D. 轉換
正確答案:(AD )
@劉炫320
解析:對數據的整理主要在數據和轉換功能菜單中。
191.深度學習是當前很熱門的機器學習算法,在深度學習中,涉及到大量的矩陣相乘,如今須要計算三個稠密矩陣A,B,C的乘積ABC,假設三個矩陣的尺寸分別爲m∗n,n∗p,p∗q,且m<n<p<q,如下計算順序效率最高的是(A)
A. (AB)C
B. AC(B)
C. A(BC)
D. 因此效率都相同
正確答案:(A)
@劉炫320
首先,根據簡單的矩陣知識,由於 A*B , A 的列數必須和 B 的行數相等。所以,能夠排除 B 選項。
而後,再看 A 、 C 選項。在 A 選項中,m∗n 的矩陣 A 和n∗p的矩陣 B 的乘積,獲得 m∗p的矩陣 A*B ,而 A∗B的每一個元素須要 n 次乘法和 n-1 次加法,忽略加法,共須要 m∗n∗p次乘法運算。一樣狀況分析 A*B 以後再乘以 C 時的狀況,共須要 m∗p∗q次乘法運算。所以, A 選項 (AB)C 須要的乘法次數是 m∗n∗p+m∗p∗q 。同理分析, C 選項 A (BC) 須要的乘法次數是 n∗p∗q+m∗n∗q。
因爲m∗n∗p<m∗n∗q,m∗p∗q<n∗p∗q,顯然 A 運算次數更少,故選 A 。
192.Nave Bayes是一種特殊的Bayes分類器,特徵變量是X,類別標籤是C,它的一個假定是:( C )
A. 各種別的先驗機率P(C)是相等的
B. 以0爲均值,sqr(2)/2爲標準差的正態分佈
C. 特徵變量X的各個維度是類別條件獨立隨機變量
D. P(X|C)是高斯分佈
正確答案:( C )
@劉炫320
樸素貝葉斯的條件就是每一個變量相互獨立。
193.關於支持向量機SVM,下列說法錯誤的是(C)
A. L2正則項,做用是最大化分類間隔,使得分類器擁有更強的泛化能力
B. Hinge 損失函數,做用是最小化經驗分類錯誤
C. 分類間隔爲1||w||1||w||,||w||表明向量的模
D. 當參數C越小時,分類間隔越大,分類錯誤越多,趨於欠學習
正確答案:(C)
@劉炫320
A正確。考慮加入正則化項的緣由:想象一個完美的數據集,y>1是正類,y<-1是負類,決策面y=0,加入一個y=-30的正類噪聲樣本,那麼決策面將會變「歪」不少,分類間隔變小,泛化能力減少。加入正則項以後,對噪聲樣本的容錯能力加強,前面提到的例子裏面,決策面就會沒那麼「歪」了,使得分類間隔變大,提升了泛化能力。
B正確。
C錯誤。間隔應該是2||w||2||w||纔對,後半句應該沒錯,向量的模一般指的就是其二範數。
D正確。考慮軟間隔的時候,C對優化問題的影響就在於把a的範圍從[0,+inf]限制到了[0,C]。C越小,那麼a就會越小,目標函數拉格朗日函數導數爲0能夠求出w=∑iai∗yi∗xiw=∑iai∗yi∗xi,a變小使得w變小,所以間隔2||w||2||w||變大。
194.在HMM中,若是已知觀察序列和產生觀察序列的狀態序列,那麼可用如下哪一種方法直接進行參數估計( D )
A. EM算法
B. 維特比算法
C. 前向後向算法
D. 極大似然估計
正確答案:( D )
@劉炫320
EM算法: 只有觀測序列,無狀態序列時來學習模型參數,即Baum-Welch算法
維特比算法: 用動態規劃解決HMM的預測問題,不是參數估計
前向後向算法:用來算機率
極大似然估計:即觀測序列和相應的狀態序列都存在時的監督學習算法,用來估計參數
注意的是在給定觀測序列和對應的狀態序列估計模型參數,能夠利用極大似然發估計。若是給定觀測序列,沒有對應的狀態序列,才用EM,將狀態序列看不不可測的隱數據。
195.假定某同窗使用Naive Bayesian(NB)分類模型時,不當心將訓練數據的兩個維度搞重複了,那麼關於NB的說法中正確的是: (BD)
A. 這個被重複的特徵在模型中的決定做用會被增強
B. 模型效果相比無重複特徵的狀況下精確度會下降
C. 若是全部特徵都被重複一遍,獲得的模型預測結果相對於不重複的狀況下的模型預測結果同樣。
D. 當兩列特徵高度相關時,沒法用兩列特徵相同時所獲得的結論來分析問題
E. NB能夠用來作最小二乘迴歸
F. 以上說法都不正確
正確答案:(BD)
196.L1與L2範數在Logistic Regression 中,若是同時加入L1和L2範數,會產生什麼效果( A )。
A. 能夠作特徵選擇,並在必定程度上防止過擬合
B. 能解決維度災難問題
C. 能加快計算速度
D. 能夠得到更準確的結果
正確答案:( A )
@劉炫320
L1範數具備係數解的特性,可是要注意的是,L1沒有選到的特徵不表明不重要,緣由是兩個高相關性的特徵可能只保留一個。若是須要肯定哪一個特徵重要,再經過交叉驗證。
在代價函數後面加上正則項,L1便是Losso迴歸,L2是嶺迴歸。L1範數是指向量中各個元素絕對值之和,用於特徵選擇。L2範數 是指向量各元素的平方和而後求平方根,用於 防止過擬合,提高模型的泛化能力。所以選擇A。
對於機器學習中的範數規則化,也就是L0,L1,L2範數的詳細解答,請參閱範數規則化。
197.機器學習中L1正則化和L2正則化的區別是?(AD)
A. 使用L1能夠獲得稀疏的權值
B. 使用L1能夠獲得平滑的權值
C. 使用L2能夠獲得稀疏的權值
D. 使用L2能夠獲得平滑的權值
正確答案:(AD)
@劉炫320
L1正則化偏向於稀疏,它會自動進行特徵選擇,去掉一些沒用的特徵,也就是將這些特徵對應的權重置爲0。
L2主要功能是爲了防止過擬合,當要求參數越小時,說明模型越簡單,而模型越簡單則,越趨向於平滑,從而防止過擬合。
L1正則化/Lasso
L1正則化將係數w的L1範數做爲懲罰項加到損失函數上,因爲正則項非零,這就迫使那些弱的特徵所對應的係數變成0。所以L1正則化每每會使學到的模型很稀疏(係數w常常爲0),這個特性使得L1正則化成爲一種很好的特徵選擇方法。
L2正則化/Ridge regression
L2正則化將係數向量的L2範數添加到了損失函數中。因爲L2懲罰項中係數是二次方的,這使得L2和L1有着諸多差別,最明顯的一點就是,L2正則化會讓係數的取值變得平均。對於關聯特徵,這意味着他們可以得到更相近的對應係數。仍是以Y=X1+X2Y=X1+X2爲例,假設X1X1和X1X1具備很強的關聯,若是用L1正則化,不論學到的模型是Y=X1+X2Y=X1+X2仍是Y=2X1Y=2X1,懲罰都是同樣的,都是2α2α。可是對於L2來講,第一個模型的懲罰項是2α2α,但第二個模型的是4α4α。能夠看出,係數之和爲常數時,各系數相等時懲罰是最小的,因此纔有了L2會讓各個係數趨於相同的特色。
能夠看出,L2正則化對於特徵選擇來講一種穩定的模型,不像L1正則化那樣,係數會由於細微的數據變化而波動。因此L2正則化和L1正則化提供的價值是不一樣的,L2正則化對於特徵理解來講更加有用:表示能力強的特徵對應的係數是非零。
所以,一句話總結就是:L1會趨向於產生少許的特徵,而其餘的特徵都是0,而L2會選擇更多的特徵,這些特徵都會接近於0。Lasso在特徵選擇時候很是有用,而Ridge就只是一種規則化而已。
198.位勢函數法的積累勢函數K(x)的做用至關於Bayes判決中的( AD )
A. 後驗機率
B. 先驗機率
C. 類機率密度
D. 類機率密度與先驗機率的乘積
正確答案: (AD)
@劉炫320
事實上,AD說的是一回事。
參考連接:勢函數主要用於肯定分類面,其思想來源於物理。
199.隱馬爾可夫模型三個基本問題以及相應的算法說法正確的是( ABC)
A. 評估—前向後向算法
B. 解碼—維特比算法
C. 學習—Baum-Welch算法
D. 學習—前向後向算法
正確答案: ( ABC)
解析:評估問題,能夠使用前向算法、後向算法、前向後向算法。
200.特徵比數據量還大時,選擇什麼樣的分類器?
答案:線性分類器,由於維度高的時候,數據通常在維度空間裏面會比較稀疏,頗有可能線性可分。
201.下列屬於無監督學習的是: (A)
A. k-means
B. SVM
C. 最大熵
D. CRF
正確答案:(A)
解析: A是聚類,BC是分類,D是序列化標註,也是有監督學習。
202.下列哪一個不屬於CRF模型對於HMM和MEMM模型的優點(B)
A. 特徵靈活
B. 速度快
C. 可容納較多上下文信息
D. 全局最優
正確答案:(B)
解析: CRF 的優勢:特徵靈活,能夠容納較多的上下文信息,可以作到全局最優CRF 的缺點:速度慢
CRF沒有HMM那樣嚴格的獨立性假設條件,於是能夠容納任意的上下文信息。特徵設計靈活(與ME同樣) ————與HMM比較
同時,因爲CRF計算全局最優輸出節點的條件機率,它還克服了最大熵馬爾可夫模型標記偏置(Label-bias)的缺點。 ————與MEMM比較
CRF是在給定須要標記的觀察序列的條件下,使用維特比算法,計算整個標記序列的聯合機率分佈,而不是在給定當前狀態條件下,定義下一個狀態的狀態分佈。————與ME比較
203.數據清理中,處理缺失值的方法是? (ABCD)
A. 估算
B. 整例刪除
C. 變量刪除
D. 成對刪除
正確答案:(ABCD)
@劉炫320
因爲調查、編碼和錄入偏差,數據中可能存在一些無效值和缺失值,須要給予適當的處理。經常使用的處理方法有:估算,整例刪除,變量刪除和成對刪除。
估算(estimation)。最簡單的辦法就是用某個變量的樣本均值、中位數或衆數代替無效值和缺失值。這種辦法簡單,但沒有充分考慮數據中已有的信息,偏差可能較大。另外一種辦法就是根據調查對象對其餘問題的答案,經過變量之間的相關分析或邏輯推論進行估計。例如,某一產品的擁有狀況可能與家庭收入有關,能夠根據調查對象的家庭收入推算擁有這一產品的可能性。
整例刪除(casewise deletion)是剔除含有缺失值的樣本。因爲不少問卷均可能存在缺失值,這種作法的結果可能致使有效樣本量大大減小,沒法充分利用已經收集到的數據。所以,只適合關鍵變量缺失,或者含有無效值或缺失值的樣本比重很小的狀況。
變量刪除(variable deletion)。若是某一變量的無效值和缺失值不少,並且該變量對於所研究的問題不是特別重要,則能夠考慮將該變量刪除。這種作法減小了供分析用的變量數目,但沒有改變樣本量。
成對刪除(pairwise deletion)是用一個特殊碼(一般是九、9九、999等)表明無效值和缺失值,同時保留數據集中的所有變量和樣本。可是,在具體計算時只採用有完整答案的樣本,於是不一樣的分析因涉及的變量不一樣,其有效樣本量也會有所不一樣。這是一種保守的處理方法,最大限度地保留了數據集中的可用信息。
採用不一樣的處理方法可能對分析結果產生影響,尤爲是當缺失值的出現並不是隨機且變量之間明顯相關時。所以,在調查中應當儘可能避免出現無效值和缺失值,保證數據的完整性。
204.關於線性迴歸的描述,如下正確的有: (ACEF)
A. 基本假設包括隨機干擾項是均值爲0,方差爲1的標準正態分佈
B. 基本假設包括隨機干擾下是均值爲0的同方差正態分佈
C. 在違背基本假設時,普通最小二乘法估計量再也不是最佳線性無偏估計量
D. 在違背基本假設時,模型再也不能夠估計
E. 能夠用DW檢驗殘差是否存在序列相關性
F. 多重共線性會使得參數估計值方差減少
正確答案:(ACEF)
@劉炫320
一、AB一元線性迴歸的基本假設有:
(1)隨機偏差項是一個指望值或平均值爲0的隨機變量;
(2)對於解釋變量的全部觀測值,隨機偏差項有相同的方差;
(3)隨機偏差項彼此不相關;
(4)解釋變量是肯定性變量,不是隨機變量,與隨機偏差項彼此之間相互獨立;
(5)解釋變量之間不存在精確的(徹底的)線性關係,即解釋變量的樣本觀測值矩陣是滿秩矩陣;
(6)隨機偏差項服從正態分佈
二、CD 違背基本假設的計量經濟學模型仍是能夠估計的,只是不能使用普通最小二乘法進行估計。
當存在異方差時,普通最小二乘法估計存在如下問題: 參數估計值雖然是無偏的,但不是最小方差線性無偏估計。
三、E杜賓-瓦特森(DW)檢驗,計量經濟,統計分析中經常使用的一種檢驗序列一階自相關最經常使用的方法。
四、F所謂多重共線性(Multicollinearity)是指線性迴歸模型中的解釋變量之間因爲存在精確相關關係或高度相關關係而使模型估計失真或難以估計準確。影響
(1)徹底共線性下參數估計量不存在
(2)近似共線性下OLS估計量非有效
多重共線性使參數估計值的方差增大,1/(1-r2)爲方差膨脹因子(Variance Inflation Factor, VIF)
(3)參數估計量經濟含義不合理
(4)變量的顯著性檢驗失去意義,可能將重要的解釋變量排除在模型以外
(5)模型的預測功能失效。變大的方差容易使區間預測的「區間」變大,使預測失去意義。
對於線性迴歸模型,當響應變量服從正態分佈,偏差項知足高斯–馬爾科夫條件(零均值、等方差、不相關)時,迴歸參數的最小二乘估計是一致最小方差無偏估計。
固然,該條件只是理想化的假定,爲的是數學上有相應的較爲成熟的結論。其實大多數實際問題都不徹底知足這些理想化的假定。
線性迴歸模型理論的發展正是在不斷克服理想化條件不被知足時獲得許多新方法。如加權LSE、嶺估計、壓縮估計、BOX_COX變換等一系列段。作實際工做時必定是要超越書本上的理想化條件的。
205.影響聚類算法效果的主要緣由有:(ABC)
A. 特徵選取
B. 模式類似性測度
C. 分類準則
D. 已知類別的樣本質量
正確答案:(ABC)
@劉炫320
解析:這道題應該是很簡單的,D之因此不正確,是由於聚類是對無類別的數據進行聚類,不使用已經標記好的數據。
206.如下哪一個是常見的時間序列算法模型(C)
A. RSI
B. MACD
C. ARMA
D. KDJ
正確答案:(C)
解析: 自迴歸滑動平均模型(ARMA) ,其建模思想可歸納爲:逐漸增長模型的階數,擬合較高階模型,直到再增長模型的階數而剩餘殘差方差再也不顯著減少爲止。
其餘三項都不是一個層次的。
A. 相對強弱指數 (RSI, Relative Strength Index) 是經過比較一段時期內的平均收盤漲數和平均收盤跌數來分析市場買沽盤的意向和實力 , 從而做出將來市場的走勢 。
B. 移動平均聚散指標 (MACD, Moving Average Convergence Divergence), 是根據均線的構造原理 , 對股票價格的收盤價進行平滑處理 , 求出算術平均值之後再進行計算 , 是一種趨向類指標 。
D. 隨機指標 (KDJ) 通常是根據統計學的原理 , 經過一個特定的週期 ( 常爲 9 日 ,9 周等 ) 內出現過的最高價 , 最低價及最後一個計算週期的收盤價及這三者之間的比例關係 , 來計算最後一個計算週期的未成熟隨機值 RSV, 而後根據平滑移動平均線的方法來計算 K 值 , D 值與 J 值 , 並繪成曲線圖來研判股票走勢 。
207.下列不是SVM核函數的是:(B)
A. 多項式核函數
B. Logistic核函數
C. 徑向基核函數
D. Sigmoid核函數
正確答案:(B)
@劉炫320
SVM核函數包括線性核函數、多項式核函數、徑向基核函數、高斯核函數、冪指數核函數、拉普拉斯核函數、ANOVA核函數、二次有理核函數、多元二次核函數、逆多元二次核函數以及Sigmoid核函數。
核函數的定義並不困難,根據泛函的有關理論,只要一種函數 K ( x i , x j ) 知足Mercer條件,它就對應某一變換空間的內積。對於判斷哪些函數是核函數到目前爲止也取得了重要的突破,獲得Mercer定理和如下經常使用的核函數類型:
(1)線性核函數 :K ( x , x i ) = x ⋅ x i
(2)多項式核 :K ( x , x i ) = ( ( x ⋅ x i ) + 1 ) d
(3)徑向基核(RBF):K ( x , x i ) = exp ( − ∥ x − x i ∥ 2 σ 2 )
Gauss徑向基函數則是局部性強的核函數,其外推能力隨着參數 σ 的增大而減弱。多項式形式的核函數具備良好的全局性質。局部性較差。
(4)傅里葉核 :K ( x , x i ) = 1 − q 2 2 ( 1 − 2 q cos ( x − x i ) + q 2 )
(5)樣條核 :K ( x , x i ) = B 2 n + 1 ( x − x i )
(6)Sigmoid核函數 :K ( x , x i ) = tanh ( κ ( x , x i ) − δ )
採用Sigmoid函數做爲核函數時,支持向量機實現的就是一種多層感知器神經網絡,應用SVM方法,隱含層節點數目(它肯定神經網絡的結構)、隱含層節點對輸入節點的權值都是在設計(訓練)的過程當中自動肯定的。並且支持向量機的理論基礎決定了它最終求得的是全局最優值而不是局部最小值,也保證了它對於未知樣本的良好泛化能力而不會出現過學習現象。
在選取核函數解決實際問題時,一般採用的方法有:
一是利用專家的先驗知識預先選定核函數;
二是採用Cross-Validation方法,即在進行核函數選取時,分別試用不一樣的核函數,概括偏差最小的核函數就是最好的核函數.如針對傅立葉核、RBF核,結合信號處理問題中的函數迴歸問題,經過仿真實驗,對比分析了在相同數據條件下,採用傅立葉核的SVM要比採用RBF核的SVM偏差小不少。
三是採用由Smits等人提出的混合核函數方法,該方法較以前二者是目前選取核函數的主流方法,也是關於如何構造核函數的又一開創性的工做.將不一樣的核函數結合起來後會有更好的特性,這是混合核函數方法的基本思想。
208.已知一組數據的協方差矩陣P,下面關於主份量說法錯誤的是( C )
A. 主份量分析的最佳準則是對一組數據進行按一組正交基分解, 在只取相同數量份量的條件下,以均方偏差計算截尾偏差最小
B. 在經主份量分解後,協方差矩陣成爲對角矩陣
C. 主份量分析就是K-L變換
D. 主份量是經過求協方差矩陣的特徵值獲得
正確答案:( C )
解析:K-L變換與PCA變換是不一樣的概念,PCA的變換矩陣是協方差矩陣,K-L變換的變換矩陣能夠有不少種(二階矩陣、協方差矩陣、總類內離散度矩陣等等)。當K-L變換矩陣爲協方差矩陣時,等同於PCA。
209.在分類問題中,咱們常常會遇到正負樣本數據量不等的狀況,好比正樣本爲10w條數據,負樣本只有1w條數據,如下最合適的處理方法是( ACD)
A. 將負樣本重複10次,生成10w樣本量,打亂順序參與分類
B. 直接進行分類,能夠最大限度利用數據
C. 從10w正樣本中隨機抽取1w參與分類
D. 將負樣本每一個權重設置爲10,正樣本權重爲1,參與訓練過程
正確答案:( ACD)
解析:
1.重採樣。 A可視做重採樣的變形。改變數據分佈消除不平衡,可能致使過擬合。
2.欠採樣。 C的方案 提升少數類的分類性能,可能丟失多數類的重要信息。
若是1:10算是均勻的話,能夠將多數類分割成爲1000份。而後將每一份跟少數類的樣本組合進行訓練獲得分類器。然後將這1000個分類器用assemble的方法組合位一個分類器。A選項能夠看做此方式,於是相對比較合理。
另:若是目標是 預測的分佈 跟訓練的分佈一致,那就加大對分佈不一致的懲罰係數。
3. 權值調整。 D方案也是其中一種方式。
固然,這只是在數據集上進行相應的處理,在算法上也有相應的處理方法。
210.在統計模式識分類問題中,當先驗機率未知時,能夠使用( BC )?
A. 最小損失準則
B. N-P判決
C. 最小最大損失準則
D. 最小誤判機率準則
正確答案:( BC )
@劉炫320
選項 A ,最小損失準則中須要用到先驗機率
選項B ,在貝葉斯決策中,對於先驗機率p(y),分爲已知和未知兩種狀況。
1. p(y)已知,直接使用貝葉斯公式求後驗機率便可;
2. p(y)未知,能夠使用聶曼-皮爾遜決策(N-P決策)來計算決策面。
聶曼-皮爾遜決策(N-P判決)能夠歸結爲找閾值a,即:
若是p(x|w1)/p(x|w2)>a,則 x屬於w1;
若是p(x|w1)/p(x|w2)<a,則 x屬於w2;
選項C ,最大最小損失規則主要就是使用解決最小損失規則時先驗機率未知或難以計算的問題的。
211.解決隱馬模型中預測問題的算法是?(D)
A. 前向算法
B. 後向算法
C. Baum-Welch算法
D. 維特比算法
正確答案:(D)
@劉炫320
A、B:前向、後向算法解決的是一個評估問題,即給定一個模型,求某特定觀測序列的機率,用於評估該序列最匹配的模型。
C:Baum-Welch算法解決的是一個模型訓練問題,即參數估計,是一種無監督的訓練方法,主要經過EM迭代實現;
D:維特比算法解決的是給定 一個模型和某個特定的輸出序列,求最可能產生這個輸出的狀態序列。如經過海藻變化(輸出序列)來觀測天氣(狀態序列),是預測問題,通訊中的解碼問題。
212.通常,k-NN最近鄰方法在( B )的狀況下效果較好。
A. 樣本較多但典型性很差
B. 樣本較少但典型性好
C. 樣本呈團狀分佈
D. 樣本呈鏈狀分佈
正確答案:( B )
解析:
K近鄰算法主要依靠的是周圍的點,所以若是樣本過多,那確定是區分不出來的。所以應當選擇B。
樣本呈團狀很有迷惑性,這裏應該指的是整個樣本都是呈團狀分佈,這樣kNN就發揮不出其求近鄰的優點了,總體樣本應該具備典型性好,樣本較少,比較適宜。
213.下列方法中,能夠用於特徵降維的方法包括(ABCD)
A. 主成分分析PCA
B. 線性判別分析LDA
C. 深度學習SparseAutoEncoder
D. 矩陣奇異值分解SVD
E. 最小二乘法LeastSquares
正確答案:(ABCD)
解析:降維的3種常見方法ABD,都是線性的。深度學習是降維的方法這個就比較新鮮了,事實上,細細想來,也是降維的一種方法,由於若是隱藏層中的神經元數目要小於輸入層,那就達到了降維,但若是隱藏層中的神經元若是多餘輸入層,那就不是降維了。
最小二乘法是線性迴歸的一種解決方法,其實也是投影,可是並無進行降維。
214.下面哪些是基於核的機器學習算法?( BCD )
A. Expectation Maximization(EM)(最大指望算法)
B. Radial Basis Function(RBF)(徑向基核函數)
C. Linear Discrimimate Analysis(LDA)(主成分分析法)
D. Support Vector Machine(SVM)(支持向量機)
正確答案:( BCD )
解析:徑向基核函數是很是經常使用的核函數,而主成分分析法的常規方法是線性的,可是當遇到非線性的時候,一樣能夠使用核方法使得非線性問題轉化爲線性問題。支持向量機處理非線性的問題的時候,核函數也是很是重要的。
215.試推導樣本空間中任意點x到超平面(w,b)的距離公式。
216.從網上下載或本身編程實現一個卷積神經網絡,並在手寫字符識別數據MNIST上進行試驗測試。
解析詳見:周志華《機器學習》課後習題解答系列(六):Ch5.10 - 卷積神經網絡實驗
217.神經網絡中激活函數的真正意義?一個激活函數須要具備哪些必要的屬性?還有哪些屬是好的屬性但沒必要要的?
@Hengkai Guo
說說我對一個好的激活函數的理解吧,有些地方可能不太嚴謹,歡迎討論。(部分參考了Activation function。)
1. 非線性:即導數不是常數。這個條件前面不少答主都提到了,是多層神經網絡的基礎,保證多層網絡不退化成單層線性網絡。這也是激活函數的意義所在。
2. 幾乎到處可微:可微性保證了在優化中梯度的可計算性。傳統的激活函數如sigmoid等知足到處可微。對於分段線性函數好比ReLU,只知足幾乎到處可微(即僅在有限個點處不可微)。對於SGD算法來講,因爲幾乎不可能收斂到梯度接近零的位置,有限的不可微點對於優化結果不會有很大影響[1]。
3. 計算簡單:正如題主所說,非線性函數有不少。極端的說,一個多層神經網絡也能夠做爲一個非線性函數,相似於Network In Network[2]中把它當作卷積操做的作法。但激活函數在神經網絡前向的計算次數與神經元的個數成正比,所以簡單的非線性函數天然更適合用做激活函數。這也是ReLU之流比其它使用Exp等操做的激活函數更受歡迎的其中一個緣由。
4. 非飽和性(saturation):飽和指的是在某些區間梯度接近於零(即梯度消失),使得參數沒法繼續更新的問題。最經典的例子是Sigmoid,它的導數在x爲比較大的正值和比較小的負值時都會接近於0。更極端的例子是階躍函數,因爲它在幾乎全部位置的梯度都爲0,所以到處飽和,沒法做爲激活函數。ReLU在x>0時導數恆爲1,所以對於再大的正值也不會飽和。但同時對於x<0,其梯度恆爲0,這時候它也會出現飽和的現象(在這種狀況下一般稱爲dying ReLU)。Leaky ReLU[3]和PReLU[4]的提出正是爲了解決這一問題。
5. 單調性(monotonic):即導數符號不變。這個性質大部分激活函數都有,除了諸如sin、cos等。我的理解,單調性使得在激活函數處的梯度方向不會常常改變,從而讓訓練更容易收斂。
6. 輸出範圍有限:有限的輸出範圍使得網絡對於一些比較大的輸入也會比較穩定,這也是爲何早期的激活函數都以此類函數爲主,如Sigmoid、TanH。但這致使了前面提到的梯度消失問題,並且強行讓每一層的輸出限制到固定範圍會限制其表達能力。所以如今這類函數僅用於某些須要特定輸出範圍的場合,好比機率輸出(此時loss函數中的log操做可以抵消其梯度消失的影響[1])、LSTM裏的gate函數。
7. 接近恆等變換(identity):即約等於x。這樣的好處是使得輸出的幅值不會隨着深度的增長而發生顯著的增長,從而使網絡更爲穩定,同時梯度也可以更容易地回傳。這個與非線性是有點矛盾的,所以激活函數基本只是部分知足這個條件,好比TanH只在原點附近有線性區(在原點爲0且在原點的導數爲1),而ReLU只在x>0時爲線性。這個性質也讓初始化參數範圍的推導更爲簡單[5][4]。額外提一句,這種恆等變換的性質也被其餘一些網絡結構設計所借鑑,好比CNN中的ResNet[6]和RNN中的LSTM。
8. 參數少:大部分激活函數都是沒有參數的。像PReLU帶單個參數會略微增長網絡的大小。還有一個例外是Maxout[7],儘管自己沒有參數,但在一樣輸出通道數下k路Maxout須要的輸入通道數是其它函數的k倍,這意味着神經元數目也須要變爲k倍;但若是不考慮維持輸出通道數的狀況下,該激活函數又能將參數個數減小爲原來的k倍。
9. 歸一化(normalization):這個是最近纔出來的概念,對應的激活函數是SELU[8],主要思想是使樣本分佈自動歸一化到零均值、單位方差的分佈,從而穩定訓練。在這以前,這種歸一化的思想也被用於網絡結構的設計,好比Batch Normalization[9]。
218.梯度降低法的神經網絡容易收斂到局部最優,爲何應用普遍?
@李振華
知乎答案
219.EM算法、HMM、CRF。
這三個放在一塊兒不是很恰當,可是有互相有關聯,因此就放在這裏一塊兒說了。注意重點關注算法的思想。
(1)EM算法
EM算法是用於含有隱變量模型的極大似然估計或者極大後驗估計,有兩步組成:E步,求指望(expectation);M步,求極大(maxmization)。本質上EM算法仍是一個迭代算法,經過不斷用上一代參數對隱變量的估計來對當前變量進行計算,直到收斂。
注意:EM算法是對初值敏感的,並且EM是不斷求解下界的極大化逼近求解對數似然函數的極大化的算法,也就是說EM算法不能保證找到全局最優值。對於EM的導出方法也應該掌握。
(2)HMM算法
隱馬爾可夫模型是用於標註問題的生成模型。有幾個參數(π,A,B):初始狀態機率向量π,狀態轉移矩陣A,觀測機率矩陣B。稱爲馬爾科夫模型的三要素。
馬爾科夫三個基本問題:
機率計算問題:給定模型和觀測序列,計算模型下觀測序列輸出的機率。–》前向後向算法
學習問題:已知觀測序列,估計模型參數,即用極大似然估計來估計參數。–》Baum-Welch(也就是EM算法)和極大似然估計。
預測問題:已知模型和觀測序列,求解對應的狀態序列。–》近似算法(貪心算法)和維比特算法(動態規劃求最優路徑)
(3)條件隨機場CRF
給定一組輸入隨機變量的條件下另外一組輸出隨機變量的條件機率分佈密度。條件隨機場假設輸出變量構成馬爾科夫隨機場,而咱們平時看到的大可能是線性鏈條隨機場,也就是由輸入對輸出進行預測的判別模型。求解方法爲極大似然估計或正則化的極大似然估計。
之因此總把HMM和CRF進行比較,主要是由於CRF和HMM都利用了圖的知識,可是CRF利用的是馬爾科夫隨機場(無向圖),而HMM的基礎是貝葉斯網絡(有向圖)。並且CRF也有:機率計算問題、學習問題和預測問題。大體計算方法和HMM相似,只不過不須要EM算法進行學習問題。
(4)HMM和CRF對比
其根本仍是在於基本的理念不一樣,一個是生成模型,一個是判別模型,這也就致使了求解方式的不一樣。
220.CNN經常使用的幾個模型。
221.帶核的SVM爲何能分類非線性問題?
核函數的本質是兩個函數的內積,而這個函數在SVM中能夠表示成對於輸入值的高維映射。注意核並非直接對應映射,核只不過是一個內積。
222.經常使用核函數及核函數的條件。
核函數選擇的時候應該從線性核開始,並且在特徵不少的狀況下沒有必要選擇高斯核,應該從簡單到難的選擇模型。咱們一般說的核函數指的是正定和函數,其充要條件是對於任意的x屬於X,要求K對應的Gram矩陣要是半正定矩陣。
RBF核徑向基,這類函數取值依賴於特定點間的距離,因此拉普拉斯核其實也是徑向基核。
線性核:主要用於線性可分的狀況
多項式核
223.Boosting和Bagging。
(1)隨機森林
隨機森林改變了決策樹容易過擬合的問題,這主要是由兩個操做所優化的:
1)Boostrap從袋內有放回的抽取樣本值
2)每次隨機抽取必定數量的特徵(一般爲sqr(n))。
分類問題:採用Bagging投票的方式選擇類別頻次最高的
迴歸問題:直接取每顆樹結果的平均值。
(2)Boosting之AdaBoost
Boosting的本質其實是一個加法模型,經過改變訓練樣本權重學習多個分類器並進行一些線性組合。而Adaboost就是加法模型+指數損失函數+前項分佈算法。Adaboost就是從弱分類器出發反覆訓練,在其中不斷調整數據權重或者是機率分佈,同時提升前一輪被弱分類器誤分的樣本的權值。最後用分類器進行投票表決(可是分類器的重要性不一樣)。
(3)Boosting之GBDT
將基分類器變成二叉樹,迴歸用二叉迴歸樹,分類用二叉分類樹。和上面的Adaboost相比,迴歸樹的損失函數爲平方損失,一樣能夠用指數損失函數定義分類問題。可是對於通常損失函數怎麼計算呢?GBDT(梯度提高決策樹)是爲了解決通常損失函數的優化問題,方法是用損失函數的負梯度在當前模型的值來模擬迴歸問題中殘差的近似值。
注:因爲GBDT很容易出現過擬合的問題,因此推薦的GBDT深度不要超過6,而隨機森林能夠在15以上。
(4)Xgboost
這個工具主要有如下幾個特色:
支持線性分類器
能夠自定義損失函數,而且能夠用二階偏導
加入了正則化項:葉節點數、每一個葉節點輸出score的L2-norm
支持特徵抽樣
在必定狀況下支持並行,只有在建樹的階段纔會用到,每一個節點能夠並行的尋找分裂特徵。
224.邏輯迴歸相關問題。
(1)公式推導必定要會
(2)邏輯迴歸的基本概念
這個最好從廣義線性模型的角度分析,邏輯迴歸是假設y服從Bernoulli分佈。
(3)L1-norm和L2-norm
其實稀疏的根本仍是在於L0-norm也就是直接統計參數不爲0的個數做爲規則項,但實際上卻很差執行因而引入了L1-norm;而L1norm本質上是假設參數先驗是服從Laplace分佈的,而L2-norm是假設參數先驗爲Gaussian分佈,咱們在網上看到的一般用圖像來解答這個問題的原理就在這。
可是L1-norm的求解比較困難,能夠用座標軸降低法或是最小角迴歸法求解。
(4)LR和SVM對比
首先,LR和SVM最大的區別在於損失函數的選擇,LR的損失函數爲Log損失(或者說是邏輯損失均可以)、而SVM的損失函數爲hinge loss
minw,b∑iN[1−yi(w∗xi+b)]+λ||w||2
minw,b∑iN[1−yi(w∗xi+b)]+λ||w||2
其次,二者都是線性模型。
最後,SVM只考慮支持向量(也就是和分類相關的少數點)
(5)LR和隨機森林區別
隨機森林等樹算法都是非線性的,而LR是線性的。LR更側重全局優化,而樹模型主要是局部的優化。
(6)經常使用的優化方法
邏輯迴歸自己是能夠用公式求解的,可是由於須要求逆的複雜度過高,因此才引入了梯度降低算法。
一階方法:梯度降低、隨機梯度降低、mini 隨機梯度降低降法。隨機梯度降低不但速度上比原始梯度降低要快,局部最優化問題時能夠必定程度上抑制局部最優解的發生。
二階方法:牛頓法、擬牛頓法:
這裏詳細說一下牛頓法的基本原理和牛頓法的應用方式。牛頓法其實就是經過切線與x軸的交點不斷更新切線的位置,直到達到曲線與x軸的交點獲得方程解。在實際應用中咱們由於經常要求解凸優化問題,也就是要求解函數一階導數爲0的位置,而牛頓法剛好能夠給這種問題提供解決方法。實際應用中牛頓法首先選擇一個點做爲起始點,並進行一次二階泰勒展開獲得導數爲0的點進行一個更新,直到達到要求,這時牛頓法也就成了二階求解問題,比一階方法更快。咱們經常看到的x一般爲一個多維向量,這也就引出了Hessian矩陣的概念(就是x的二階導數矩陣)。缺點:牛頓法是定長迭代,沒有步長因子,因此不能保證函數值穩定的降低,嚴重時甚至會失敗。還有就是牛頓法要求函數必定是二階可導的。並且計算Hessian矩陣的逆複雜度很大。
擬牛頓法: 不用二階偏導而是構造出Hessian矩陣的近似正定對稱矩陣的方法稱爲擬牛頓法。擬牛頓法的思路就是用一個特別的表達形式來模擬Hessian矩陣或者是他的逆使得表達式知足擬牛頓條件。主要有DFP法(逼近Hession的逆)、BFGS(直接逼近Hession矩陣)、 L-BFGS(能夠減小BFGS所需的存儲空間)。
225.用貝葉斯機率說明Dropout的原理。
參考答案
226.爲何不少作人臉的Paper會最後加入一個Local Connected Conv?
@許韓
以FaceBook DeepFace 爲例:
DeepFace 先進行了兩次全卷積+一次池化,提取了低層次的邊緣/紋理等特徵。後接了3個Local-Conv層,這裏是用Local-Conv的緣由是,人臉在不一樣的區域存在不一樣的特徵(眼睛/鼻子/嘴的分佈位置相對固定),當不存在全局的局部特徵分佈時,Local-Conv更適合特徵的提取。
227.什麼事共線性, 跟過擬合有什麼關聯?
@抽象猴
共線性:多變量線性迴歸中,變量之間因爲存在高度相關關係而使迴歸估計不許確。
共線性會形成冗餘,致使過擬合。
解決方法:排除變量的相關性/加入權重正則。
228.爲何網絡夠深(Neurons 足夠多)的時候,老是能夠避開較差Local Optima?
參見:The Loss Surfaces of Multilayer Networks
229.機器學習中的正負樣本。
在分類問題中,這個問題相對好理解一點,好比人臉識別中的例子,正樣本很好理解,就是人臉的圖片,負樣本的選取就與問題場景相關,具體而言,若是你要進行教室中學生的人臉識別,那麼負樣本就是教室的窗子、牆等等,也就是說,不能是與你要研究的問題絕不相關的亂七八糟的場景圖片,這樣的負樣本並無意義。負樣本能夠根據背景生成,有時候不須要尋找額外的負樣本。通常3000-10000的正樣本須要5,000,000-100,000,000的負樣原本學習,在互金領域通常在入模前將正負比例經過採樣的方法調整到3:1-5:1。
230.機器學習中,有哪些特徵選擇的工程方法?
數據和特徵決定了機器學習的上限,而模型和算法只是逼近這個上限而已。
1.計算每個特徵與響應變量的相關性:工程上經常使用的手段有計算皮爾遜係數和互信息係數,皮爾遜係數只能衡量線性相關性而互信息係數可以很好地度量各類相關性,可是計算相對複雜一些,好在不少toolkit裏邊都包含了這個工具(如sklearn的MINE),獲得相關性以後就能夠排序選擇特徵了;
2.構建單個特徵的模型,經過模型的準確性爲特徵排序,藉此來選擇特徵;
3.經過L1正則項來選擇特徵:L1正則方法具備稀疏解的特性,所以自然具有特徵選擇的特性,可是要注意,L1沒有選到的特徵不表明不重要,緣由是兩個具備高相關性的特徵可能只保留了一個,若是要肯定哪一個特徵重要應再經過L2正則方法交叉檢驗*;
4.訓練可以對特徵打分的預選模型:RandomForest和Logistic Regression等都能對模型的特徵打分,經過打分得到相關性後再訓練最終模型;
5.經過特徵組合後再來選擇特徵:如對用戶id和用戶特徵最組合來得到較大的特徵集再來選擇特徵,這種作法在推薦系統和廣告系統中比較常見,這也是所謂億級甚至十億級特徵的主要來源,緣由是用戶數據比較稀疏,組合特徵可以同時兼顧全局模型和個性化模型,這個問題有機會能夠展開講。
6.經過深度學習來進行特徵選擇:目前這種手段正在隨着深度學習的流行而成爲一種手段,尤爲是在計算機視覺領域,緣由是深度學習具備自動學習特徵的能力,這也是深度學習又叫unsupervised feature learning的緣由。從深度學習模型中選擇某一神經層的特徵後就能夠用來進行最終目標模型的訓練了。
231.在一個n維的空間中, 最好的檢測outlier(離羣點)的方法是:(C)
A. 做正態分佈機率圖
B. 做盒形圖
C. 馬氏距離
D. 做散點圖
答案:(C)
馬氏距離是基於卡方分佈的,度量多元outlier離羣點的統計方法。更多請詳見: 從K近鄰算法、距離度量談到KD樹、SIFT+BBF算法。
232.對數概率迴歸(logistics regression)和通常回歸分析有什麼區別?(D)
A. 對數概率迴歸是設計用來預測事件可能性的
B. 對數概率迴歸能夠用來度量模型擬合程度
C. 對數概率迴歸能夠用來估計迴歸係數
D. 以上全部
答案:(D)
A: 對數概率迴歸實際上是設計用來解決分類問題的
B: 對數概率迴歸能夠用來檢驗模型對數據的擬合度
C: 雖然對數概率迴歸是用來解決分類問題的,可是模型創建好後,就能夠根據獨立的特徵,估計相關的迴歸係數。就我認爲,這只是估計迴歸係數,不能直接用來作迴歸模型。
233.bootstrap數據是什麼意思?(提示:考「bootstrap」和「boosting」區別)(C)
A. 有放回地從總共M個特徵中抽樣m個特徵
B. 無放回地從總共M個特徵中抽樣m個特徵
C. 有放回地從總共N個樣本中抽樣n個樣本
D. 無放回地從總共N個樣本中抽樣n個樣本
答案:(C)
234.「過擬合」只在監督學習中出現,在非監督學習中,沒有」過擬合」,這是:(B)
A. 對的
B. 錯的
答案:(B)
咱們能夠評估無監督學習方法經過無監督學習的指標,如:咱們能夠評估聚類模型經過調整蘭德係數(adjusted rand score)。
235.對於k折交叉驗證, 如下對k的說法正確的是 :(D)
A. k越大, 不必定越好, 選擇大的k會加大評估時間
B. 選擇更大的k, 就會有更小的bias (由於訓練集更加接近總數據集)
C. 在選擇k時, 要最小化數據集之間的方差
D. 以上全部
答案:(D)
k越大, bias越小, 訓練時間越長. 在訓練時, 也要考慮數據集間方差差異不大的原則. 好比, 對於二類分類問題, 使用2-折交叉驗證, 若是測試集裏的數據都是A類的, 而訓練集中數據都是B類的, 顯然, 測試效果會不好。
236.迴歸模型中存在多重共線性, 你如何解決這個問題?
1.去除這兩個共線性變量
2.咱們能夠先去除一個共線性變量
3.計算VIF(方差膨脹因子), 採起相應措施
4.爲了不損失信息, 咱們能夠使用一些正則化方法, 好比, 嶺迴歸和lasso迴歸.
如下哪些是對的:(D)
A. 1
B. 2
C. 2和3
D. 2, 3和4
答案: (D)
解決多重公線性, 能夠使用相關矩陣去去除相關性高於75%的變量 (有主觀成分). 也能夠VIF, 若是VIF值<=4說明相關性不是很高, VIF值>=10說明相關性較高.
咱們也能夠用 嶺迴歸和lasso迴歸的帶有懲罰正則項的方法. 咱們也能夠在一些變量上加隨機噪聲, 使得變量之間變得不一樣, 可是這個方法要當心使用, 可能會影響預測效果。
237.模型的高bias是什麼意思, 咱們如何下降它 ?(B)
A. 在特徵空間中減小特徵
B. 在特徵空間中增長特徵
C. 增長數據點
D. B和C
E. 以上全部
答案: (B)
bias過高說明模型太簡單了, 數據維數不夠, 沒法準確預測數據, 因此, 升維吧 !
238.訓練決策樹模型, 屬性節點的分裂, 具備最大信息增益的圖是下圖的哪個:(A)
A. Outlook
B. Humidity
C. Windy
D. Temperature
答案: (A)
信息增益, 增長平均子集純度。
239.對於信息增益, 決策樹分裂節點, 下面說法正確的是: (C)
1.純度高的節點須要更多的信息去區分
2.信息增益能夠用」1比特-熵」得到
3.若是選擇一個屬性具備許多歸類值, 那麼這個信息增益是有誤差的
A. 1
B. 2
C. 2和3
D. 全部以上
答案: (C)
240.若是SVM模型欠擬合, 如下方法哪些能夠改進模型 : (A)
A. 增大懲罰參數C的值
B. 減少懲罰參數C的值
C. 減少核係數(gamma參數)
答案:(A)
若是SVM模型欠擬合, 咱們能夠調高參數C的值, 使得模型複雜度上升。
241.下圖是同一個SVM模型, 可是使用了不一樣的徑向基核函數的gamma參數, 依次是g1, g2, g3 , 下面大小比較正確的是 :(C)
A. g1 > g2 > g3
B. g1 = g2 = g3
C. g1 < g2 < g3
D. g1 >= g2 >= g3
E. g1 <= g2 <= g3
答案: (C)
242.假設咱們要解決一個二類分類問題, 咱們已經創建好了模型, 輸出是0或1, 初始時設閾值爲0.5, 超過0.5機率估計, 就判別爲1, 不然就判別爲0 ; 若是咱們如今用另外一個大於0.5的閾值, 那麼如今關於模型說法, 正確的是 : (C)
1.模型分類的召回率會下降或不變
2.模型分類的召回率會升高
3.模型分類準確率會升高或不變
4.模型分類準確率會下降
A. 1
B. 2
C.1和3
D. 2和4
E. 以上都不是
答案: (C)
243.」點擊率問題」是這樣一個預測問題, 99%的人是不會點擊的, 而1%的人是會點擊進去的, 因此這是一個很是不平衡的數據集. 假設, 如今咱們已經建了一個模型來分類, 並且有了99%的預測準確率, 咱們能夠下的結論是 : (B)
A. 模型預測準確率已經很高了, 咱們不須要作什麼了
B. 模型預測準確率不高, 咱們須要作點什麼改進模型
C. 沒法下結論
D. 以上都不對
答案: (B)
99%的預測準確率可能說明, 你預測的沒有點進去的人很準確 (由於有99%的人是不會點進去的, 這很好預測)。不能說明你的模型對點進去的人預測準確, 因此, 對於這樣的非平衡數據集, 咱們要把注意力放在小部分的數據上, 即那些點擊進去的人。
244.使用k=1的KNN算法, 下圖二類分類問題, 「+」 和 「o」 分別表明兩個類, 那麼, 用僅拿出一個測試樣本的交叉驗證方法, 交叉驗證的錯誤率是多少 :(B)
A. 0%
B. 100%
C. 0% 到 100%
D. 以上都不是
答案: (B)
KNN算法就是, 在樣本週圍看k個樣本, 其中大多數樣本的分類是A類, 咱們就把這個樣本分紅A類. 顯然, k=1 的KNN在上圖不是一個好選擇, 分類的錯誤率始終是100%。
245.咱們想在大數據集上訓練決策樹, 爲了使用較少時間, 咱們能夠 : (C)
A. 增長樹的深度
B. 增長學習率 (learning rate)
C. 減小樹的深度
D. 減小樹的數量
答案: (C)
A.增長樹的深度, 會致使全部節點不斷分裂, 直到葉子節點是純的爲止. 因此, 增長深度, 會延長訓練時間。
B.決策樹沒有學習率參數能夠調。(不像集成學習和其它有步長的學習方法)
D.決策樹只有一棵樹, 不是隨機森林。
246.對於神經網絡的說法, 下面正確的是 : (A)
1.增長神經網絡層數, 可能會增長測試數據集的分類錯誤率
2.減小神經網絡層數, 老是能減少測試數據集的分類錯誤率
3.增長神經網絡層數, 老是能減少訓練數據集的分類錯誤率
A. 1
B. 1 和 3
C. 1 和 2
D. 2
答案: (A)
深度神經網絡的成功, 已經證實, 增長神經網絡層數, 能夠增長模型範化能力, 即訓練數據集和測試數據集都表現得更好. 但更多的層數, 也不必定能保證有更好的表現https://arxiv.org/pdf/1512.03385v1.pdf。因此,不能絕對地說層數多的好壞, 只能選A。
247.假如咱們使用非線性可分的SVM目標函數做爲最優化對象, 咱們怎麼保證模型線性可分?(C)
A. 設C=1
B. 設C=0
C. 設C=無窮大
D. 以上都不對
答案: (C)
C無窮大保證了全部的線性不可分都是能夠忍受的。
248.訓練完SVM模型後, 不是支持向量的那些樣本咱們能夠丟掉, 也能夠繼續分類:(A)
A. 正確
B. 錯誤
答案: (A)
SVM模型中, 真正影響決策邊界的是支持向量。
249.如下哪些算法, 能夠用神經網絡去構造: (B)
1.KNN
2.線性迴歸
3.對數概率迴歸
A. 1和 2
B. 2 和 3
C. 1, 2 和 3
D. 以上都不是
答案: (B)
1.KNN算法不須要訓練參數, 而全部神經網絡都須要訓練參數, 所以神經網絡幫不上忙
2.最簡單的神經網絡, 感知器, 其實就是線性迴歸的訓練
3.咱們能夠用一層的神經網絡構造對數概率迴歸
250.請選擇下面能夠應用隱馬爾科夫(HMM)模型的選項: (D)
A. 基因序列數據集
B. 電影瀏覽數據集
C. 股票市場數據集
D. 全部以上
答案: (D)
只要是和時間序列問題有關的 , 均可以試試HMM。
251.咱們創建一個5000個特徵, 100萬數據的機器學習模型. 咱們怎麼有效地應對這樣的大數據訓練 : (F)
A. 咱們隨機抽取一些樣本, 在這些少許樣本之上訓練
B. 咱們能夠試用在線機器學習算法
C. 咱們應用PCA算法降維, 減小特徵數
D. B 和 C
E. A 和 B
F. 以上全部
答案: (F)
252.咱們想要減小數據集中的特徵數, 即降維. 選擇如下適合的方案 :(D)
1.使用前向特徵選擇方法
2.使用後向特徵排除方法
3.咱們先把全部特徵都使用, 去訓練一個模型, 獲得測試集上的表現. 而後咱們去掉一個特徵, 再去訓練, 用交叉驗證看看測試集上的表現. 若是表現比原來還要好, 咱們能夠去除這個特徵
4.查看相關性表, 去除相關性最高的一些特徵
A. 1 和 2
B. 2, 3和4
C. 1, 2和4
D. All
答案: (D)
1.前向特徵選擇方法和後向特徵排除方法是咱們特徵選擇的經常使用方法
2.若是前向特徵選擇方法和後向特徵排除方法在大數據上不適用, 能夠用這裏第三種方法
3.用相關性的度量去刪除多餘特徵, 也是一個好方法
因此D是正確的。
253.對於隨機森林和GradientBoosting Trees, 下面說法正確的是:(A)
1.在隨機森林的單個樹中, 樹和樹之間是有依賴的, 而GradientBoosting Trees中的單個樹之間是沒有依賴的
2.這兩個模型都使用隨機特徵子集, 來生成許多單個的樹
3.咱們能夠並行地生成GradientBoosting Trees單個樹, 由於它們之間是沒有依賴的, GradientBoosting Trees訓練模型的表現老是比隨機森林好
A. 2
B. 1 and 2
C. 1, 3 and 4
D. 2 and 4
答案: (A)
1.隨機森林是基於bagging的, 而Gradient Boosting trees是基於boosting的, 全部說反了,在隨機森林的單個樹中, 樹和樹之間是沒有依賴的, 而GradientBoosting Trees中的單個樹之間是有依賴關係。
2.這兩個模型都使用隨機特徵子集, 來生成許多單個的樹。
因此A是正確的。
254.對於PCA(主成分分析)轉化過的特徵 , 樸素貝葉斯的」不依賴假設」老是成立, 由於全部主要成分是正交的, 這個說法是 :(B)
A. 正確的
B. 錯誤的
答案: (B)
這個說法是錯誤的。首先,「不依賴」和「不相關」是兩回事;其次, 轉化過的特徵, 也多是相關的。
255.對於PCA說法正確的是 :(A)
1.咱們必須在使用PCA前規範化數據
2.咱們應該選擇使得模型有最大variance的主成分
3.咱們應該選擇使得模型有最小variance的主成分
4.咱們能夠使用PCA在低維度上作數據可視化
A. 1, 2 and 4
B. 2 and 4
C. 3 and 4
D. 1 and 3
E. 1, 3 and 4
答案: (A)
1)PCA對數據尺度很敏感, 打個比方, 若是單位是從km變爲cm, 這樣的數據尺度對PCA最後的結果可能頗有影響(從不怎麼重要的成分變爲很重要的成分)
2)咱們老是應該選擇使得模型有最大variance的主成分
3)有時在低維度上左圖是須要PCA的降維幫助的
256.對於下圖, 最好的主成分選擇是多少 ?(B)
A. 7
B. 30
C. 35
D. 不肯定
答案: (B)
主成分選擇使variance越大越好, 在這個前提下, 主成分越少越好。
257.數據科學家可能會同時使用多個算法(模型)進行預測, 而且最後把這些算法的結果集成起來進行最後的預測(集成學習),如下對集成學習說法正確的是 :(B)
A. 單個模型之間有高相關性
B. 單個模型之間有低相關性
C. 在集成學習中使用「平均權重」而不是「投票」會比較好
D. 單個模型都是用的一個算法
答案: (B)
258.在有監督學習中, 咱們如何使用聚類方法?(B)
1.咱們能夠先建立聚類類別, 而後在每一個類別上用監督學習分別進行學習
2.咱們能夠使用聚類「類別id」做爲一個新的特徵項, 而後再用監督學習分別進行學習
3.在進行監督學習以前, 咱們不能新建聚類類別
4.咱們不能夠使用聚類「類別id」做爲一個新的特徵項, 而後再用監督學習分別進行學習
A. 2 和 4
B. 1 和 2
C. 3 和 4
D. 1 和 3
答案: (B)
咱們能夠爲每一個聚類構建不一樣的模型, 提升預測準確率;「類別id」做爲一個特徵項去訓練, 能夠有效地總結了數據特徵。因此B是正確的。
259.如下說法正確的是 :(C)
1.一個機器學習模型,若是有較高準確率,老是說明這個分類器是好的
2.若是增長模型複雜度, 那麼模型的測試錯誤率老是會下降
3.若是增長模型複雜度, 那麼模型的訓練錯誤率老是會下降
4.咱們不能夠使用聚類「類別id」做爲一個新的特徵項, 而後再用監督學習分別進行學習
A. 1
B. 2
C. 3
D. 1 and 3
答案: (C)
考的是過擬合和欠擬合的問題。
260.對應GradientBoosting tree算法, 如下說法正確的是 :(C)
1.當增長最小樣本分裂個數,咱們能夠抵制過擬合
2.當增長最小樣本分裂個數,會致使過擬合
3.當咱們減小訓練單個學習器的樣本個數,咱們能夠下降variance
4.當咱們減小訓練單個學習器的樣本個數,咱們能夠下降bias
A. 2 和 4
B. 2 和 3
C. 1 和 3
D. 1 和 4
答案: (C)
最小樣本分裂個數是用來控制「過擬合」參數。過高的值會致使「欠擬合」,這個參數應該用交叉驗證來調節。第二點是靠bias和variance概念的。
261.如下哪一個圖是KNN算法的訓練邊界 ? (B)
A) B
B) A
C) D
D) C
E) 都不是
答案:(B)
KNN算法確定不是線性的邊界,因此直的邊界就不用考慮了。另外這個算法是看周圍最近的k個樣本的分類用以肯定分類,因此邊界必定是坑坑窪窪的。
262.若是一個訓練好的模型在測試集上有100%的準確率, 這是否是意味着在一個新的數據集上,也會有一樣好的表現?(B)
A. 是的,這說明這個模型的範化能力已經足以支持新的數據集合了
B. 不對,依而後其餘因素模型沒有考慮到,好比噪音數據
答案:(B)
沒有一個模型是能夠老是適應新的數據的。咱們不可能達到100%的準確率。
263.下面的交叉驗證方法 :(B)
i. 有放回的Bootstrap方法
ii. 留一個測試樣本的交叉驗證
iii. 5折交叉驗證
iv. 重複兩次的5折交叉驗證
當樣本是1000時,下面執行時間的順序,正確的是:
A. i > ii > iii > iv
B. ii > iv > iii > i
C. iv > i > ii > iii
D. ii > iii > iv > i
答案:(B)
Bootstrap方法是傳統的隨機抽樣,驗證一次的驗證方法,只須要訓練1個模型,因此時間最少。
留一個測試樣本的交叉驗證,須要n次訓練過程(n是樣本個數),這裏,須要訓練1000個模型。
5折交叉驗證須要訓練5個模型。
重複兩次的5折交叉驗證,須要訓練10個模型。
264.變量選擇是用來選擇最好的判別器子集, 若是要考慮模型效率,咱們應該作哪些變量選擇的考慮? :(C)
1.多個變量其實有相同的用處
2.變量對於模型的解釋有多大做用
3.特徵攜帶的信息
4.交叉驗證
A. 1 和 4
B. 1, 2 和 3
C. 1,3 和 4
D. 以上全部
答案:(C)
注意,這題的題眼是考慮模型效率,因此不要考慮選項B
265.對於線性迴歸模型,包括附加變量在內,如下的可能正確的是 :(D)
1.R-Squared 和 Adjusted R-squared都是遞增的
2.R-Squared 是常量的,Adjusted R-squared是遞增的
3.R-Squared 是遞減的, Adjusted R-squared 也是遞減的
4.R-Squared 是遞減的, Adjusted R-squared是遞增的
A. 1 和 2
B. 1 和 3
C. 2 和 4
D. 以上都不是
答案:(D)
R-Squared不能決定係數估計和預測誤差,這就是爲何咱們要估計殘差圖。可是,R-Squared有R-Squared和predicted R-Squared所沒有的問題。每次爲模型加入預測器,R-Squared遞增或者不變。
266.對於下面三個模型的訓練狀況, 下面說法正確的是 :(C)
1.第一張圖的訓練錯誤與其他兩張圖相比,是最大的
2.最後一張圖的訓練效果最好,由於訓練錯誤最小
3.第二張圖比第一和第三張圖魯棒性更強,是三個裏面表現最好的模型
4.第三張圖相對前兩張圖過擬合了
5.三個圖表現同樣,由於咱們尚未測試數據集
A. 1 和 3
B. 1 和 3
C. 1, 3 和 4
D. 5
267.對於線性迴歸,咱們應該有如下哪些假設?(D)
1.找到利羣點很重要, 由於線性迴歸對利羣點很敏感
2.線性迴歸要求全部變量必須符合正態分佈
3.線性迴歸假設數據沒有多重線性相關性
A. 1 和 2
B. 2 和 3
C. 1,2 和 3
D. 以上都不是
答案:(D)
利羣點要着重考慮,第一點是對的。
不是必須的,固然若是是正態分佈,訓練效果會更好。
有少許的多重線性相關性是能夠的,可是咱們要儘可能避免。
268.咱們注意變量間的相關性。在相關矩陣中搜索相關係數時, 若是咱們發現3對變量的相關係數是(Var1 和Var2, Var2和Var3, Var3和Var1)是-0.98, 0.45, 1.23 . 咱們能夠得出什麼結論?(C)
1.Var1和Var2是很是相關的
2.由於Var和Var2是很是相關的, 咱們能夠去除其中一個
3.Var3和Var1的1.23相關係數是不可能的
A. 1 and 3
B. 1 and 2
C. 1,2 and 3
D. 1
答案:(C)
Var1和Var2的相關係數是負的,因此這是多重線性相關,咱們能夠考慮去除其中一個。
一 般的,若是相關係數大於0.7或者小於-0.7,是高相關的。
相關係數的範圍應該是[-1,1]。
269.若是在一個高度非線性而且複雜的一些變量中「一個樹模型可比通常的迴歸模型效果更好」是(A)
A. 對的
B. 錯的
答案:(A)
270.對於維度極低的特徵,選擇線性仍是非線性分類器?
答案:非線性分類器,低維空間可能不少特徵都跑到一塊兒了,致使線性不可分。
1.若是特徵的數量很大,跟樣本數量差很少,這時候選用LR或者是Linear Kernel的SVM。
2.若是特徵的數量比較小,樣本數量通常,不算大也不算小,選用SVM+Gaussian Kernel。
3.若是特徵的數量比較小,而樣本數量不少,須要手工添加一些特徵變成第一種狀況。
271.SVM、LR、決策樹的對比。
模型複雜度:SVM支持核函數,可處理線性非線性問題;LR模型簡單,訓練速度快,適合處理線性問題;決策樹容易過擬合,須要進行剪枝。
損失函數:SVM hinge loss; LR L2正則化; Adaboost 指數損失。
數據敏感度:SVM添加容忍度對outlier不敏感,只關心支持向量,且須要先作歸一化; LR對遠點敏感。
數據量:數據量大就用LR,數據量小且特徵少就用SVM非線性核。
272.什麼是ill-condition病態問題?
訓練完的模型,測試樣本稍做修改就會獲得差異很大的結果,就是病態問題,模型對未知數據的預測能力不好,即泛化偏差大。
273.簡述KNN最近鄰分類算法的過程?
1.計算訓練樣本和測試樣本中每一個樣本點的距離(常見的距離度量有歐式距離,馬氏距離等);
2.對上面全部的距離值進行排序;
3.選前k個最小距離的樣本;
4.根據這k個樣本的標籤進行投票,獲得最後的分類類別;
274.經常使用的聚類劃分方式有哪些?列舉表明算法。
1.基於劃分的聚類:K-means,k-medoids,CLARANS。
2.基於層次的聚類:AGNES(自底向上),DIANA(自上向下)。
3.基於密度的聚類:DBSACN,OPTICS,BIRCH(CF-Tree),CURE。
4.基於網格的方法:STING,WaveCluster。
5.基於模型的聚類:EM,SOM,COBWEB。
275.下面對集成學習模型中的弱學習者描述錯誤的是?(C)
A. 他們常常不會過擬合
B. 他們一般帶有高誤差,因此其並不能解決複雜學習問題
C. 他們一般會過擬合
答案:(C)
弱學習者是問題的特定部分。因此他們一般不會過擬合,這也就意味着弱學習者一般擁有低方差和高誤差。
276.下面哪一個/些選項對 K 折交叉驗證的描述是正確的?(D)
1.增大 K 將致使交叉驗證結果時須要更多的時間
2.更大的 K 值相比於小 K 值將對交叉驗證結構有更高的信心
3.若是 K=N,那麼其稱爲留一交叉驗證,其中 N 爲驗證集中的樣本數量
A. 1 和 2
B. 2 和 3
C. 1 和 3
D. 一、2 和 3
答案:(D)
大 K 值意味着對太高估計真實預期偏差(訓練的折數將更接近於整個驗證集樣本數)擁有更小的誤差和更多的運行時間(並隨着愈來愈接近極限狀況:留一交叉驗證)。咱們一樣在選擇 K 值時須要考慮 K 折準確度和方差間的均衡。
277.最出名的降維算法是 PAC 和 t-SNE。將這兩個算法分別應用到數據「X」上,並獲得數據集「X_projected_PCA」,「X_projected_tSNE」。下面哪一項對「X_projected_PCA」和「X_projected_tSNE」的描述是正確的?(B)
A. X_projected_PCA 在最近鄰空間能獲得解釋
B. X_projected_tSNE 在最近鄰空間能獲得解釋
C. 兩個都在最近鄰空間能獲得解釋
D. 兩個都不能在最近鄰空間獲得解釋
答案:(B)
t-SNE 算法考慮最近鄰點而減小數據維度。因此在使用 t-SNE 以後,所降的維能夠在最近鄰空間獲得解釋。但 PCA 不能。
278.給定三個變量 X,Y,Z。(X, Y)、(Y, Z) 和 (X, Z) 的 Pearson 相關性係數分別爲 C一、C2 和 C3。如今 X 的全部值加 2(即 X+2),Y 的所有值減 2(即 Y-2),Z 保持不變。那麼運算以後的 (X, Y)、(Y, Z) 和 (X, Z) 相關性係數分別爲 D一、D2 和 D3。如今試問 D一、D二、D3 和 C一、C二、C3 之間的關係是什麼?(E)
A. D1= C1, D2 < C2, D3 > C3
B. D1 = C1, D2 > C2, D3 > C3
C. D1 = C1, D2 > C2, D3 < C3
D. D1 = C1, D2 < C2, D3 < C3
E. D1 = C1, D2 = C2, D3 = C3
答案:(E)
特徵之間的相關性係數不會由於特徵加或減去一個數而改變。
279.爲了獲得和 SVD 同樣的投射(projection),你須要在 PCA 中怎樣作?(A)
A. 將數據轉換成零均值
B. 將數據轉換成零中位數
C. 沒法作到
答案:(A)
當數據有一個 0 均值向量時,PCA 有與 SVD 同樣的投射,不然在使用 SVD 以前,你必須將數據均值歸 0。
280.假設咱們有一個數據集,在一個深度爲 6 的決策樹的幫助下,它能夠使用 100% 的精確度被訓練。如今考慮一下兩點,並基於這兩點選擇正確的選項。(A)
注意:全部其餘超參數是相同的,全部其餘因子不受影響。
1.深度爲 4 時將有高誤差和低方差
2.深度爲 4 時將有低誤差和低方差
A. 只有 1
B. 只有 2
C. 1 和 2
D. 沒有一個
答案:(A)
若是在這樣的數據中你擬合深度爲 4 的決策樹,這意味着其更有可能與數據欠擬合。所以,在欠擬合的狀況下,你將得到高誤差和低方差。
281.在 k-均值算法中,如下哪一個選項可用於得到全局最小?(D)
A. 嘗試爲不一樣的質心(centroid)初始化運行算法
B. 調整迭代的次數
C. 找到集羣的最佳數量
D. 以上全部
答案:(D)
全部均可以用來調試以找到全局最小。
282.你正在使用帶有 L1 正則化的 logistic 迴歸作二分類,其中 C 是正則化參數,w1 和 w2 是 x1 和 x2 的係數。當你把 C 值從 0 增長至很是大的值時,下面哪一個選項是正確的?(B)
A. 第一個 w2 成了 0,接着 w1 也成了 0
B. 第一個 w1 成了 0,接着 w2 也成了 0
C. w1 和 w2 同時成了 0
D. 即便在 C 成爲大值以後,w1 和 w2 都不能成 0
答案:(B)
經過觀察圖像咱們發現,即便只使用 x2,咱們也能高效執行分類。所以一開始 w1 將成 0;當正則化參數不斷增長時,w2 也會愈來愈接近 0。
283.假設你使用 log-loss 函數做爲評估標準。下面這些選項,哪些是對做爲評估標準的 log-loss 的正確解釋。(D)
A.若是一個分類器對不正確的分類很自信,log-loss 會嚴重的批評它。
B.對一個特別的觀察而言,分類器爲正確的類別分配很是小的機率,而後對 log-loss 的相應分佈會很是大。
C.log-loss 越低,模型越好
D.以上都是
答案爲:(D)
284.下面哪一個選項中哪一項屬於肯定性算法?(A)
A.PCA
B.K-Means
C. 以上都不是
答案:(A)
肯定性算法代表在不一樣運行中,算法輸出並不會改變。若是咱們再一次運行算法,PCA 會得出相同的結果,而 K-Means 不會。
285.特徵向量的歸一化方法有哪些?
線性函數轉換,表達式以下:
y=x−MinValueMaxValue−MinValuey=x−MinValueMaxValue−MinValue
對數函數轉換,表達式以下:
y=log10(x)y=log10(x)
反餘切函數轉換 ,表達式以下:
y=arctan(x)∗2πy=arctan(x)∗2π
減去均值,除以方差:
y=x−meansvariancey=x−meansvariance
286.優化算法及其優缺點?
舒適提示:在回答面試官的問題的時候,每每將問題往大的方面去回答,這樣不會陷於小的技術上死磕,最後很容易把本身嗑死了。
1)隨機梯度降低
優勢:能夠必定程度上解決局部最優解的問題
缺點:收斂速度較慢
2)批量梯度降低
優勢:容易陷入局部最優解
缺點:收斂速度較快
3)mini_batch梯度降低
綜合隨機梯度降低和批量梯度降低的優缺點,提取的一箇中和的方法。
4)牛頓法
牛頓法在迭代的時候,須要計算Hessian矩陣,當維度較高的時候,計算 Hessian矩陣比較困難。
5)擬牛頓法
擬牛頓法是爲了改進牛頓法在迭代過程當中,計算Hessian矩陣而提取的算法,它採用的方式是經過逼近Hessian的方式來進行求解。
287.RF與GBDT之間的區別與聯繫?
1)相同點:都是由多棵樹組成,最終的結果都是由多棵樹一塊兒決定。
2)不一樣點:
組成隨機森林的樹能夠分類樹也能夠是迴歸樹,而GBDT只由迴歸樹組成
組成隨機森林的樹能夠並行生成,而GBDT是串行生成
隨機森林的結果是多數表決表決的,而GBDT則是多棵樹累加之和
隨機森林對異常值不敏感,而GBDT對異常值比較敏感
隨機森林是減小模型的方差,而GBDT是減小模型的誤差
隨機森林不須要進行特徵歸一化,而GBDT則須要進行特徵歸一化
288.兩個變量的 Pearson 相關性係數爲零,但這兩個變量的值一樣能夠相關。(A)
A. 正確
B. 錯誤
答案:(A)
Pearson相關係數只能衡量線性相關性,但沒法衡量非線性關係。如y=x^2,x和y有很強的非線性關係。
289.下面哪一個/些超參數的增長可能會形成隨機森林數據過擬合?(B)
A. 樹的數量
B. 樹的深度
C. 學習速率
答案:(B)
一般狀況下,咱們增長樹的深度有可能會形成模型過擬合。學習速率並非隨機森林的超參數。增長樹的數量可能會形成欠擬合。
290.目標變量在訓練集上的 8 個實際值 [0,0,0,1,1,1,1,1],目標變量的熵是多少?(A)
A. −(58log(58)+38log(38))−(58log(58)+38log(38))
B. (58log(58)+38log(38))(58log(58)+38log(38))
C. (38log(58)+58log(38))(38log(58)+58log(38))
D. (58log(38)−38log(58))(58log(38)−38log(58))
答案:(A)
291.下面有關序列模式挖掘算法的描述,錯誤的是?(C)
A. AprioriAll算法和GSP算法都屬於Apriori類算法,都要產生大量的候選序列
B. FreeSpan算法和PrefixSpan算法不生成大量的候選序列以及不須要反覆掃描原數據庫
C. 在時空的執行效率上,FreeSpan比PrefixSpan更優
D. 和AprioriAll相比,GSP的執行效率比較高
@CS青雀,本題解析來源:
機器學習:序列模式挖掘算法
292.下列哪一個不屬於經常使用的文本分類的特徵選擇算法?(D)
A. 卡方檢驗值
B. 互信息
C. 信息增益
D. 主成分分析
答案:(D)
@CS青雀,本題解析來源:
常採用特徵選擇方法。常見的六種特徵選擇方法:
1)DF(Document Frequency) 文檔頻率
DF:統計特徵詞出現的文檔數量,用來衡量某個特徵詞的重要性
2)MI(Mutual Information) 互信息法
互信息法用於衡量特徵詞與文檔類別直接的信息量。
若是某個特徵詞的頻率很低,那麼互信息得分就會很大,所以互信息法傾向」低頻」的特徵詞。
相對的詞頻很高的詞,得分就會變低,若是這詞攜帶了很高的信息量,互信息法就會變得低效。
3)(Information Gain) 信息增益法
經過某個特徵詞的缺失與存在的兩種狀況下,語料中先後信息的增長,衡量某個特徵詞的重要性。
4)CHI(Chi-square) 卡方檢驗法
利用了統計學中的」假設檢驗」的基本思想:首先假設特徵詞與類別直接是不相關的
若是利用CHI分佈計算出的檢驗值偏離閾值越大,那麼更有信心否認原假設,接受原假設的備則假設:特徵詞與類別有着很高的關聯度。
5)WLLR(Weighted Log Likelihood Ration)加權對數似然
6)WFO(Weighted Frequency and Odds)加權頻率和可能性
293.類域界面方程法中,不能求線性不可分狀況下分類問題近似或精確解的方法是?(D)
A. 僞逆法-徑向基(RBF)神經網絡的訓練算法,就是解決線性不可分的狀況
B. 基於二次準則的H-K算法:最小均方差準則下求得權矢量,二次準則解決非線性問題
C. 勢函數法-非線性
D. 感知器算法-線性分類算法
答案:(D)
294.機器學習中作特徵選擇時,可能用到的方法有?(E)
A.卡方
B. 信息增益
C. 平均互信息
D. 指望交叉熵
E. 以上都有
答案:(E)
295.下列方法中,不能夠用於特徵降維的方法包括(E)
A. 主成分分析PCA
B. 線性判別分析LDA
C. 深度學習SparseAutoEncoder
D. 矩陣奇異值分解SVD
E. 最小二乘法LeastSquares
答案:(E)
特徵降維方法主要有:PCA,LLE,Isomap
SVD和PCA相似,也能夠當作一種降維方法。
LDA:線性判別分析,可用於降維。
AutoEncoder:AutoEncoder的結構與神經網絡的隱含層相同,由輸入L1,輸出 L2組成,中間則是權重鏈接。Autoencoder經過L2獲得輸入的重構L3,最小化L3與L1的差異 進行訓練獲得權重。在這樣的權重參數下,獲得的L2能夠儘量的保存L1的信息。
Autoencoder的輸出L2的維度由輸出的神經元個數決定。當輸出維度大於L1時,則須要在訓練目標函數中加入sparse 懲罰項,避免L2直接複製L1(權重全爲1)。因此稱爲sparseAutoencoder( Andrew Ng提出的)。
結論:SparseAutoencoder大多數狀況下都是升維的,因此稱之爲特徵降維的方法不許確。
296.通常,K-NN最近鄰方法在( A)的狀況下效果較好。
A.樣本較多但典型性很差
B.樣本呈團狀分佈
C.樣本較少但典型性好
D.樣本呈鏈狀分佈
297.下列哪些方法能夠用來對高維數據進行降維(A B C D E F)
A. LASSO
B. 主成分分析法
C. 聚類分析
D. 小波分析法
E. 線性判別法
F. 拉普拉斯特徵映射
解析:LASSO經過參數縮減達到降維的目的;
PCA就不用說了;
線性鑑別法即LDA經過找到一個空間使得類內距離最小類間距離最大因此能夠看作是降維;
小波分析有一些變換的操做下降其餘干擾能夠看作是降維;
拉普拉斯請看機器學習降維算法四:Laplacian Eigenmaps 拉普拉斯特徵映射。
298.如下描述錯誤的是(C)
A. SVM是這樣一個分類器,它尋找具備最小邊緣的超平面,所以它也常常被稱爲最小邊緣分類器
B. 在聚類分析當中,簇內的類似性越大,簇間的差異越大,聚類的效果就越差
C. 在決策樹中,隨着樹中結點輸變得太大,即便模型的訓練偏差還在繼續下降,可是檢驗偏差開始增大,這是出現了模型擬合不足的緣由
D. 聚類分析能夠看做是一種非監督的分類
299.如下說法中正確的是(C)
A. SVM對噪聲(如來自其餘分部的噪聲樣本)具有魯棒性
B. 在adaboost算法中,全部被分錯樣本的權重更新比例相同
C. boosting和bagging都是組合多個分類器投票的方法,兩者都是根據單個分類器的正確率肯定其權重
D. 給定n個數據點,若是其中一半用於訓練,一半用戶測試,則訓練偏差和測試偏差之間的差異會隨着n的增長而減小
300.關於正態分佈,下列說法錯誤的是(C)
A. 正態分佈具備集中性和對稱性
B. 正態分佈的均值和方差可以決定正態分佈的位置和形態
C. 正態分佈的偏度爲0,峯度爲1
D. 標準正態分佈的均值爲0,方差爲1
301.在如下不一樣的場景中,使用的分析方法不正確的有 (B)
A. 根據商家最近一年的經營及服務數據,用聚類算法判斷出天貓商家在各自主營類目下所屬的商家層級
B. 根據商家近幾年的成交數據,用聚類算法擬合出用戶將來一個月可能的消費金額公式
C. 用關聯規則算法分析出購買了汽車坐墊的買家,是否適合推薦汽車腳墊
D. 根據用戶最近購買的商品信息,用決策樹算法識別出淘寶買家多是男仍是女
302.什麼是梯度爆炸?
答案:偏差梯度是神經網絡訓練過程當中計算的方向和數量,用於以正確的方向和合適的量更新網絡權重。
在深層網絡或循環神經網絡中,偏差梯度可在更新中累積,變成很是大的梯度,而後致使網絡權重的大幅更新,並所以使網絡變得不穩定。在極端狀況下,權重的值變得很是大,以致於溢出,致使 NaN 值。
網絡層之間的梯度(值大於 1.0)重複相乘致使的指數級增加會產生梯度爆炸。
303.梯度爆炸會引起什麼問題?
答案:在深度多層感知機網絡中,梯度爆炸會引發網絡不穩定,最好的結果是沒法從訓練數據中學習,而最壞的結果是出現沒法再更新的 NaN 權重值。
梯度爆炸致使學習模型沒法從訓練數據中得到更新(如低損失)。
模型不穩定,致使更新過程當中的損失出現顯著變化。
訓練過程當中,模型損失變成 NaN。
若是你發現這些問題,那麼你須要仔細查看是否出現梯度爆炸問題。
如下是一些稍微明顯一點的信號,有助於確認是否出現梯度爆炸問題。
訓練過程當中模型梯度快速變大。
訓練過程當中模型權重變成 NaN 值。
訓練過程當中,每一個節點和層的偏差梯度值持續超過 1.0。
305.如何修復梯度爆炸問題?
從新設計網絡模型
在深度神經網絡中,梯度爆炸能夠經過從新設計層數更少的網絡來解決。
使用更小的批尺寸對網絡訓練也有好處。
在循環神經網絡中,訓練過程當中在更少的先前時間步上進行更新(沿時間的截斷反向傳播,truncated Backpropagation through time)能夠緩解梯度爆炸問題。
使用 ReLU 激活函數
在深度多層感知機神經網絡中,梯度爆炸的發生多是由於激活函數,如以前很流行的 Sigmoid 和 Tanh 函數。
使用 ReLU 激活函數能夠減小梯度爆炸。採用 ReLU 激活函數是最適合隱藏層的新實踐。
使用長短時間記憶網絡
在循環神經網絡中,梯度爆炸的發生多是由於某種網絡的訓練自己就存在不穩定性,如隨時間的反向傳播本質上將循環網絡轉換成深度多層感知機神經網絡。
使用長短時間記憶(LSTM)單元和相關的門類型神經元結構能夠減小梯度爆炸問題。
採用 LSTM 單元是適合循環神經網絡的序列預測的最新最好實踐。
使用梯度截斷(Gradient Clipping)
在很是深且批尺寸較大的多層感知機網絡和輸入序列較長的 LSTM 中,仍然有可能出現梯度爆炸。若是梯度爆炸仍然出現,你能夠在訓練過程當中檢查和限制梯度的大小。這就是梯度截斷。
處理梯度爆炸有一個簡單有效的解決方案:若是梯度超過閾值,就截斷它們。
——《Neural Network Methods in Natural Language Processing》,2017.
具體來講,檢查偏差梯度的值是否超過閾值,若是超過,則截斷梯度,將梯度設置爲閾值。
梯度截斷能夠必定程度上緩解梯度爆炸問題(梯度截斷,即在執行梯度降低步驟以前將梯度設置爲閾值)。
——《深度學習》,2016.
在 Keras 深度學習庫中,你能夠在訓練以前設置優化器上的 clipnorm 或 clipvalue 參數,來使用梯度截斷。
默認值爲 clipnorm=1.0 、clipvalue=0.5。
使用權重正則化(Weight Regularization)
若是梯度爆炸仍然存在,能夠嘗試另外一種方法,即檢查網絡權重的大小,並懲罰產生較大權重值的損失函數。該過程被稱爲權重正則化,一般使用的是 L1 懲罰項(權重絕對值)或 L2 懲罰項(權重平方)。
對循環權重使用 L1 或 L2 懲罰項有助於緩解梯度爆炸。
——On the difficulty of training recurrent neural networks,2013.
在 Keras 深度學習庫中,你能夠經過在層上設置 kernel_regularizer 參數和使用 L1 或 L2 正則化項進行權重正則化。
306. LSTM神經網絡輸入輸出到底是怎樣的?
答案:@YJango,本題解析來源:LSTM神經網絡輸入輸出到底是怎樣的?
307.如下關於PMF(機率質量函數),PDF(機率密度函數),CDF(累積分佈函數)描述錯誤的是?(A)
A. PDF描述的是連續型隨機變量在特定取值區間的機率
B. CDF是PDF在特定區間上的積分
C. PMF描述的是離散型隨機變量在特定取值點的機率
D. 有一個分佈的CDF函數H(x),則H(a)等於P(X<=a)
答案:(A)
機率質量函數 (probability mass function,PMF)是離散隨機變量在各特定取值上的機率。
機率密度函數(p robability density function,PDF )是對 連續隨機變量 定義的,自己不是機率,只有對連續隨機變量的取值進行積分後纔是機率。
累積分佈函數(cumulative distribution function,CDF) 能完整描述一個實數隨機變量X的機率分佈,是機率密度函數的積分。對於全部實數x 與pdf相對。
308.線性迴歸的基本假設有哪些?(ABDE)
A. 隨機偏差項是一個指望值爲0的隨機變量;
B. 對於解釋變量的全部觀測值,隨機偏差項有相同的方差;
C. 隨機偏差項彼此相關;
D. 解釋變量是肯定性變量不是隨機變量,與隨機偏差項之間相互獨立;
E. 隨機偏差項服從正態分佈
309.處理類別型特徵時,事先不知道分類變量在測試集中的分佈。要將 one-hot encoding(獨熱碼)應用到類別型特徵中。那麼在訓練集中將獨熱碼應用到分類變量可能要面臨的困難是什麼?(A、B)
A. 分類變量全部的類別沒有所有出如今測試集中
B. 類別的頻率分佈在訓練集和測試集是不一樣的
C. 訓練集和測試集一般會有同樣的分佈
答案:(A、B )
若是類別在測試集中出現,但沒有在訓練集中出現,獨熱碼將不能進行類別編碼,這是主要困難。若是訓練集和測試集的頻率分佈不相同,咱們須要多加當心。
310.假定你在神經網絡中的隱藏層中使用激活函數 X。在特定神經元給定任意輸入,你會獲得輸出「-0.0001」。X 多是如下哪個激活函數?(B)
A. ReLU
B. tanh
C. SIGMOID
D. 以上都不是
答案:(B)
該激活函數多是 tanh,由於該函數的取值範圍是 (-1,1)。
311.下面哪些對「類型 1(Type-1)」和「類型 2(Type-2)」錯誤的描述是正確的?(A、C)
A. 類型 1 一般稱之爲假正類,類型 2 一般稱之爲假負類。
B. 類型 2 一般稱之爲假正類,類型 1 一般稱之爲假負類。
C. 類型 1 錯誤一般在其是正確的狀況下拒絕假設而出現。
答案:(A、C)
在統計學假設測試中,I 類錯誤即錯誤地拒絕了正確的假設即假正類錯誤,II 類錯誤一般指錯誤地接受了錯誤的假設即假負類錯誤。
312.在下面的圖像中,哪個是多元共線(multi-collinear)特徵?(D)
A. 圖 1 中的特徵
B. 圖 2 中的特徵
C. 圖 3 中的特徵
D. 圖 一、2 中的特徵
E. 圖 二、3 中的特徵
F. 圖 一、3 中的特徵
答案:(D)
在圖 1 中,特徵之間有高度正相關,圖 2 中特徵有高度負相關。因此這兩個圖的特徵是多元共線特徵。
313.鑑別了多元共線特徵。那麼下一步可能的操做是什麼?(B、C)
A. 移除兩個共線變量
B. 不移除兩個變量,而是移除一個
C. 移除相關變量可能會致使信息損失,能夠使用帶罰項的迴歸模型(如 ridge 或 lasso regression)。
答案:(B、C)
由於移除兩個變量會損失一切信息,因此咱們只能移除一個特徵,或者也能夠使用正則化算法(如 L1 和 L2)。
314.給線性迴歸模型添加一個不重要的特徵可能會形成?(A)
A. 增長 R-square
B. 減小 R-square
答案:(A)
在給特徵空間添加了一個特徵後,不論特徵是重要仍是不重要,R-square 一般會增長。
315.假定目標變量的類別很是不平衡,即主要類別佔據了訓練數據的 99%。如今你的模型在測試集上表現爲 99% 的準確度。那麼下面哪一項表述是正確的?(A、C)
A. 準確度並不適合於衡量不平衡類別問題
B. 準確度適合於衡量不平衡類別問題
C. 精確率和召回率適合於衡量不平衡類別問題
D. 精確率和召回率不適合于衡量不平衡類別問題
答案:(A、C)
316.什麼是誤差與方差?
泛化偏差能夠分解成誤差的平方加上方差加上噪聲。誤差度量了學習算法的指望預測和真實結果的偏離程度,刻畫了學習算法自己的擬合能力,方差度量了一樣大小的訓練集的變更所致使的學習性能的變化,刻畫了數據擾動所形成的影響,噪聲表達了當前任務上任何學習算法所能達到的指望泛化偏差下界,刻畫了問題自己的難度。誤差和方差通常稱爲bias和variance,通常訓練程度越強,誤差越小,方差越大,泛化偏差通常在中間有一個最小值,若是誤差較大,方差較小,此時通常稱爲欠擬合,而誤差較小,方差較大稱爲過擬合。
317.解決Bias和Variance問題的方法是什麼?
交叉驗證
High Bias解決方案:Boosting、複雜模型(非線性模型、增長神經網絡中的層)、更多特徵
High Variance解決方案:agging、簡化模型,降維
318.採用 EM 算法求解的模型有哪些,爲何不用牛頓法或梯度降低法?
用EM算法求解的模型通常有GMM或者協同過濾,K-means其實也屬於EM。EM算法必定會收斂,可是可能收斂到局部最優。因爲求和的項數將隨着隱變量的數目指數上升,會給梯度計算帶來麻煩。
319.XGBoost怎麼給特徵評分?
在訓練的過程當中,經過Gini指數選擇分離點的特徵,一個特徵被選中的次數越多,那麼該特徵評分越高。
320.什麼是OOB?隨機森林中OOB是如何計算的,它有什麼優缺點?
Bagging方法中Bootstrap每次約有1313的樣本不會出如今Bootstrap所採集的樣本集合中,固然也就沒有參加決策樹的創建,把這1313的數據稱爲袋外數據OOB(out of bag),它能夠用於取代測試集偏差估計方法。
袋外數據(OOB)偏差的計算方法以下: 對於已經生成的隨機森林,用袋外數據測試其性能,假設袋外數據總數爲O,用這O個袋外數據做爲輸入,帶進以前已經生成的隨機森林分類器,分類器會給出O個數據相應的分類,由於這O條數據的類型是已知的,則用正確的分類與隨機森林分類器的結果進行比較,統計隨機森林分類器分類錯誤的數目,設爲X,則袋外數據偏差大小=XOXO;這已經通過證實是無偏估計的,因此在隨機森林算法中不須要再進行交叉驗證或者單獨的測試集來獲取測試集偏差的無偏估計。--------------------- 做者:qinjianhuang 來源:CSDN 原文:https://blog.csdn.net/sinat_35512245/article/details/78796328 版權聲明:本文爲博主原創文章,轉載請附上博文連接!