机器学习(三):逻辑回归之从理论到实践

本文深入探讨逻辑回归的基本理论,包括Sigmoid函数、分类概率表示、梯度上升算法,以及如何用Python3实现逻辑回归算法。通过实例展示了如何在数据集上应用逻辑回归,解释了学习曲线和决策边界的绘制。

文中的代码和数据集下载地址:
https://github.com/TimePickerWang/MachineLearningInAction

一、基本理论

  逻辑回归是一个二值型的分类器,它是利用Sigmoid函数来进行分类的,Sigmoid函数的表达式如下:

g(z)=11+ez g ( z ) = 1 1 + e − z

其函数图像如下图:
这里写图片描述
结合表达式可以知道:
z=0g(z)=0.5 当 z = 0 时 , g ( z ) = 0.5
z>0g(z)>0.5 当 z > 0 时 , g ( z ) > 0.5 ,且随着z的增大,g(z)会越来越接近1
z<0g(z)<0.5 当 z < 0 时 , g ( z ) < 0.5 ,且随着z的减小,g(z)会越来越接近0

利用这一特性,我们可以进行这样一种分类方式:
当输入 z>0.5 z > 0.5 时,把样本分为1类
当输入 z<0.5 z < 0.5 时,把样本分为0类

那么 z z 具体是什么呢?假设每一个样本有n个特征:{ x 1 , x 2 , x 3 . . . . . . x n },则:

z=w0x0+w1x1+w2x2+...+wnxn z = w 0 x 0 + w 1 x 1 + w 2 x 2 + . . . + w n x n

  
  其中, x0=1 x 0 = 1 是一个常数,表示一个偏差量。 w0,w1,w2,...wn w 0 , w 1 , w 2 , . . . w n 可以理解为每一个特征的权重,我们的目的就是寻求一组 w0,w1,w2,...wn w 0 , w 1 , w 2 , . . . w n ,使得分类正确的概率尽可能的大。

  那么问题来了,怎么表示分类正确的概率呢?假设有一个样本 i i ,其类标签是 y ( y = 0 1 ) ,则可以利用上面提到的“ g(z) g ( z ) ”表示样本 i i 为类1的概率,由于Sigmoid的值域为(0,1),所以可以令” 1 g ( z ) ”表示样本为类0的概率。则样本 i i 分类正确的概率可以表示如下:

p = g ( z ) y ( 1 g ( z ) ) 1 y

上式中,当 y=1 y = 1 时, p=g(z) p = g ( z ) ;当 y=0 y = 0 时, p=1g(z) p = 1 − g ( z ) 。所以无论样本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值