您的位置:首页 > 其它

Deep Learning Notes - 1.2深度学习基础

2018-02-18 22:49 555 查看

Deep Learning Notes - 1.2深度学习基础

二进制分类 Binary Classification

例如:判断图片中是否含有猫

图片为rbg模式,大小为width×heightwidth×height,使用矩阵(列向量)存储如下:

x=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢Mat_R1,1Mat_R1,2...Mat_G1,1Mat_G1,2...Mat_B1,1Mat_B1,2...⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥nx×1x=[Mat_R1,1Mat_R1,2...Mat_G1,1Mat_G1,2...Mat_B1,1Mat_B1,2...]nx×1

其中nx=3×width×heightnx=3×width×height,并将xx作为输入。

输出:

y={0 图片中有猫1 图片中无猫y={0 图片中有猫1 图片中无猫

任意一个实例可以表示为(x,y)(x,y),x∈Rnxx∈Rnx,y∈{0,1}y∈{0,1},矩阵化之后为:



Logistic 回归

给定xx的前提下,令y^=P(y=1|x),y^∈(0,1)y^=P(y=1|x),y^∈(0,1)

输出:y^=σ(wTx+b)y^=σ(wTx+b),x∈Rnxx∈Rnx,w∈Rnxw∈Rnx,b∈Rb∈R

其中σ(z)=11+e−zσ(z)=11+e−z,图像如下:



Loss 函数:

L(y^,y)=−[ylogy^+(1−y)log(1−y^)]L(y^,y)=−[ylog⁡y^+(1−y)log⁡(1−y^)]

Cost 函数:

J(w,b)=1m∑i=1mL(y^(i),y(i))=−1m∑i=1m[y(i)logy^(i)+(1−y(i))log(1−y^(i))]J(w,b)=1m∑i=1mL(y^(i),y(i))=−1m∑i=1m[y(i)log⁡y^(i)+(1−y(i))log⁡(1−y^(i))]

其中的loglog均以ee为底。

梯度下降 Gradient Descent

计算(w,b)(w,b)来使得J(w,b)J(w,b)数值最小,以下是一次梯度下降公式:

w=w−α∂J(w,b)∂ww=w−α∂J(w,b)∂w

b=b−α∂J(w,b)∂bb=b−α∂J(w,b)∂b

其中,αα为学习率。

此后,不再详细区分dd和∂∂符号。

计算图

例如:

J(a,b,c)=3(a+bc)J(a,b,c)=3(a+bc)

正向计算数值和反向计算导数的过程如下:



Logistic回归的梯度下降

z=wTx+bz=wTx+b

y^=a=σ(z)y^=a=σ(z)

L(a,y)=−[yloga+(1−y)log(1−a)]L(a,y)=−[ylog⁡a+(1−y)log⁡(1−a)]



用于mm个样例,并高度向量化:



Python伪代码为:

# 高度向量化的目的是
# 减少for循环
# 以加快代码的运行速度
import numpy as np

for i in range(1000):   # 梯度下降1000次
# 计算 a (y hat)
Z = np.dot(W.T, X) + b
A = sigmod(Z)

dz = A - Y
dw = 1/m * np.dot(X, dz.T)
db = 1/m * np.sum(dz)

w -= alpha * dw
b -= alpha * db


Python Broadcasting

⎡⎣⎢123⎤⎦⎥+10=⎡⎣⎢123⎤⎦⎥+⎡⎣⎢101010⎤⎦⎥[123]+10=[123]+[101010]

[142536]+[102030]=[142536]+[101020203030][123456]+[102030]=[123456]+[102030102030]

[142536]+[1020]=[142536]+⎡⎣⎢101010202020⎤⎦⎥[123456]+[1020]=[123456]+[102010201020]

Some Coding Techniques

记得创建行向量
np.random.randn( (5,1) )


列向量
np.random.randn( (1,5) )


而不要使用
np.random.randn( 5 )


多使用
reshape()
函数没有坏处

尽可能多的使用
assert( a.shape()==(5,1) )
来保证程序的健壮性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Deep Learning
相关文章推荐