这是一个监督学习的学习算法
Given:x(输入特征向量) want
y
^
\hat y
y^=P(y=1|x)
Parameters: x, w∈
R
n
x
R^{n_x}
Rnx b∈
R
R
R
Output:
y
^
\hat y
y^=
w
T
w^T
wT+b
因为你希望
y
^
\hat y
y^=1,所以
y
^
\hat y
y^应该介于0和1之间,因为这是一个二分类的情况
因此我们引入sigmoid函数:
σ
\sigma
σ(z)=
1
1
+
e
−
z
\frac{1}{1+e^{-z}}
1+e−z1
于是输出变成
y
^
\hat y
y^=
σ
\sigma
σ(
w
T
w^T
wT+b)
为了训练logistic回归模型的参数w以及b需要定义一个cost函数
对于单个样本来说,定义的损失函数为或者是误差函数:L(
y
^
\hat y
y^,y)=-(y
log
y
^
\log^{\hat y}
logy^+(1-y)
log
1
−
y
^
\log^{1-\hat y}
log1−y^)
它们可以用来衡量算法的运行情况,即衡量预测输出值
y
^
\hat y
y^和y的实际值有多接近。
对于m个样本而言,cost函数即为:
J(w , b)=
1
m
\frac{1}{m}
m1
∑
i
=
1
m
L
(
y
^
(
i
)
,
y
(
i
)
)
\displaystyle\sum_{i=1}^{m} L(\hat y^{(i)},y^{(i)})
i=1∑mL(y^(i),y(i))
=-
1
m
\frac{1}{m}
m1
∑
i
=
1
m
[
y
(
i
)
log
y
^
(
i
)
+
(
1
−
y
(
i
)
)
log
1
−
y
^
(
i
)
]
\displaystyle\sum_{i=1}^{m} [y^{(i)}\log^{\hat y^{(i)}}+(1-y^{(i)})\log^{1-\hat y^{(i)}}]
i=1∑m[y(i)logy^(i)+(1−y(i))log1−y^(i)]
可能很多人搞不清楚loss函数与cost函数之间的区别
loss函数只适用于单个训练样本
cost函数基于参数的总代价
可能内容不太紧凑扎实,后续会继续改进的