逻辑回归的成本函数是
cost(h(theta)X,Y) = -log(h(theta)X) or -log(1-h(theta)X)
我的问题是将对数表达式用于成本函数的基础是什么。它来自何处?我相信你不能只是把“-log”放在一边。如果有人能解释成本函数的推导,我将不胜感激。谢谢。
资料来源:我自己在Standford's Machine Learning course in Coursera期间拍摄的笔记,由Andrew Ng拍摄。所有归功于他和这个组织。该课程是免费提供给任何人按自己的节奏。图像由我自己使用LaTeX(公式)和R(图形)制作。
当想要预测的变量y只能采用离散值(即:分类)时,使用逻辑回归。
考虑二元分类问题(y只能取两个值),然后有一组参数θ和一组输入特征x,可以定义假设函数,使其在[0,1]之间有界,其中g()代表sigmoid函数:
该假设函数同时表示由θ参数化的输入x上y = 1的估计概率:
成本函数代表优化目标。
虽然成本函数的可能定义可以是假设h_θ(x)与训练集中所有m个样本中的实际值y之间的欧几里德距离的平均值,只要假设函数由sigmoid函数形成即可。 ,这个定义会导致非凸成本函数,这意味着在达到全局最小值之前可以很容易地找到局部最小值。为了确保成本函数是凸的(并因此确保收敛到全局最小值),使用S形函数的对数来转换成本函数。
这样,优化目标函数可以定义为训练集中成本/错误的平均值:
该成本函数仅仅是最大 - (对数 - )似然准则的重新制定。
逻辑回归的模型是:
P(y=1 | x) = logistic(θ x)
P(y=0 | x) = 1 - P(y=1 | x) = 1 - logistic(θ x)
可能性写为:
L = P(y_0, ..., y_n | x_0, ..., x_n) = \prod_i P(y_i | x_i)
对数似然是:
l = log L = \sum_i log P(y_i | x_i)
我们想要找到最大化可能性的θ:
max_θ \prod_i P(y_i | x_i)
这与最大化对数似然相同:
max_θ \sum_i log P(y_i | x_i)
我们可以将其重写为成本C = -l的最小化:
min_θ \sum_i - log P(y_i | x_i)
P(y_i | x_i) = logistic(θ x_i) when y_i = 1
P(y_i | x_i) = 1 - logistic(θ x_i) when y_i = 0
我的理解(这里不是100%的专家,我可能是错的)是log
可以粗略地解释为没有做exp
出现在gaussian概率密度的公式中。 (记住-log(x) = log(1/x)
。)
如果我正确理解Bishop [1]:当我们假设我们的正负训练样本来自两个不同的高斯聚类(不同的位置但相同的协方差)时,我们就可以开发出一个完美的分类器。并且该分类器看起来就像逻辑回归(例如线性决策边界)。
当然,接下来的问题是,当我们的训练数据经常看起来不同时,为什么我们应该使用最适合分离高斯群集的分类器?
[1]模式识别和机器学习,Christopher M. Bishop,第4.2章(概率生成模型)
事情是成本函数(sigmoid函数)将返回[0,1]之间的输出,但是当我们在大数据点上加上sigmoid值时,我们可能遇到数值稳定性问题,因为sigmoid函数的结果可能非常小十进制数。在sigmoid函数上使用log()函数也会处理出现的数值计算问题,而不会实际影响优化的目标。