Q:为什么逻辑回归损失函数往往要求是凸函数?(此处凸函数是指下凸,国内和国外凸函数的标准不一样,是相反的,吴恩达的机器学习课程凸函数是指下凸)
A:如果损失函数是非凸的,使用梯度下降法优化时,最后得到的可能只是局部最优解,而非全局最优解。
--------------------------------------------------------------------------------------------------------------------------------
平方差损失非凸证明
做优化时,最容易想到的loss function便是平方差损失:,看起来是可行的,但实际并非如此,因为平方差损失是非凸函数。
证明函数的非凸性只要证明这个函数的二阶导不恒>0
先验条件:线性拟合函数 z = wx + b ,二分类问题z值需要归一化到[0,1],即使用sigmoid激活函数 (即)
平方差损失函数:
以对权重求偏导举例
,所以后三项乘积恒>=0。 只需要判断
y的范围为[0,1],假设y=0, 上式满足>0的条件为<2/3 ,所以当>2/3时,二阶导为负值,不满足凸函数的性质。
常用logistic损失函数:
手推了一下,w的二阶偏导为 (此处log我是以2为底计算导数,吴恩达的视频中log相当于ln,以e为底,不要在意这些细节hhh),显而易见,二阶导恒大于0。 (补充知识点: )
通俗易懂地举例验证一下此损失函数的可行性,假设y=1, 损失函数只剩第一项 ,使这一项尽可能小,那么尽可能大,而是经sigmoid激活的函数,范围为0-1,只能无限接近1。即真实值为1时,预测值也要无限接近1,loss function才会尽可能地小。
贴一张以e为底的交叉熵损失函数手写求导图
题外话:csdn自带的公式编辑器太难用了,用office编辑再复制过来公式看起来很假,所以各位大佬们都是怎么编辑公式的==