李宏毅机器学习笔记(五)
逻辑回归(Logistc Regression)
-
Step1:模型
-
评价模型
训练集的标签共有两类,f表示x属于第一类的概率:
Likelihood如下:
使得L最大,即让-lnL最小,
将左边写成右边的形式,-lnL即为两个伯努利分布的交叉熵(cross entropy)。 -
找出最佳函数
-lnL(w,b)对w求偏导,以梯度下降的方式更新w:
这与损失函数为平方差之和时得到的结果一致,但是若选择逻辑回归和平方损失函数时就会产生问题:
当真实值为1,预测是为0,两者有差距,但梯度为0,不符合事实。下图显示两种的区别:
*
平方差损失函数可能在较远处梯度为0,虽然离真实值很远。
下图表示逻辑回归和线性回归的异同:
逻辑回归为判别模型,线性回归为生成模型,逻辑回归直接找出w和b而线性回归找出参数再算出w和b,同样的训练数据,同样的函数集。两者得到的不同的函数。(生成模型做了一些假设)
而判别模型的效果一般比生成模型好。
下面结合例子指出生成模型的弊端:
两个都是1的数据应该为class 1 的概率为1,朴素贝叶斯把两个值当作独立的,并认为class2也有肯能出现两个1,与直觉不符合。 -
两者的优劣对比:
对于多分类问题,通过softmax将z标准化为y,概率为0到1,和为0的数值。
softmax在应用到两类时,下降为logistic regression。
损失函数为其交叉熵:
然而,逻辑回归有局限,对于z的表达式为线性表达式,而输入输出出现下面类别是,就不能做到正确分类:
这就需要做特征转变,将同类的数据转变为一侧的,然而,特征转变需要domain knowledge,有时难以做到。
特征转变可以看做逻辑回归,分类也是逻辑回归模型,即级联:
只是,不同阶段的逻辑回归发挥了不同的作用。
一个逻辑回归也称为神经元。