BAT機器學習面試1000題系列(136-140題)
136.深度學習常用方法
@SmallisBig,來源:http://blog.csdn.net/u010496169/article/details/73550487
全連接DNN(相鄰層相互連接、層內無連接): AutoEncoder(儘可能還原輸入)、Sparse Coding(在AE上加入L1規範)、RBM(解決概率問題)—–>特徵探測器——>棧式疊加 貪心訓練 RBM—->DBN解決全連接DNN的全連接問題—–>CNN
解決全連接DNN的無法對時間序列上變化進行建模的問題—–>RNN—解決時間軸上的梯度消失問題——->LSTM137.神經網路模型(Neural Network)因受人類大腦的啟發而得名。
神經網路由許多神經元(Neuron)組成,每個神經元接受一個輸入,對輸入進行處理後給出一個輸出,如下圖所示。請問下列關於神經元的描述中,哪一項是正確的?
A.每個神經元只有一個輸入和一個輸出
B.每個神經元有多個輸入和一個輸出
C.每個神經元有一個輸入和多個輸出
D.每個神經元有多個輸入和多個輸出
E.上述都正確
答案:(E)
每個神經元可以有一個或多個輸入,和一個或多個輸出。
138.下圖是一個神經元的數學表示
這些組成部分分別表示為:
- x1, x2,…, xN:表示神經元的輸入。可以是輸入層的實際觀測值,也可以是某一個隱藏層(Hidden Layer)的中間值
- w1, w2,…,wN:表示每一個輸入的權重
- bi:表示偏差單元/偏移量(bias unit)。作為常數項加到激活函數的輸入當中,類似截距(Intercept)
- a:作為神經元的激勵函數(Activation),可以表示為
- y:神經元輸出
考慮上述標註,線性等式(y = mx + c)可以被認為是屬於神經元嗎:
A. 是
B. 否
答案:(A)
一個不包含非線性的神經元可以看作是線性回歸函數(Linear Regression Function)。
139.在一個神經網路中,知道每一個神經元的權重和偏差是最重要的一步。如果知道了神經元準確的權重和偏差,便可以近似任何函數,但怎麼獲知每個神經的權重和偏移呢? A 搜索每個可能的權重和偏差組合,直到得到最佳值
B 賦予一個初始值,然後檢查跟最佳值的差值,不斷迭代調整權重 C 隨機賦值,聽天由命D 以上都不正確的
答案:(C)選項C是對梯度下降的描述。140.梯度下降演算法的正確步驟是什麼?
1.計算預測值和真實值之間的誤差
2.重複迭代,直至得到網路權重的最佳值
3.把輸入傳入網路,得到輸出值
4.用隨機值初始化權重和偏差
5.對每一個產生誤差的神經元,調整相應的(權重)值以減小誤差
答案:正確步驟排序是:4, 3, 1, 5, 2
推薦閱讀:
※為什麼隨機梯度下降方法能夠收斂?
※[讀論文]Big Batch SGD: Automated Inference using Adaptive Batch Sizes
※詳解softmax函數以及相關求導過程
※隨機梯度下降和正則項之間如何處理?
※當我們在談論 Deep Learning:DNN 與它的參數們(貳)
TAG:神经网络 | 深度学习DeepLearning | 梯度下降 |