我们在学习logistic regression cost function时,如果我们自己定义一个loss function, 我们可能会使用平方误差(squared error)或者半平方误差:
但我们在实际情况下却并不常使用这个作为我们的loss function, 这是因为当我们想要让逻辑回归方程里的参数进行学习的时候,当考虑优化问题时,会发现变成了非凸问题(non-convex problem): 即出现了多个local optima, 无法找到global optima。
想要理解这一点,我们首先需要知道什么是凸函数(convex function):
The line segment connecting any two points on the graph of the function lies above or on the graph itself. 连接函数图形上任意两点的线段位于图形本身之上或之上。
并且,二阶可导的一元函数f为凸函数,当且仅当他的二阶导数f''在定义域上是非负的。
下面是凸函数的一个简单的例子:
在机器学习中,我们经常希望为模型找到最佳参数,使损失函数最小化。这一过程称为优化。当损失函数是凸函数时,我们可以使用基于梯度的方法高效地找到全局最小值。然而,当损失函数是非凸函数时,由于存在多个局部最小值,找到全局最小值变得更具挑战性。