Deep learning - Neural Network & Deep learning .02

2?Basics of Neural Network programming
2.1 Binary classification

n(x)表示輸出的特征向量維度,有時也簡寫成n

單個樣本由一對(x,y)表示
組織一個輸入矩陣X按列排列,每一列是一條數(shù)據(jù)x,n(x)表示的是特征向量的維度,x(m)表示的是訓練集的個數(shù)
同樣的,Y也要組織成按列排列的矩陣,Y是一個1xm大小的矩陣
經(jīng)過實踐發(fā)現(xiàn)按列排列的矩陣對于DL的效果更好
有用的慣例:混合不同的訓練樣本數(shù)據(jù) - 在這里數(shù)據(jù)是指單個x或y,或者之后其他的數(shù)目數(shù)據(jù),混合不同訓練樣本的數(shù)據(jù),并將他們按列排列,像我們之前對x和y做的那樣
2.2 Logistic Regression model

y^代表的是真實標簽y的估計,y^是當給定輸入特征值x時,預測標簽y為1的概率,即 y^=P(y=1|x)
sigmoid函數(shù)的作用就是把線性函數(shù)的值壓縮在0~1之間,z軸就是線性函數(shù)(w^T*x+b)

參數(shù)w、b通常分開看待,這里b對應一個偏置量
有時,會遇到函數(shù)中定義了一個額外的特征x0,并讓x0等于1,這時x∈R^n(x)+1,y^=σ(θ^Tx),θ集合包含θ(0)~θ(n(x)),θ(0)代替了參數(shù)b,θ(1~n(x))代替了參數(shù)w;這種升維是為了省去偏差參數(shù)b
而事實上,實現(xiàn)神經(jīng)網(wǎng)絡時,把參數(shù)b和w當作相互獨立的參數(shù)會更簡單
2.3 Logistic Regression cost function

Loss function 損失函數(shù) = Error function 誤差函數(shù) 表示為 L(y^,y)
使用x^(i)表示具體的參數(shù)實例
Squared error 平方誤差 會產(chǎn)生非凸函數(shù),使得后續(xù)的梯度下降可能取到局部最優(yōu)解,得不到全局最優(yōu)解
Binary cross entropy 二元交叉熵 能夠很好的產(chǎn)生凸函數(shù)


Binary cross entropy公式下:如果y=1,那么y^要盡可能的大,因y^為sigmoid函數(shù),所以y^要無限接近于1
Binary cross entropy公式下:如果y=0,那么y^要盡可能的小,因y^為sigmoid函數(shù),所以y^要無限接近于0
目前很多函數(shù)都粗略的有這樣效應:if y=1 so y^趨近1 ,if y=0 so y^趨近0
Loss(Error) function 損失(誤差)函數(shù) 針對單個訓練實例,能夠衡量單一實例訓練的好壞
Cost function 代價函數(shù) 能夠衡量整個訓練集訓練的好壞,也體現(xiàn)了所有參數(shù)的成本(代價) 表示為 J(w,b)
在優(yōu)化邏輯回歸模型時,我們要試著去找參數(shù)w和b,以此來縮小J的整體成本