標籤:

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

本次題目來自《七月在線機器學習集訓營 三期,第八周(深度學習)考試》,參考答案來自優秀學員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)將數據分成訓練集和驗證集,訓練集用來計算梯度、更新權重和閾值,驗證集用來估計誤差,若訓練集誤差降低但驗證集誤差升高,則停止訓練,同時返回具有最小驗證集誤差的連接權和閾值。

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

機器學習集訓營 第四期「線上線下結合,線下在北上深廣杭沈濟鄭成九地」- 七月在線

新增大量機器學習內容

第一階段:零基礎快速上手編程

在線直播: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-機器學習面試輔導

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

掃下方二維碼免費試聽


推薦閱讀:

《信用風險評分卡研究》中最大似然估計分析表的解讀
機器學習:用正規方程法求解線性回歸
機器學習之邏輯回歸分類
關聯分析:第一大數據挖掘演算法
決策樹之條件熵與信息增益

TAG:機器學習 |