Nip*_*oon 25 logarithm machine-learning logistic-regression
逻辑回归的成本函数是
cost(h(theta)X,Y) = -log(h(theta)X) or -log(1-h(theta)X)
Run Code Online (Sandbox Code Playgroud)
我的问题是将对数表达式用于成本函数的基础是什么.它来自何处?我相信你不能只是把"-log"放在一边.如果有人能解释成本函数的推导,我将不胜感激.谢谢.
Peq*_*que 49
资料来源:我在斯特拉福德的Coursera学习课程期间所做的笔记,由Andrew Ng撰写.所有归功于他和这个组织.该课程是免费提供给任何人按自己的节奏.图像由我自己使用LaTeX(公式)和R(图形)制作.
当想要预测的变量y只能采用离散值(即:分类)时,使用逻辑回归.
考虑二元分类问题(y只能取两个值),然后有一组参数θ和一组输入特征x,可以定义假设函数,使其在[0,1]之间有界,其中g()代表sigmoid函数:
该假设函数同时表示由θ参数化的输入x上y = 1的估计概率:
成本函数代表优化目标.
虽然成本函数的可能定义可以是假设h_θ(x)与训练集中所有m个样本中的实际值y之间的欧几里德距离的平均值,只要假设函数由sigmoid函数形成即可. ,这个定义会导致非凸成本函数,这意味着在达到全局最小值之前可以很容易地找到局部最小值.为了确保成本函数是凸的(并因此确保收敛到全局最小值),使用S形函数的对数来转换成本函数.
这样,优化目标函数可以定义为训练集中成本/错误的平均值:
ysd*_*sdx 14
该成本函数仅仅是最大 - (对数 - )似然准则的重新制定.
逻辑回归的模型是:
P(y=1 | x) = logistic(? x)
P(y=0 | x) = 1 - P(y=1 | x) = 1 - logistic(? x)
Run Code Online (Sandbox Code Playgroud)
可能性写为:
L = P(y_0, ..., y_n | x_0, ..., x_n) = \prod_i P(y_i | x_i)
Run Code Online (Sandbox Code Playgroud)
对数似然是:
l = log L = \sum_i log P(y_i | x_i)
Run Code Online (Sandbox Code Playgroud)
我们想要找到最大化可能性的θ:
max_? \prod_i P(y_i | x_i)
Run Code Online (Sandbox Code Playgroud)
这与最大化对数似然相同:
max_? \sum_i log P(y_i | x_i)
Run Code Online (Sandbox Code Playgroud)
我们可以将其重写为成本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
Run Code Online (Sandbox Code Playgroud)