机器学习笔记(10)- 逻辑回归中的代价函数

目录

  • 逻辑回归中的代价函数

逻辑回归中的代价函数

机器学习笔记(10)- 逻辑回归中的代价函数_第1张图片
m表示训练集的总样本数,每个样本都有一个或多个特征,例如肿瘤大小、患者年龄等,共有n个特征,命名为x1 ~ xn
由于此训练集是个二分类任务,所以得到的标签y只用两个值,0或1
机器学习笔记(10)- 逻辑回归中的代价函数_第2张图片尝试使用相同的成本函数进行逻辑回归,会画出一个非凸函数,意味着如果用梯度下降法,因为有很多局部最小值,很容易卡在这些地方,所以对于逻辑回归,平方误差代价函数并不是一个好的选择
相反,这里有个可以使代价函数再次凸化的代价函数,保证梯度下降可以收敛到全局最小,唯一的改变把1/2放在了里面
把蓝色框中的内容叫做单个训练例子的损失,用L表示损失函数,是关于f(x)和真实标签y的函数


上图是损失函数的定义
损失函数衡量的是你在一个训练样本中的表现,等你把所有的训练样本的损失加起来得到的代价函数,才能衡量模型在整个训练集上的表现
f是逻辑回归的输出,所以f的值总是在0和1之间,所以-log函数只会取上半部分
如果算法预测的概率接近于1,而真实值标签是1,那么损失非常小,几乎是0,如果预测的是0.5,而标签值是1,那么损失在黄色圈处,如果算法预测是0.1,也就是模型认为只有10%的概率的肿瘤是恶性的,但是y的标签值是1,此时损失函数高得多
当y=1时,损失函数推动算法做出更准确的预测,因为当f(x)的值接近于1时,损失时最低的
机器学习笔记(10)- 逻辑回归中的代价函数_第3张图片
当y=0时,损失函数是什么样的?
f的范围被限制在0到1之间,因为逻辑回归只输出0到1之间的值,在该图中,对应于y=0,纵轴显示了f(x)不同值时的损失值
当f=0或非常接近于0时,损失也会非常小,意味着如果标签y是0,模型的预测也会非常接近于0,f(x)的值越大,损失越大,因为预测离真实标签0更远了,当预测值接近于1时,损失实际上接近于无穷大
如果模型预测出的肿瘤极有可能时恶性的,但其实不是恶性的,所以y=0,此时我们就以很大的损失惩罚这个模型,预测值f(x)离y的真实值越远,损失就越高
如果f(x)趋近于0,这里的损失就会非常大,实际上就会趋近于无穷

机器学习笔记(10)- 逻辑回归中的代价函数_第4张图片
讲了逻辑回归中平方误差函数为什么不好用,还定义了单个训练样本的损失,并提出了逻辑回归损失函数的新定义,选择这个损失函数后,整个代价函数就是凸函数了,此时便可以使用梯度下降法得到全局最小值了
代价函数时整个训练集的函数,因此代价函数=1/m乘以单个训练样本的损失函数之和,

你可能感兴趣的:(机器学习,逻辑回归,python)