一、广义线性回归
1、什么是广义线性回归
二、logistic回归
当我们的因变量使分类变量的时候,我们可以采取logistic回归,在分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误)。分类问题的例子有:判断一封电子邮件是否是垃圾邮件;判断一次金融交易是否是欺诈;区别一个肿瘤是恶性的还是良性的。
我们从二元的分类问题开始讨论。
我们将因变量(dependant variable)可能属于的两个类分别称为负向类(negative class)和 正向类(positive class),则因变量 y属于{0,1},其中 0 表示负向类,1 表示正向类。
我们的假设函数hθ(x)=θTXh_\theta(x)=\theta^TXhθ(x)=θTX是一个输出值位于(−∞,+∞)(-\infty,+\infty)(−∞,+∞)的值,但是我们希望将其转化为分类的值,这个就要转换为概率,如果输出的值概率等于1的概率大于0.5则是1,如果输出概率小于0.5则是0。
我们将这个值转换成为概率的函数叫做逻辑函数g,其中
g(z)=(1)1+e−z
g(z)={(1)\over 1+e^{-z}}
g(z)=1+e−z(1)
根据上面绘制出的 S 形函数图像,我们知道当
z=0 时 g(z)=0.5
z>0 时 g(z)>0.5
z<0 时 g(z)<0.5
又z=θTXz=θ^TXz=θTX,即:
θTXθ^TXθTX 大于等于 0 时,预测 y=1
θTXθ^TXθTX 小于 0 时,预测 y=0
g(z)求导为
所以g(z)‘=g(z)∗(1−g(z))g(z)`=g(z)*(1-g(z))g(z)‘=g(z)∗(1−g(z))
2、Logistic回归及似然函数
对于给定的数据集T={(x1,y1),(x2,y2),(x3,y3)…(xn,yn)},那么通过线性回归wTx+bw^{T}x+bwTx+b得到的值是位于负无穷到正无穷之间的,而我们需要计算概率,所以利用g(z)函数将其转化为(0,1)之间的数。下面计算y=1和y=0时的值
1、李航书上的推导:
设y为样本是正例时得到的概率,则g(y(1−y))=wTx+bg(\frac y {(1-y)})=w^Tx+bg((1−y)y)=wTx+b,所以logit回归也相当于广义线性回归。设p(y=1∣x)=exp(wTx+B)1+exp(wTx+B)p(y=1|x)=\frac {exp(w^Tx+B)}{1+exp(w^Tx+B)}p(y=1∣x)=1+exp(wTx+B)exp(wTx+B)
对上述式子中θ求导,结果和下面是一致的
2、利用梯度下降求得偏导
其中p(y|x;θ)为单个样本的概率,那么下面是求得所有样本的概率的似然函数,这时我们要求这个极大似然函数的最大值,则需要对这个对数似然函数求导
接着再使用梯度下降的方法,求得其最大值
2、代价函数与交叉熵代价函数
可以看出logistic的损失函数,是极大似然估计的值。同样我们对logistic模型的参数θ进行求解时也可以用梯度下降的方法。
3、θ的求解,同样这里我们可以采用梯度下降的方法去进行迭代,下降的方式便是我们上面求出来的求导公式。
当然这里也可以采用矩阵的方式去写:
下面是机器学习的代码分析:
极大似然估计和logistic的损失函数
logistic的系数解释。
log(p(Y=1∣X)1−P(Y=1∣X))=θx
log({p(Y=1|X)\over 1-P(Y=1|X)})=θx
log(1−P(Y=1∣X)p(Y=1∣X))=θx
所以logistic得线性函数其实求得是一个优势比的变化,这个优势比与eθie^{θ_i}eθi成正比。
二、多分类样本softmax回归
例如:对于一个新的样本,softmax回归模型对于每一类都先计算出一个分数,然后通过softmax函数得出一个概率值,根据最终的概率值来确定属于哪一类。
logistic判断的是类别1的概率是多少,但是softMax得出的是第k个类别的概率是多少。即y会得出很多概率值(一个概率向量)。
和logistic回归一样,我们需要对所属类别有一个较高的概率输出,而对于其他类别的概率输出则较低,同样,我们通过损失函数来进行求取权重参数。如下:
上式中i表示第i个样本,而k表示第k个类别,ykiy_k^{i}yki代表k个类别的表示(比如y=0,1,2,3,而pkip_{k}^{i}pki代表第i个样本的是k个类别的概率。
求解还是利用梯度下降,这里不用了解。