深度學習是機器學習的一種技術。這裡的「深度」,應當是指結構上包含若干順次「連線」的「層」(輸入層、輸出層、隱藏層等)。輸入層代表外部的輸入,輸出層代表程式的輸出,夾在它們中間在程式執行時不展示的,統稱隱藏層。資料每到達新的「層」,都要發生相應的變換,這種輸入和輸出之間關係確定的變換,就是「層」之間「連線」的體現。
在深度學習中,資料由前一層向後一層的變換往往包含兩個部分,其一是將前一層的資料代入到預先設定好的啟用函式中得到「啟用值」(下面列舉了幾個啟用函式在python中的實現**),其二是將「啟用值」代入到一組引數待定的線性方程中解得下一層的資料。顯然,設法改變這些待定的引數值使得最終輸出的**值與真實值盡可能接近(這常用損失函式值盡可能小來體現)就是我們的最終目標。為此可用反向傳播(用來計算偏導數)與梯度下降演算法。
深度學習模型可能比較複雜(如alphago有13層,每層192個「神經元」),對計算機的效能提出了較高的要求。
以下依次為softmax、sigmoid、tanh、relu、leaky relu啟用函式的實現:
上述啟用函式影象如下(x=linspace(-10,10)):import numpy as np
import matplotlib.pyplot as plt
defsoftmax
(x):
exp_x=np.exp(x)
y=exp_x/np.
sum(exp_x)
return y
defsigmoid
(x):
y=1/
(1+np.exp(
-x))
return y
deftanh
(x):
a=np.exp(x)
b=np.exp(
-x) y=
(a-b)
/(a+b)
return y
defrelu
(x):
if x>0:
y=xelse
: y=
0return y
defleaky_relu
(x,a=
0.05):
if x>0:
y=xelse
: y=a*x
return y
深度學習初步了解
深度學習興起,源於以下3個方面 傳統機器學習在處理原始形態的自然資料方面存在很大的侷限性。它需要技藝高超的工程師和經驗豐富的領域專家設計特徵提取器,將原始資料轉化為合適的中間表示形式或特徵向量,學習子系統,即分類器,然後對輸入模型進行檢測或分類。而深度學習較傳統機器學習的一大優勢是 它不需要人工設計...
機器學習初步了解
重點內容 對機器學習的理解,所謂機器學習,就是機器從資料中學習,機器從資料中學出規律,然後運用到新的資料中,在機器學習中,前者稱為訓練集,後者稱為測試集。學機器學習,我們第乙個往往學的是線性回歸 linear regression 在這裡,我從吳恩達教授講的例子說起,吳恩達講的是乙個房屋 與面積的關...
初步了解機器學習
1 特徵工程 2 train和test資料分割 3 模型訓練 4 5 交叉驗證 6 搜尋最優引數 我們以處理鳶花尾資料為例進行學習 首先是載入項 from future import print function 預先配置好的鳶尾花資料集 from sklearn.datasets import l...