機器學習面試題,更有大廠內推機會
本次題目來自《七月線上機器學習集訓營 三期,第八週(深度學習)考試》,參考答案來自優秀學員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-機器學習面試輔導
(面試注意點+常見面試考點精講+簡歷指導+專案展示)
掃描下方二維碼加入集訓營
相關文章
- 一線大廠在機器學習方向的面試題(一)機器學習面試題
- 一線大廠在機器學習方向的面試題(二)機器學習面試題
- 一線大廠在機器學習方向的面試題(三)機器學習面試題
- 10道機器學習、深度學習必會面試題機器學習深度學習面試題
- 機器學習面試問題彙總機器學習面試
- 大廠必問的Java虛擬機器面試題Java虛擬機面試題
- 【機器學習】機器學習面試乾貨精講機器學習面試
- 9 大主題!機器學習演算法理論面試題大彙總機器學習演算法面試題
- 資料科學和機器學習面試問題資料科學機器學習面試
- 面試Python機器學習時,常見的十個面試題Python機器學習面試題
- 機器學習面試準備大全 – 技能要求、面試例題詳解機器學習面試
- 機器學習面試準備大全 - 技能要求、面試例題詳解機器學習面試
- 「乾貨」22道機器學習常見面試題目機器學習面試題
- 幽默:機器學習面試的笑話機器學習面試
- TikTok機器學習與資料科學家的面試題 - Reddit機器學習資料科學面試題
- 機器學習及深度學習的知識點及面試題總結機器學習深度學習面試題
- 網際網路大廠內推+面試乾貨合集面試
- 【演算法工程師】機器學習面試問題總結演算法工程師機器學習面試
- 機器學習筆試題精選(七)機器學習筆試
- 機器學習筆試精選題(四)機器學習筆試
- 機器學習筆試題精選(五)機器學習筆試
- 機器學習筆試題精選(六)機器學習筆試
- 機器學習筆試題精選(一)機器學習筆試
- 機器學習筆試題精選(三)機器學習筆試
- 機器學習筆試題精選(二)機器學習筆試
- Java大廠面試題Java面試題
- 蘋果、微軟等巨頭107道機器學習面試題蘋果微軟機器學習面試題
- 備戰AI求職季 | 100道機器學習面試題(下)AI求職機器學習面試題
- AI/機器學習(計算機視覺/NLP)方向面試複習1AI機器學習計算機視覺面試
- 機器學習-習題(二)機器學習
- 機器學習-習題(一)機器學習
- 如何準備機器學習工程師的面試?機器學習工程師面試
- 2019機器學習試題及個人思路機器學習
- 最新Mysql大廠面試必會的34問題MySql面試
- 好程式設計師Python培訓分享機器學習面試題一程式設計師Python機器學習面試題
- 機器之心邀請您參加2018全球機器學習技術大會機器學習
- 機器學習 大資料機器學習大資料
- react面試題 機試題React面試題