Logistic Regression

1. Sigmoid Function

Sigmoid Function (也叫Logistic Function)的定义如下

它的函数图像如下
从上图可以看出,Sigmoid Function的函数值介于(0, 1),当z0时,g(z)0.5; 当z0时,g(z)  0.5; 当z = 0时,g(z) = 0.5。

2. Logistic Regression

在线性回归中,我们假设

这里的输出为()。如果我们利用Sigmoid Function对它做一个归一化处理,就得到Logistic Regression

假设我们有两个类别,分别用1和0表示,当   0.5时,我们输出0;当 0.5时输出1。这样,我们就使用Logistic Regression解决了一个只有两个类别的分类问题。
注意到   0.5对应的 ,  0.5对应的 其实就是两个类别的分界线,叫做Decision Boundary。

3. 训练模型

我们定义

它的函数图像如下

从上图可以看出,当 较小时,我们倾向于选择y=0, 因为这时cost会比较小;而当 较大时,我们倾向于选择y=1。这时,我们可以定义Logistic Regression的代价函数

和线性回归一样,我们仍然使用梯度下降法来求
starts with some ;
repeats until convergence {
(Simultaneously update )
}
的部分推导过程见下图手稿


4. Regularization

和线性回归一样,Logistic Regression也可能出现overfitting的现象,我们仍然使用Regularization来解决这个问题。新的代价函数为


5.  多类别分类

上面讲的是只有两个类别的情况,如果有多个类别,如何使用Logistic Regression进行分类呢?先看一个简单的例子:

假设有3个类别C1, C2, C3,我们先训练一个针对C1的分类器,此时将C1类的样例标记为y=1,而将C2, C3类的样例都标记为y=0,于是将一个多类别的分类问题转换为一个只有两个类别的分类问题。这样得到一个针对C1的分类器 ,如下面左所示图

同理,针对C2、C3各训练一个分类器 。这样,对于任意的输入 ,分别计算 ,从中选择最大的 ,i即为 的类别。
总结一下,当有多个(n)类别时,使用Logistic Regression进行分类的方法如下:
1. 针对每个类别训练一个分类器 ,计算y=i的几率(并不是概率的意思)
2. 对于新的输入 ,计算 ,计算 ,i即为 的类别。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值