deeplearning course-01-03 Shallow Neural Network
@(学习笔记)
本笔记为Andrew NG的DeepLearning课程,其链接为:Coursera链接 网易云课堂链接
个人建议用coursera的比较好,虽然付费了,但是有题目可以做
PS:如果有错误,欢迎指正!
一. 网络表示方式:
z[1]1=w[1]1a[1]1+b[1]1
z
1
[
1
]
=
w
1
[
1
]
a
1
[
1
]
+
b
1
[
1
]
其中,右上角的 1 代表网络层数,下标1代表该层第1个神经元
![这里写图片描述 | center|](//img-blog.csdn.net/20180315144652564?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L01PTktFWTMyMzM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 一个神经元,其中的圆形代表了两次计算 向量化: 横向为训练数据序号,纵向为神经元序号
![这里写图片描述](//img-blog.csdn.net/20180315144807818?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L01PTktFWTMyMzM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
二. 激活函数
sigmoid function:二分类的时候用,输出是(0~,1)
sigmoid(x)=11+e−x
s
i
g
m
o
i
d
(
x
)
=
1
1
+
e
−
x
![这里写图片描述](//img-blog.csdn.net/20180315144830273?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L01PTktFWTMyMzM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) tanh function:
tanh(x)=ez−e−zez+e−z
t
a
n
h
(
x
)
=
e
z
−
e
−
z
e
z
+
e
−
z
Relu function:
relu(x)={0xx<0x>0
r
e
l
u
(
x
)
=
{
0
x
<
0
x
x
>
0
单层神经网络公式:
Logistic regression did not work well on the “flower dataset”. You are going to train a Neural Network with a single hidden layer.
Mathematically:
For one example
x(i)
x
(
i
)
:
z[1](i)=W[1]x(i)+b[1](1)
(1)
z
[
1
]
(
i
)
=
W
[
1
]
x
(
i
)
+
b
[
1
]
a[1](i)=tanh(z[1](i))(2)
(2)
a
[
1
]
(
i
)
=
tanh
(
z
[
1
]
(
i
)
)
z[2](i)=W[2]a[1](i)+b[2](3)
(3)
z
[
2
]
(
i
)
=
W
[
2
]
a
[
1
]
(
i
)
+
b
[
2
]
y^(i)=a[2](i)=σ(z[2](i))(4)
(4)
y
^
(
i
)
=
a
[
2
]
(
i
)
=
σ
(
z
[
2
]
(
i
)
)
y(i)prediction={10if a[2](i)>0.5otherwise (5)
(5)
y
p
r
e
d
i
c
t
i
o
n
(
i
)
=
{
1
if
a
[
2
]
(
i
)
>
0.5
0
otherwise
Given the predictions on all the examples, you can also compute the cost
J
J
as follows:
注意事项:
1. 保持维度
db1 = np.sum(b1, axis = 0, keepdims = 1)
之前少了,keepdims项,计算导致了错误
2. 维度计算公式
W:(n[l],nl−1)
W
:
(
n
[
l
]
,
n
l
−
1
)
b:(n[l],1)
b
:
(
n
[
l
]
,
1
)