1.Logistic Regression是一个二元分类问题

  (1)已知输入的特征向量x可能是一张图,你希望把它识别出来,这是不是猫图,你需要一个算法,可以给出预测值,更正式的y是一个概率,当输入特征x满足条件的时候y就是1。换句话说,如果x是图片,那就需要拿到一张猫图的概率。

  (2)Sigmoid函数。这里就不多说了,关于sigmoid自己百度,很简单

  (3)为了训练logistic回归模型的参数w和b,需要定义一个代价函数,接下来看看用logistic regression来训练的代价函数

  

如何给模型损失函数添加L2正则化pytorch regression的损失函数_损失函数

  这里我们想通过训练集

如何给模型损失函数添加L2正则化pytorch regression的损失函数_损失函数_02

来找到参数w和b,来得到相应的输出

  (4)接下来看看损失函数或者叫做误差函数,你可以将损失定义为(y真实值-y预测值)^2,但是在logistc回归中,大家都不这样做,因为当你学习参数的时候,你会发现后续讨论的优化问题会变成非凸的,最后会得到很多歌局部最优解。梯度下降算法可能找不到全局最优值,但是这个L值可以用来衡量你的预测输出值和真实值有多接近。所以在logistic函数中,我们用下面这个式子来进行损失函数的计算:

  

如何给模型损失函数添加L2正则化pytorch regression的损失函数_代价函数_03

  对于这个损失函数,希望它尽可能的小

  (4)ex1:当y=1的时候,

如何给模型损失函数添加L2正则化pytorch regression的损失函数_代价函数_04

,因为如果y=1的时候,第二项1-y就等于0,这就是说当y=1的时候,如果想让损失函数

如何给模型损失函数添加L2正则化pytorch regression的损失函数_logistic回归_05

尽可能的小,这就意味着

如何给模型损失函数添加L2正则化pytorch regression的损失函数_logistic回归_06

要尽可能的大,这就意味着

如何给模型损失函数添加L2正则化pytorch regression的损失函数_logistic回归_07

要尽可能的大,但是sigmoid函数的输出永远不可能比1大,也就是说y=1时,让

如何给模型损失函数添加L2正则化pytorch regression的损失函数_代价函数_08

尽可能的大,但是它永远不可能大于1,所以要让

如何给模型损失函数添加L2正则化pytorch regression的损失函数_logistic回归_09

接近1,  (5)ex2:当y=0的时候,损失函数的第一项

如何给模型损失函数添加L2正则化pytorch regression的损失函数_logistic回归_10

等于0,因为y是0,所以这个第二项就是这个损失函数,所以损失函数变成

如何给模型损失函数添加L2正则化pytorch regression的损失函数_代价函数_11

,在学习过程中,想要损失函数小一些,这就意味着

如何给模型损失函数添加L2正则化pytorch regression的损失函数_损失函数_12

足够大

  (6)成本函数:衡量的是在全体训练样本上的表现,我们要找到合适的w和b,让这里的成本函数J尽可能的小

如何给模型损失函数添加L2正则化pytorch regression的损失函数_logistic回归_13