逻辑回归算法梳理
一、逻辑回归与线性回归的联系与区别
1.逻辑回归是分类问题,线性回归是预测问题。
2.逻辑回归的输出范围在【0,1】之间,可以看做是一个概率值。而线性回归的输出则没有限制条件,具体输出要看解决的问题决定。
3.损失函数,线性回归使用的是均方误差作为损失函数,逻辑回归使用的是交叉熵作为损失函数。
二者之间的联系:逻辑回归就是在线性回归的基础上增加了一个sigmoid函数,把线性回归的预测值经过sigmoid函数映射成一个【0,1】之间的概率值。
二、逻辑回归的原理
逻辑回归就是在线性回归的基础上增加了一个sigmoid函数,把线性回归的预测值经过sigmoid函数映射成一个【0,1】之间的概率值,大于设定的阈值的为一类,否则为另一类。这就是逻辑回归的二分类的基本原理。
逻辑回归可以看做有两步:
第一步和线性回归模型的形式相同,前面已经推导过,既一个关于输入x的线性函数:
Z = X W T Z=XW^T Z=XWT
第二步通过一个逻辑函数,既sigmoid函数,将线性函数转换为非线性函数:
z = X W T z=XW^T z=XWT θ ( z ) = 1 1 + e − z \theta(z)=\frac{1}{1+e^{-z}} θ(z)=1+e−z1
三、逻辑回归损失函数推导及优化
损失函数:为了训练逻辑回归模型的参数w和b需要一个代价函数,算法的代价函数是对m个样本的损失函数求和然后除以m:
首先给出结论:
逻辑回归的损失函数: L ( y ^ , y ) = − y l o g ( y ^ ) − ( 1 − y ) l o g ( 1 − y ^ ) L(\hat y,y)=-ylog(\hat y)-(1-y)log(1-\hat y) L(y^,y)=−ylog(y^)−(1−y)log(1−y^)
逻辑回归的代价函数: J ( w , b ) = 1 m ∑ i = 1 m L ( y ^ ( i ) , y ( i ) ) = 1 m ∑ i = 1 m ( − y l o g ( y ^ ( i ) ) − ( 1 − y ( i ) l o g ( 1 − y ^ ( i ) ) ) J(w,b)=\frac{1}{m}\sum\limits_{i=1}^{m} L(\hat y ^{(i)},y^{(i)})=\frac{1}{m}\sum\limits_{i=1}^{m} (-ylog(\hat y ^{(i)})-(1-y^{(i)}log(1-\hat y ^{(i)})) J(w,b)=m1i<