什么是逻辑回归?
逻辑回归是用来解决二分类问题的
以上这个公式是怎么实现分类的呢?
已知线性回归模型输入和输出都是负无穷到正无穷的任意数,而sigmoid函数如图
其输入为负无穷到正无穷,而输出为零到一的实数,且输入小于零时它的输出小于零点五,输入大于零时它的输出大于零点五。这样一来我们就可以把小于零点五的输出预测为零,大于零点五的输出预测为一,这样就将原来的线性回归变成了二分类模型。
以上就是逻辑回归函数,也就是把线性回归的输出作为sigmoid函数的输入
逻辑回归应用于判别式模型,也就是直接把新的样本的特征向量输入后输出为类别数值
Logistic regression 的三个步骤
1)function set
其实逻辑回归并不一定是 function,也可能是其他函数,但通常选择sigmoid。
我们在逻辑回归中选择的f都是线性回归函数,因此我们需要调整参数矩阵w和常数b。
2)goodness of the function
要评估function的好坏,就要先定义评估的函数
由于逻辑回归应用于二分分类问题,我们可以先拿部分样本作为训练集
此时的极大似然函数为对1~N的样本都判断正确的概率之积。这里的f是回归函数,则上式对应着x1,x2,,,xN都是第一类,x3..为第二类,因此用1-f才表示它判断正确的概率。(f是x3判断出属于第一类的概率)
而现在的目标是求使L(w,b)最大的w ∗ 与b ∗
最大化似然函数即是最小化交叉熵。(交叉熵代表两个分布有多接近,若两个分布完全一样则交叉熵等于0。)
3)find the best function'
判别式(discriminate)模型和生成式(generative)模型
上图展现了判别式和生成式的区别,对判别式来说我们需要优化的参数就是线性回归方程的w和b,而对生成式模型来说,我们需要通过训练的样本来找到μ和σ。不过,巧合的是,如果我们用同一个Σ的话,正如上面所说,最后可以化简为一个线性回归的模型,其中w和b的表达式如上。
那么问题来了,这样算出来的w和b,与判别式优化出来的w和b相同吗?
答案显然是大概率不同。因为生成式我们做了一个假设,那就是假设概率模型为高斯分布,然后估计出μ,而生成式是用极大似然来得到的最好的w和b。
两者相比较
由于生成式模型对概率分布模型做了假设,所以一般情况下其效果没有判别式好。
但判别式模型受数据量影响较大,需要训练足够多模型才能准确,因此当训练数据较少时,生成式模型有一个类型预判,可能分类效果反而较好。且当label有噪声时,生成式模型预判的模型可以将噪声过滤掉,影响较小。
多分类问题Multi-class classification
上面我们讲了二分类问题,下面来说说多分类问题(以三类为例)
Logistic Regression的限制
如图,当数据线性不可分时,我们需要考虑在回归建模之前对特征进行转化。
特征转变过程并不容易