機器學習面試200題!(41–60)

来源:CSDN

本篇是機器學習面試200題第三篇,由於篇幅太長,本篇介紹41–60題~

本文主要內容與演算法相關。

感興趣的話請持續關注唷XD

系列篇1指路

系列篇2指路

41.建立一個模型,通過這個模型根據已知的變數值來預測其他某個變數值屬於資料探勘的哪一類任務?(C)

A. 根據內容檢索

B. 建模描述

C. 預測建模

D. 尋找模式和規則

42.以下哪種方法不屬於特徵選擇的標準方法?(D)

A. 嵌入

B. 過濾

C. 包裝

D. 抽樣

43.請用python編寫函式find_string,從文字中搜索並列印內容,要求支援萬用字元星號和問號。

44.說下紅黑樹的五個性質。

教你初步瞭解紅黑樹
http://blog.csdn.net/v_july_v/article/details/6105630

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,即生成樣本並使它看上去好像來自於真實訓練樣本一樣。

如下圖中的左右兩個場景:

更多請參見此課程:生成對抗網路
https://www.julyedu.com/course/getDetail/83

49.學梵高作畫的原理是啥?

這裡有篇如何做梵高風格畫的實驗教程 教你從頭到尾利用DL學梵高作畫:GTX 1070 cuda 8.0 tensorflow gpu版,至於其原理請看這個影片:NeuralStyle藝術化圖片(學梵高作畫背後的原理)。
http://blog.csdn.net/v_july_v/article/details/52658965
http://www.julyedu.com/video/play/42/523

50.現在有 a 到 z 26 個元素, 編寫程式列印 a 到 z 中任取 3 個元素的組合(比如 列印 a b c ,d y z等)。

一道百度機器學習工程師職位的面試題
http://blog.csdn.net/lvonve/article/details/53320680

51.哪些機器學習演演算法不需要做歸一化處理?

概率模型不需要歸一化,因為它們不關心變數的值,而是關心變數的分佈和變數之間的條件概率,如決策樹、RF。而像Adaboost、GBDT、XGBoost、SVM、LR、KNN、KMeans之類的最優化問題就需要歸一化。

52.說說梯度下降法。

@LeftNotEasy

機器學習中的數學(1)-迴歸(regression)、梯度下降(gradient descent)
http://www.cnblogs.com/LeftNotEasy/archive/2010/12/05/mathmatic_in_machine_learning_1_regression_and_gradient_descent.html

53.梯度下降法找到的一定是下降最快的方向麼?

梯度下降法並不是下降最快的方向,它只是目標函式在當前的點的切平面(當然高維問題不能叫平面)上下降最快的方向。在Practical Implementation中,牛頓方向(考慮海森矩陣)才一般被認為是下降最快的方向,可以達到Superlinear的收斂速度。梯度下降類的演演算法的收斂速度一般是Linear甚至Sublinear的(在某些帶複雜約束的問題)。

知識點連結:一文清晰講解機器學習中梯度下降演演算法(包括其變式演演算法)
http://blog.csdn.net/wemedia/details.html?id=45460

54.牛頓法和梯度下降法有什麼不同?

@wtq1993

知識連結:機器學習中常見的最優化演演算法
http://blog.csdn.net/wtq1993/article/details/51607040

55.什麼是擬牛頓法(Quasi-Newton Methods)?

@wtq1993

機器學習中常見的最優化演演算法

56.請說說隨機梯度下降法的問題和挑戰?

57.說說共軛梯度法?

@wtq1993

機器學習中常見的最優化演演算法
http://blog.csdn.net/wtq1993/article/details/51607040

58.對所有優化問題來說, 有沒有可能找到比現在已知演算法更好的演算法?

答案連結
https://www.zhihu.com/question/41233373/answer/145404190

59、什麼最小二乘法?

我們口頭中經常說:一般來說,平均來說。如平均來說,不吸菸的健康優於吸菸者,之所以要加“平均”二字,是因為凡事皆有例外,總存在某個特別的人他吸菸但由於經常鍛鍊所以他的健康狀況可能會優於他身邊不吸菸的朋友。而最小二乘法的一個最簡單的例子便是算術平均。

最小二乘法(又稱最小平方法)是一種數學優化技術。它通過最小化誤差的平方和尋找資料的最佳函式匹配。利用最小二乘法可以簡便地求得未知的資料,並使得這些求得的資料與實際資料之間誤差的平方和為最小。用函式表示為:

由於算術平均是一個歷經考驗的方法,而以上的推理說明,算術平均是最小二乘的一個特例,所以從另一個角度說明瞭最小二乘方法的優良性,使我們對最小二乘法更加有信心。

最小二乘法發表之後很快得到了大家的認可接受,並迅速的在資料分析實踐中被廣泛使用。不過歷史上又有人把最小二乘法的發明歸功於高斯,這又是怎麼一回事呢。高斯在1809年也發表了最小二乘法,並且聲稱自己已經使用這個方法多年。高斯發明瞭小行星定位的數學方法,並在資料分析中使用最小二乘方法進行計算,準確的預測了穀神星的位置。

對了,最小二乘法跟SVM有什麼聯絡呢?請參見支援向量機通俗導論(理解SVM的三層境界)。
http://blog.csdn.net/v_july_v/article/details/7624837

60、看你T恤上印著:人生苦短,我用Python,你可否說說Python到底是什麼樣的語言?你可以比較其他技術或者語言來回答你的問題。

15個重要Python面試題 測測你適不適合做Python?
http://nooverfit.com/wp/15%E4%B8%AA%E9%87%8D%E8%A6%81python%E9%9D%A2%E8%AF%95%E9%A2%98-%E6%B5%8B%E6%B5%8B%E4%BD%A0%E9%80%82%E4%B8%8D%E9%80%82%E5%90%88%E5%81%9Apython%EF%BC%9F/

這是一個專注於數據分析職場的內容部落格,聚焦一批數據分析愛好者,在這裡,我會分享數據分析相關知識點推送、(工具/書籍)等推薦、職場心得、熱點資訊剖析以及資源大盤點,希望同樣熱愛數據的我們一同進步! 臉書會有更多互動喔:https://www.facebook.com/shujvfenxi/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store