機器學習面試題,更有大廠內推機會

七月線上實驗室發表於2018-04-18

640?wx_fmt=png&wxfrom=5&wx_lazy=1

本次題目來自《七月線上機器學習集訓營 三期,第八週(深度學習)考試》,參考答案來自優秀學員shaoyang。集訓營採用線上線下相結合的授課方式,BAT專家面對面、手把手教學方式;除了直播答疑、作業批改、線上考試之外,還有開課前的入學測評,基於每一個人的測評資料量身定製個性化的不同學習路線。此外會根據個人情況提供定製化的能力評估、就業指導以及包括BAT等一線網際網路公司的工作機會推薦

四期集訓營將於近日開課,北京、上海、深圳、廣州、杭州、瀋陽、濟南、鄭州和成都九城同步開營。詳情見文末“閱讀原文”,點選題目下方空白位置獲取本題答案。

1.試寫您對深度學習的理解,以及它與傳統機器學習的關係,相同與不同之處。

對深度學習的理解,以及它與傳統機器學習的關係

深度學習是機器學習的特定分支,它源於人工神經網路的研究,深度學習模型的典型例子是前饋深度網路和多層感知機,深度學習可以從原始資料中提取較高層次、較為抽象的特徵,將原始資料表示為巢狀的層次概念體系,可以通過簡單的概念構建複雜的概念。例如,計算機難以理解畫素值集合的影象,將一組影象對映到物件標識的函式非常複雜,如果直接處理,學習和評估次對映似乎是不可能的,深度學習將所需的複雜對映分解為一系列巢狀的簡單對映(每個由模型的不同層次描述)來解決這一難題。

深度學習vs機器學習

相同點:

  • 兩者都屬於人工智慧範疇,且深度學習是機器學習的分支,兩者都屬於學習演算法;

  • 兩者都從經驗中學習,從經驗資料中提取特徵;

  • 兩者都包含有監督學習和無監督學習。

不同點:
  • 相對比機器學習,深度學習可以提取更高層次、更為抽象的特徵,例如從影象中提取特徵,且深度學習涉及的模型複雜度更高;

  • 深度學習解決了那些對機器學習來說不可能完成的任務,例如語音識別、人臉識別;

  • 機器學習有嚴格的數學、統計學等理論基礎,而深度學習在這方面較為缺乏;

  • 兩者解決問題的方式不同,深度學習根據層次化的概念體系來理解世界,而每個概念則通過與某些相對簡單的概念之間的關係來來定義,層次化的概念可以讓計算機構建較簡單的概念來學習複雜概念。


2.簡要介紹下您瞭解的keras框架? 以及進行一個任務的基本流程

keras簡介

Keras一個深度學習框架,其後端可以用不同的深度學習框架支撐,比如theano、Tensorflow和微軟的CNTK,keras最大的特點是為快速實驗而生。Keras的核心資料結構是“模型”,模型是一種組織網路層的方式,keras包括兩種模型,即序貫(Sequential)模型和函式式(Functional)模型,序貫模型是多個網路層的線性堆疊,也就是“一條路走到黑”,函式式模型介面是使用者定義多輸出模型、非迴圈有向模型或具有共享層的模型等複雜模型的途徑。

基本流程

  • 1.引入庫,初始化“模型架子”(Sequential模型或者Functional模型);

  • 2.利用序貫模型或函式式模型來構建深度學習網路,序貫模型通過add來新增層,指定輸入資料的shape;

  • 3.通過compile來編譯模型,指定優化器optimizer、損失函式loss和指標列表metrics;

  • 4.把資料灌進來訓練(fit),可指定batch_size和epochs;

  • 5.在測試集上評估效果(evaluate)

  • 6.實際預測(predict)


3.工業界在訓練深度學習模型時,採用訓練方式多為SGD(mini-batch),請簡述這種方式較其它方式的優點?

梯度下降演算法是使用最為廣泛的引數尋優方法,引數的更新有兩種方式:

  • 批量梯度下降演算法:遍歷全部資料集算一次損失函式,然後算函式對各個引數的梯度,更新梯度。這種方法每更新一次引數都要把資料集裡的所有樣本都看一遍,計算量開銷大,計算速度慢,不支援線上學習,這稱為Batch gradient descent,批梯度下降。

  • 隨機梯度下降演算法:每拿到一個樣本就算一下損失函式,然後求梯度更新引數,這個稱為隨機梯度下降,stochastic gradient descent。這個方法速度比較快,但是收斂效能不太好,可能在最優點附近晃來晃去,hit不到最優點。兩次引數的更新也有可能互相抵消掉,造成目標函式震盪的比較劇烈。

小批的梯度下降(mini-batch gradient decent)是為了克服以上兩種方法的缺點而採用的是一種折中手段,優點如下:

  • 這種方法把資料分為若干個批,按批來更新引數,這樣,一個批中的一組資料共同決定了本次梯度的方向,下降起來就不容易跑偏,減少了隨機性;

  • 因為批的樣本數與整個資料集相比小了很多,減少了計算量。


4. 請簡述神經風格中的BP模型的訊號正向傳播與誤差反向傳播的過程?

通常說“BP網路”時,一般是指用BP演算法訓練的多層前饋神經網路。多層前饋神經網路的每層神經元與下一層神經元全互連,神經元之間不存在同層連結,也不存在跨層連結,其中輸入層神經元接收外界輸入,隱藏層和輸出層神經元對訊號進行加工,最終結果由輸出層神經元輸出。

訊號正向傳播過程

  • 1.初始化網路權重和閾值,每個神經元的每個連線都有一個權重,且每個神經元都有一個相關聯的偏倚(bias),偏倚充當閾值,用來改變神經元的活性;

  • 2.訓練樣本提供給網路的輸入層,輸入通過輸入神經,不發生變化,即,對於輸入層神經元來講,輸出值等於輸入值;

  • 3.計算隱藏層或輸出層的每個神經元的淨輸入。隱藏層或輸出層的每個神經元的每個連線都有一個權重,對於計算隱藏層或輸出層某神經元J,連線該神經元的每個輸入(該輸入來自於上一層的輸出)都乘以其對應的權重,然後求和,即得到該神經元的淨輸入;

  • 4.計算隱藏層或輸出層的每個神經元的輸出。隱藏層或輸出層的每個神經元取其淨輸入與偏倚的差,然後將啟用函式作用於它,得到輸出。

誤差反向傳播過程

BP演算法基於梯度下降策略,以目標的負梯度方向對引數進行調整。

  • 1.計算輸出層的神經元的誤差(或稱目標);

  • 2.計算隱藏層神經元的誤差(或稱目標);

  • 3.計算輸出層神經元的梯度項,並更新權重和閾值。給定學習率,對於輸出層某神經元,利用梯度下降演算法,以目標的負梯度方向更新該神經元所連線的權重和關聯的閾值;

  • 4.計算隱藏層神經元的梯度項,給定學習率,利用梯度下降演算法該層神經元的權重和閾值;

  • 5.重複以上步驟直到達到停止條件。


5. 在什麼情況下,會使用到早停法earyly stoping? 使用早停法可以防止什麼情況發生?

由於神經網路有強大的表示功能,經常容易早於過擬合,當訓練誤差持續降低,但測試誤差卻上升的情況下,可使用早停法。使用早停法可以緩解神經網路的過擬合。

早停法(earyly stoping)將資料分成訓練集和驗證集,訓練集用來計算梯度、更新權重和閾值,驗證集用來估計誤差,若訓練集誤差降低但驗證集誤差升高,則停止訓練,同時返回具有最小驗證集誤差的連線權和閾值。

640?wx_fmt=png

《機器學習集訓營》課程安排

新增大量機器學習內容

第一階段:零基礎快速上手程式設計

線上直播:1-基本python型別、判斷與迴圈流程等

線上實訓:2-python基本練習題

線上直播:3-檔案/資料讀寫、物件導向、第三方庫等

線上實訓:4-多種資料讀寫與物件導向練習

線下實戰:5-python基本練習題 與 google python實戰題


第二階段:資料分析全攻略

線上直播:1-pandas花式資料統計與分析技能

線上實訓:2-pandas綜合練習

線上直播:3-用pandas完成機器學習資料預處理與特徵工程

線上實訓:4-pandas完成Kaggle機器學習預處理

線下實戰:5-美國大選、共享單車資料分析


第三階段:視覺化提升資料逼格技能get

線上直播:1-好用的python視覺化利器matplotlib

線上實訓:2-matplotlib完成Titanic和自行車租賃資料視覺化

線上直播:3-自帶各種資料擬合分析的視覺化利器seaborn

線上實訓:4-seaborn完成Titanic和自行車租賃資料視覺化

線下實戰:5-美國大選、共享單車視覺化技能鞏固與實戰


第四階段:玩轉大資料

線上直播:1-hadoop與map-reduce

線上實訓:2-手寫map-reduce完成詞頻統計,製作詞雲

線上直播:3-Spark與大資料處理

線上實訓:4-Spark大資料日誌分析

線下實戰:5-大資料分析處理案例


第五階段:機器學習原理

線上視訊:1-線性迴歸、logistic迴歸、梯度下降

線上視訊:2-決策樹、隨機森林、GBDT

線上視訊:3-SVM與資料分類

線上視訊:4-特徵工程:資料清洗、異常點處理、特徵抽取、選擇與組合

線上視訊:5-多演算法組合與模型最優化

線上視訊:6-使用者畫像與推薦系統

線上視訊:7-聚類

線上視訊:8-貝葉斯網路

線上直播:9-邏輯迴歸 Softmax SVM 與 樸素貝葉斯的精髓速講

線上實訓:10-演算法核心要點鞏固(上)

線上直播:11-決策樹 隨機森林 boosting 模型融合的精髓速講

線上實訓:12-演算法核心要點鞏固(下)

線下實戰:13-機器學習演算法面試要點大考察


第六階段:機器學習實戰

線上直播:1-機器學習流程、預處理、特徵工程

線上實訓:2-Kaggle機器學習比賽中的特徵工程處理實戰

線上直播:3-模型評判標準與部分機器學習有監督演算法

線上實訓:4-sklean介面熟悉與機器學習建模指導

線下實戰:5-sklearn建模與使用

線上直播:6-機器學習有監督演算法與無監督學習

線上實訓:7-sklearn刷Kaggle比賽題

線上直播:8-機器學習整合演算法與大殺器Xgboost/LightGBM

線上實訓:9-Xgboost與LightGBM使用

線上直播:10-資料科學比賽精講

線上實訓:11-資料科學比賽練習賽

線下實戰:12-整合演算法與場景建模


第七階段:深度學習原理到實戰

線上直播:1-深度神經網路、google wide&&deep模型、騰訊通用CTR神經網路框架與實現

線上直播:2-卷積神經網路、caffe實戰影象分類、Tensorflow實戰影象風格變換實現

線上直播:3-迴圈神經網路、Tensorflow實戰情感分析與文字生成實現

線下實戰:4-Caffe&&Tensorflow實戰


第八階段:實際綜合專案與就業指導

線下實戰:1-自然語言處理專案

(文字資料抓取+spark/pandas資料分析+視覺化+特徵抽取+Sklearn/Spark機器學習建模+深度學習建模)

線下實戰:2-分類與推薦系統實戰

(音樂資料抓取+spark/pandas分析+視覺化+協同過濾+隱語義模型+特徵抽取分類建模)

線下實戰:3-影象專案

(影象分類+影象檢索)

線下實戰:4-機器學習面試輔導

(面試注意點+常見面試考點精講+簡歷指導+專案展示)

掃描下方二維碼加入集訓營

640?wx_fmt=png

相關文章