机器学习第三回——逻辑回归 (Logistic Regression)

分类问题

属于监督学习的一种,要预测的变量 𝑦 是离散的值,使用逻辑回归 (Logistic Regression)算法来解决此类问题。

模型假设

逻辑回归模型的假设是: ℎ𝜃(𝑥) = 𝑔(𝜃𝑇𝑋) 其中: 𝑋 代表特征向量, 𝑔 代表逻辑函数(logistic function是一个常用的逻辑函数为 S 形函数(Sigmoid function)),公式为: 𝑔(𝑧) = 1/( 1+𝑒^−𝑧)。即z=(𝜃𝑇𝑋)
python 代码实现:
import numpy as np
def sigmoid(z):
return 1 / (1 + np.exp(-z))

右侧为h(θ)函数图像
ℎ𝜃(𝑥)的作用是,对于给定的输入变量,根据选择的参数计算输出变量=1 的可能性(estimated probablity)
即ℎ𝜃(𝑥) = 𝑃(𝑦 =1|𝑥; 𝜃)

例如,如果对于给定的𝑥,通过已经确定的参数计算得出ℎ𝜃(𝑥) = 0.7,则表示有 70%的几率𝑦为正向类(默认y=1为正向类),相应地𝑦为负向类的几率为 1-0.7=0.3。

判定边界

在这里插入图片描述
根据图像可知:𝑧 = 0 时 𝑔(𝑧) = 0.5
𝑧 > 0 时 𝑔(𝑧) > 0.5
𝑧 < 0 时 𝑔(𝑧) < 0.5
且 𝑧 = 𝜃𝑇𝑥
在逻辑回归中,我们预测:ℎ𝜃(𝑥) >= 0.5时,预测 𝑦 = 1。
当ℎ𝜃(𝑥) < 0.5时,预测 𝑦 = 0 。
综上:𝜃𝑇𝑥 >= 0 时,预测 𝑦 = 1
𝜃𝑇𝑥 < 0 时,预测 𝑦 = 0

当求出合适的参数θ后,将参数代入hθ。根据以上两个不等式可以确定一条分界线,将预测为 1 的区域和预测为 0 的区域分隔开(类似于线性规划的知识)。这条分界线即为判定边界。
例1:
在这里插入图片描述
求出θ0=-3,θ1=1,θ2=1 并带入 hθ 可得 𝜃𝑇𝑥 =-3+x1+x2。结合不等式则有 :-3+x1+x2>=0 ,预测y=1;-3+x1+x2<0,预测y=0
从而将预测为 1 的区域和预测为 0 的区域分隔开。其中x1+x2=3即为判定边界
例2:
在这里插入图片描述
求出θ0=-1,θ1=0,θ2=0,θ3=1,θ4=1,代入hθ可得 𝜃𝑇𝑥 =-1+x1^2+x2 ^2 。
结合不等式则有:-1+x1^2+x2 ^2>=0,预测y=1
-1+x1^2+x2 ^2<0, 预测y=0
其中 x1^2+x2 ^2=1即为判定边界

逻辑回归算法

1.代价函数

将ℎ𝜃(𝑥) = 1 /(1+𝑒−𝜃𝑇𝑋)带入到线性回归模型的代价函数()中后,我们得到的代价函数将是一个非凸函数(non-convexfunction)。这意味着我们的代价函数有许多局部最小值,这将影响梯度下降算法寻找全局最小值。
在这里插入图片描述
所以,重新定义逻辑回归的代价函数:
在这里插入图片描述
简化代价函数得:
在这里插入图片描述
Python 代码实现:
import numpy as np
def cost(theta, X, y):
theta = np.matrix(theta)
X = np.matrix(X)
y = np.matrix(y)
first = np.multiply(-y, np.log(sigmoid(X
theta.T)))
second = np.multiply((1 - y), np.log(1 - sigmoid(X
theta.T)))
return np.sum(first - second) / (len(X))**

2.使用梯度下降法最小化代价函数

在这里插入图片描述
在这里插入图片描述
如果你有 𝑛 个特征,也就是说参数向量𝜃包括𝜃0 ,𝜃1, 𝜃2 一直到𝜃𝑛,那么就需要用上面这个式子来同时更新所有𝜃的值。

逻辑回归算法于线性回归算法比较

相同点 :1.都可以使用绘制迭代次数图或自动检测得方法来监控梯度下降法,以保证其收敛
2.都可以使用特征缩放来提高梯度下降的收敛速度
不同点:1.二者假设函数不同,进而导致梯度下降算法不同
2.使用梯度下降法来实现逻辑回归时,还可以使用 for 循环来更新这些参数值,或者使用向量化的实现,可以把所 有这些 n 个参数同时更新。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值