【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
一、算法简介
逻辑回归算法(Logistics Regression),虽然叫回归算法,但是主要用于处理因变量为分类变量的回归问题。
常见的是二分类或二项分布问题,也可以处理多分类问题,它实际上是属于一种分类算法。
二、算法原理
2-1 逻辑回归的推导
2-1-1 Sigmoid 函数:(z值就是预测值)
由于逻辑回归主要用于处理两分类问题。我们需要先找到一个预测函数(h),显然,该函数的输出必须是两个值(分别代表两个类别)。所以利用了Logistic函数(或称为Sigmoid函数),函数形式为:
二分类问题的概率与自变量之间的关系图形往往是一个S型曲线,如图所示,采用的Sigmoid函数实现:
该函数可以将任意的输入映射至[0,1]区间。我们在线性回归中,可以得到一个预测值,再将该值映射到Sigmoid函数中,就完成了由值到概率的转变。也就是分类问题。
2-1-2 用最大似然法来推导出损失函数
下面我们以二元逻辑回归为例子,假设我们的样本输出是0或者1两类。则:
合并上式:
其中y=0或者1。这样就得到了y的概率分布函数表达式。接下来我们用似然函数最大化来求解我们需要的模型参数 。
为了方便求解,我们用对数似然函数最大化,对数似然函数取反即为我们的损失函数 。
对数似然函数表达式为:
对数似然函数表达式,即损失函数的表达式为:
对上式求导:
i代表样本,j代表样本的特征。
转换为梯度下降任务:
参数更新:
三、逻辑回归的优缺点
- 优点:
1. 直接对分类可能性进行建模,无需实现假设数据分布,这样就避免了假设分布不准确所带来的问题。
2. 形式简单,模型的可解释性非常好,特征的权重可以看到不同的特征对最后结果的影响。
3. 除了类别,还能得到近似概率预测,这对许多需利用概率辅助决策的任务很有用。
- 缺点:
1. 准确率不是很高,因为形式非常的简单,很难去拟合数据的真实分布。
2. 本身无法筛选特征。
来源:oschina
链接:https://my.oschina.net/u/3938912/blog/3144890