@吴恩达神经网络学习笔记DAY1
回顾一下logistic回归方程:
一、logistic回归模型可以如下表示:
这是在只有一种样本的情况下(x,y)为样本,x为输入参数,y为基本真值,即为每个样本的真实输出结果;w是样本中的特征(如像素等),是一个n维的向量;
y
^
\hat y
y^为算法的输出值,它的结果因满足于
y
^
≈
y
\hat y\approx y
y^≈y;
二、logistic回归的损失函数
在给出的m个样本中,
(
x
^
(
1
)
,
y
^
(
1
)
)
(\hat x^{(1)},\hat y^{(1)})
(x^(1),y^(1)),
(
x
^
(
2
)
,
y
^
(
2
)
)
(\hat x^{(2)},\hat y^{(2)})
(x^(2),y^(2)),…
(
x
^
(
m
)
,
y
^
(
m
)
)
(\hat x^{(m)},\hat y^{(m)})
(x^(m),y^(m)),希望有一个函数能实现每个样本输入
x
(
i
)
x^{(i)}
x(i)时,能保证
y
^
≈
y
\hat y\approx y
y^≈y,因此提出了一个损失函数,该函数表示如下:
以m个样本为基础,L即为每一个样本i的损失函数,J(w,b)为样本的成本函数。
上式所表达的含义为:对于每一个样本i的输出结果,需要使
y
^
\hat y
y^与y的误差最小。若
y
=
{
0
,
1
}
y=\left\{0,1\right\}
y={0,1},则由损失函数
L
(
y
^
,
y
)
L(\hat y,y)
L(y^,y)可以得出,当
y
=
0
y=0
y=0时,且
y
^
\hat y
y^需要最小,则
y
^
\hat y
y^趋于零。。
三、梯度下降法
为了保证
J
(
w
)
J(w)
J(w)最小,需要不断的根据梯度的方向更新w和b的值。
其中,
α
\alpha
α为更新率。
四、计算图的正向与反向
对一个计算式
J
=
(
a
+
b
c
)
J=(a+bc)
J=(a+bc),可以将其进行分解为:
u
=
b
c
u=bc
u=bc,
v
=
a
+
u
v=a+u
v=a+u,
J
=
3
v
J=3v
J=3v。将输入值
a
,
b
,
c
a,b,c
a,b,c进行输入,经过三次累计,则可得到
J
J
J,此为正向的表达。若将此计算图反向表达,则可将其描述为对式中参数的求导。
五、logistic回归的梯度下降法
逻辑回归公式:
对于单个样本说:
这里只采用了两个特征值
w
1
,
w
2
w_1,w_2
w1,w2。
当含有m个样本时,梯度下降法可表示为如下:
上述算法中,将
J
,
d
w
1
,
d
w
2
,
d
b
J,dw_1,dw_2,db
J,dw1,dw2,db的初值设为0;对所有的样本进行循环,在上一张图中,反向求导已经得出了
d
w
1
,
d
w
2
,
d
z
,
d
b
dw_1,dw_2,dz,db
dw1,dw2,dz,db的表达式,因为有m个样本,所以需要将所有样本的值进行平均以获得最终结果;得到的结果:
d
w
1
,
d
w
2
,
d
b
dw_1,dw_2,db
dw1,dw2,db即为w,b减小或增加的梯度方向(为了使结果
J
J
J达到最小);不断的循环以上步骤,直至
w
1
,
w
2
,
b
w_1,w_2,b
w1,w2,b的值使成本函数
J
J
J达到最小。
上述算法存在一定的缺陷,即为需要的循环过多,此算法中仅使用了两个特征值,若算法的特征值为n,则循环需要
O
(
n
2
)
O(n^2)
O(n2),之后会通过向量化的方式减少for循环的使用。