logit logloss

where is Log Loss function from?

why log odds is a linear function

When use logloss as the objective function in a learning task, it is logically considering the predicted value as the log of odds, because log loss function is derived from assuming log(odds) = predicted value and using maximum likelihood = p_i1 * p_i2 * p_i3 ... * p_j1 * p_j2 * p_j3 ... where y_ik = 1 and y_jk =0.

Therefore, a model trained with logloss will predicts the log of odds and one can get the probability by p= logodds/(1+logodss)

逻辑回归中的最大似然估计

线性回归 y = b0 + b1 x1 + b2 x2 + ... + bk xk

逻辑回归处理的是一个概率问题,概率只能从0到1,而线性回归可以返回无穷大的值,所以修改了一下

假设分类到1的胜率是odds,那么假设log(odds) = b0 + b1 x1 + b2 x2 + ... + bk xk ,至于为什么胜率的对数似线性的,这来自于基于贝叶斯的一些推导,在下一篇笔记里写。

胜率可以无穷大,然后转化回概率

因为odds = p/(1-p) 所以 p = odds/(1+odds)

简写b0 + b1 x1 + b2 x2 + ... + bn xn 为 BX, 那么odds = e^(BX)

p= odds/(1+odds) = 1/(1+e^(-BX))

训练集中有 n个数据,(y1, X1), (y2, X2), ...(yn, Xn) 其中X是个向量,因为有k个变量(如身高,年龄,成绩等)来描述X

现在的目的是要根据这n个训练数据,把b0, b1, b2, ... bk给估计出来

设似然估计得打分函数L = Pr(y1) * Pr(y2) * ... * Pr(yn), 其中pr是y的概率

目标是求使L达到最大值的b0, b1 ... bk

这就是最大似然估计

根据前面知道Pr(yk) =p = 1/(1+e^(-BXk))

所以L = 连乘 1/(1+e^(-BXk)) , k=1到n

两边取对数 Log L = 连加BXkyk  - 连加log(1+e^(BXk)), 两边取对数只是为了简化方程,好解一点, Log L最大时L也是最大

求大最大值的方法是对B求导数,当导数=0时LogL不再增大或减少,到达最大值

代入到d LogL / dB =0 得到一组方程,每个y, X的组合都是其中一个方程

但由于这个方程中有非线性的成分 e的指数, 方程没法解

一般都是用迭代法来求解,如Newton-Raphson算法

给出一个初始值,比如X=0

一步一步寻找各大的解,逼近一个近似的最大值

偶尔这个算法不收敛,所以无解:-(