第二周神经网络基础
过
程
:
输
入
x
,
计
算
机
通
过
一
系
列
计
算
,
得
出
y
^
,
我
们
希
望
计
算
而
来
的
y
^
与
期
望
中
的
y
无
限
接
近
。
过程:输入x,计算机通过一系列计算,得出\hat y,我们希望计算而来的\hat y与期望中的y无限接近。
过程:输入x,计算机通过一系列计算,得出y^,我们希望计算而来的y^与期望中的y无限接近。
举
个
例
子
,
给
计
算
机
输
入
一
张
猫
猫
的
图
片
,
计
算
机
得
出
一
个
结
果
y
^
,
我
们
希
望
y
^
无
限
接
近
期
望
中
的
结
果
‘
猫
猫
’
。
举个例子,给计算机输入一张猫猫的图片,计算机得出一个结果\hat y,我们希望\hat y无限接近期望中的结果‘猫猫’。
举个例子,给计算机输入一张猫猫的图片,计算机得出一个结果y^,我们希望y^无限接近期望中的结果‘猫猫’。
所
以
我
们
用
损
失
函
数
将
y
^
转
化
为
0
−
1
的
概
率
值
,
但
损
失
函
数
针
对
单
个
样
本
,
而
成
本
函
数
针
对
所
有
样
本
的
损
失
函
数
和
。
所以我们用损失函数将\hat y转化为0-1的概率值,但损失函数针对单个样本,而成本函数针对所有样本的损失函数和。
所以我们用损失函数将y^转化为0−1的概率值,但损失函数针对单个样本,而成本函数针对所有样本的损失函数和。
logistic回归
输
入
一
个
64
∗
64
的
图
片
,
计
算
机
将
此
图
片
存
储
为
大
小
为
64
∗
64
∗
3
=
12288
大
小
的
特
征
向
量
n
x
=
[
.
.
.
.
]
。
(
x
,
y
)
,
x
∈
R
n
x
,
y
∈
0
,
1
,
m
t
r
a
i
n
=
(
x
(
1
)
,
y
(
1
)
)
,
(
x
(
2
)
,
y
(
2
)
)
,
…
,
(
x
(
m
)
,
y
(
m
)
)
,
m
t
e
s
t
。
输入一个64*64的图片,计算机将此图片存储为大小为64*64*3=12288大小的特征向量n_x=\begin{bmatrix} . \\ . \\.\\. \end{bmatrix} 。(x,y), x \in R^{n_x} , y\in{0,1} ,m_{train}={(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),{\dots},(x^{(m)},y^{(m)})},m_{test}。
输入一个64∗64的图片,计算机将此图片存储为大小为64∗64∗3=12288大小的特征向量nx=⎣⎢⎢⎡....⎦⎥⎥⎤。(x,y),x∈Rnx,y∈0,1,mtrain=(x(1),y(1)),(x(2),y(2)),…,(x(m),y(m)),mtest。
若
x
=
[
x
(
1
)
x
(
2
)
…
x
(
m
)
]
,
则
x
=
R
n
x
∗
m
,
x
.
s
h
a
p
e
=
(
n
x
,
m
)
。
若x=\begin{bmatrix} x^{(1)}&&x^{(2)} &&{\dots} && x^{(m)} \end{bmatrix} ,则x=R^{n_x*m},x.shape=(n_x,m)。
若x=[x(1)x(2)…x(m)],则x=Rnx∗m,x.shape=(nx,m)。
若
y
=
[
y
(
1
)
y
(
2
)
…
y
(
m
)
]
,
则
y
∈
R
1
∗
m
,
y
.
s
h
a
p
e
=
(
1
,
m
)
。
我
们
希
望
y
^
无
线
接
近
y
,
则
y
^
∈
(
0
,
1
)
,
x
∈
R
n
x
,
w
∈
R
n
x
,
b
∈
R
,
y
^
=
δ
(
w
T
x
+
b
)
,
δ
(
z
)
=
1
1
+
e
−
z
。
若y=\begin{bmatrix} y^{(1)}&&y^{(2)} &&{\dots} && y^{(m)} \end{bmatrix} ,则y\in R^{1*m},y.shape=(1,m)。我们希望\hat y无线接近y,则\hat y \in (0,1),x\in R^{n_x},w\in R^{n_x},b\in R,\hat y=\delta(w^Tx+b),\delta(z)=\frac{1}{1+e^{-z}}。
若y=[y(1)y(2)…y(m)],则y∈R1∗m,y.shape=(1,m)。我们希望y^无线接近y,则y^∈(0,1),x∈Rnx,w∈Rnx,b∈R,y^=δ(wTx+b),δ(z)=1+e−z1。
若
z
↑
,
则
δ
≈
1
1
+
0
≈
1
;
若z\uparrow,则\delta \approx \frac{1}{1+0}\approx 1;
若z↑,则δ≈1+01≈1;
若
z
↓
,
则
δ
≈
1
x
+
∞
≈
0
。
若z\downarrow,则\delta \approx \frac{1}{x+\infty}\approx0。
若z↓,则δ≈x+∞1≈0。
损失函数loss function
l
o
s
s
f
u
n
c
t
i
o
n
:
L
=
(
y
^
,
y
)
=
1
2
(
y
^
−
y
)
2
,
但
通
常
使
用
L
=
−
(
y
log
2
y
^
+
(
1
−
y
)
l
o
g
2
(
1
−
y
^
)
)
。
loss function:L = (\hat y,y)=\frac {1}{2}(\hat y - y)^2,但通常使用L = -(y\log_2 \hat y+(1-y)log_2(1-\hat y))。
lossfunction:L=(y^,y)=21(y^−y)2,但通常使用L=−(ylog2y^+(1−y)log2(1−y^))。
若
y
=
1
,
L
(
y
^
,
y
)
=
−
y
l
o
g
2
y
^
,
希
望
l
o
g
2
y
^
↑
,
则
y
^
↑
。
若y=1,L(\hat y,y)=-ylog_2\hat y,希望log_2 \hat y \uparrow,则\hat y \uparrow。
若y=1,L(y^,y)=−ylog2y^,希望log2y^↑,则y^↑。
若
y
=
0
,
L
(
y
^
,
y
)
=
l
o
g
2
(
1
−
y
^
)
,
希
望
l
o
g
(
1
−
y
^
)
↑
,
则
y
^
↓
若y=0,L(\hat y,y)=log_2 (1-\hat y),希望log(1-\hat y)\uparrow,则\hat y \downarrow
若y=0,L(y^,y)=log2(1−y^),希望log(1−y^)↑,则y^↓
梳 理 : 为 何 使 用 损 失 函 数 ? 来 衡 量 单 个 样 本 预 测 输 出 值 y ^ 和 y 的 实 际 值 有 多 接 近 。 梳理: 为何使用损失函数? 来衡量单个样本预测输出值\hat y和y的实际值有多接近。 梳理:为何使用损失函数?来衡量单个样本预测输出值y^和y的实际值有多接近。
成本函数cost function
c o s t f u n c t i o n : J ( w , b ) = 1 m ∑ i = 1 m L ( y ^ ( i ) , y i ) = − 1 m ∑ i = 1 m [ y ( i ) l o g 2 y ^ ( i ) + ( 1 − y ( i ) ) l o g 2 ( 1 − y ^ ( i ) ) ] . cost function:J(w,b)=\frac{1}{m}\sum_{i=1}^{m}L(\hat y^{(i)},y^{i})=-\frac{1}{m} \sum_{i=1}^m[y^{(i)}log_2\hat y^{(i)}+(1-y^{(i)})log_2(1-\hat y^{(i)})]. costfunction:J(w,b)=m1∑i=1mL(y^(i),yi)=−m1∑i=1m[y(i)log2y^(i)+(1−y(i))log2(1−y^(i))].
梳 理 : 为 何 使 用 成 本 函 数 ? 来 衡 量 所 有 样 本 的 损 失 函 数 和 。 梳理: 为何使用成本函数? 来衡量所有样本的损失函数和。 梳理:为何使用成本函数?来衡量所有样本的损失函数和。
梯度下降
J
(
w
,
b
)
w
=
w
−
α
∂
J
(
w
,
b
)
∂
w
;
b
=
b
−
α
∂
J
(
w
,
b
)
∂
b
J(w,b) w=w-\alpha \frac{\partial J(w,b)}{\partial w};b=b-\alpha \frac{\partial J(w,b)}{\partial b}
J(w,b)w=w−α∂w∂J(w,b);b=b−α∂b∂J(w,b)
其
中
,
α
是
l
e
a
r
n
i
n
g
r
a
t
e
学
习
率
,
可
以
控
制
每
一
次
迭
代
或
梯
度
下
降
法
的
步
长
。
其中,\alpha是learning rate学习率,可以控制每一次迭代或梯度下降法的步长。
其中,α是learningrate学习率,可以控制每一次迭代或梯度下降法的步长。
其
中
,
∂
J
(
w
,
b
)
∂
w
是
对
w
偏
导
。
其中, \frac{\partial J(w,b)}{\partial w}是对w偏导。
其中,∂w∂J(w,b)是对w偏导。
上述公式,可以看出这是三维空间的立体图形,通过不断修正w和b,使得w和b最终归到图形中最凹点或最凸点处。
梳
理
:
为
何
使
用
梯
度
下
降
?
为
了
训
练
或
学
习
训
练
集
上
的
参
数
w
,
b
梳理: 为何使用梯度下降? 为了训练或学习训练集上的参数w,b
梳理:为何使用梯度下降?为了训练或学习训练集上的参数w,b
计算图
举例,J(a,b,c)=3(a+bc),令u=bc,v=a+u,J=3v。采用链式法则,从j倒退a,b,c的导数,这个过程,就是计算图。
向量化
省略显示for循环,用python中的numpy中的向量来替换,在数据量很大的时候,运算速度可以显著提高。