这是一个监督学习的学习算法
Given:x(输入特征向量) want y^\hat yy^=P(y=1|x)
Parameters: x, w∈RnxR^{n_x}Rnx b∈RRR
Output: y^\hat yy^=wTw^TwT+b
因为你希望y^\hat yy^=1,所以y^\hat yy^应该介于0和1之间,因为这是一个二分类的情况
因此我们引入sigmoid函数:σ\sigmaσ(z)=11+e−z\frac{1}{1+e^{-z}}1+e−z1

于是输出变成 y^\hat yy^=σ\sigmaσ(wTw^TwT+b)
为了训练logistic回归模型的参数w以及b需要定义一个cost函数
对于单个样本来说,定义的损失函数为或者是误差函数:L(y^\hat yy^,y)=-(ylogy^\log^{\hat y}logy^+(1-y)log1−y^\log^{1-\hat y}log1−y^)
它们可以用来衡量算法的运行情况,即衡量预测输出值y^\hat yy^和y的实际值有多接近。
对于m个样本而言,cost函数即为:
J(w , b)=1m\frac{1}{m}m1∑i=1mL(y^(i),y(i))\displaystyle\sum_{i=1}^{m} L(\hat y^{(i)},y^{(i)})i=1∑mL(y^(i),y(i))
=-1m\frac{1}{m}m1∑i=1m[y(i)logy^(i)+(1−y(i))log1−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函数基于参数的总代价
可能内容不太紧凑扎实,后续会继续改进的

1万+

被折叠的 条评论
为什么被折叠?



