吴恩达 机器学习课程笔记(五)逻辑回归


逻辑回归用来解决分类问题,例如判断邮件是否为垃圾邮件,某笔在线交易是否涉嫌欺诈;肿瘤为恶性还是良性等二分类问题及其他多分类问题。

为何不将线性回归应用于分类问题中

多数时候分类结果不理想

以判断肿瘤为恶性还是良性的分类问题为例,训练集样本如下图所示,用直线 h θ ( x ) = θ 0 + θ 1 x 1 h_\theta(x)=\theta_0+\theta_1x_1 hθ(x)=θ0+θ1x1对数据进行拟合,如下图品红色直线所示。我们做以下假设:当预测值大于等于0.5时,正类,恶性;当预测值小于0.5时,负类,良性。在当前情况下,似乎线性回归也取得了不错的分类效果。
在这里插入图片描述
现在,我们的训练集中新增了一个训练样本,我们仍然用直线进行拟合,如下图蓝色直线所示。沿用上述预测值大于等于0.5时,正类,恶性;当预测值小于0.5时,负类,良性的假设,此时两个负类样本被错分到正类,分类效果不理想。
在这里插入图片描述

预测值连续,实际值离散

在这里插入图片描述

逻辑回归假设函数

逻辑回归假设函数是在线性回归假设函数外套上一个sigmoid函数,sigmoid函数又被称为logistic函数,能将任意实数值映射到 ( 0 , 1 ) (0,1) (0,1)区间内。
在这里插入图片描述
假设函数输出值 h θ ( x ) h_\theta(x) hθ(x)的解释是:对于一个输入 x , y = 1 x,y=1 xy=1的概率估计为 h θ ( x ) h_\theta(x) hθ(x)
对肿瘤问题,可以解释为:对于一个特征为 x x x的患者,其患恶性肿瘤的概率为 h θ ( x ) h_\theta(x) hθ(x)

决策边界–正负类概率相同时

逻辑回归假设函数 h θ ( x ) = g ( θ T x ) h_\theta(x)=g(\theta^Tx) hθ(x)=g(θTx),其中 g ( z ) = 1 1 + e − z g(z)=\frac{1}{1+e^{-z}} g(z)=1+ez1。根据函数 g g g 的图像可知,当 θ T x > 0 \theta^Tx>0 θTx>0时, h θ ( x ) > 0.5 h_\theta(x)>0.5 hθ(x)>0.5,正类概率大于负类; θ T x < 0 \theta^Tx<0 θTx<0时, h θ ( x ) < 0.5 h_\theta(x)<0.5 hθ(x)<0.5,负类概率大于正类; θ T x = 0 \theta^Tx=0 θTx=0时, h θ ( x ) = 0.5 h_\theta(x)=0.5 hθ(x)=0.5,此时正类负类的概率相同。 θ T x = 0 \theta^Tx=0 θTx=0作为区分正类负类的边界,被称为决策边界。
决策边界是假设函数的属性,取决于假设函数及其参数,与数据集无关。

示例1–线性边界

在这里插入图片描述

示例2–非线性边界

在这里插入图片描述

示例3–更复杂的边界

通过在特征中增加复杂的多项式(包括但不限于引入二次方、三次方项等),可以得到更复杂的决策边界。 h θ ( x ) = g ( θ 0 + θ 1 x 1 + θ 2 x 2 + θ 3 x 1 2 + θ 4 x 1 2 x 2 + θ 5 x 1 2 x 2 2 + θ 6 x 1 3 x 2 + . . . ) h_\theta(x)=g(\theta_0+\theta_1x_1+\theta_2x_2+\theta_3x_1^2+\theta_4x_1^2x_2+\theta_5x_1^2x_2^2+\theta_6x_1^3x_2+...) hθ(x)=g(θ0+θ1x1+θ2x2+θ3x12+θ4x12x2+θ5x12x22+θ6x13x2+...)在这里插入图片描述

损失函数–关于 θ \theta θ的凸函数

问题描述

在这里插入图片描述

损失函数的选择

如果沿用线性回归损失函数(平方损失函数),由于逻辑回归假设函数非线性,损失函数将是关于参数 θ \theta θ的非凸函数,有许多局部极小值。
在这里插入图片描述
理想的损失函数应为关于 θ \theta θ的凸函数,方便我们使用梯度下降法找到全局最小值。
逻辑回归单个样本的损失函数如下:
在这里插入图片描述
y = 1 y=1 y=1时,若预测值 h θ ( x ) = 1 h_\theta(x)=1 hθ(x)=1,预测准确,损失为0;若预测值 h θ ( x ) = 0 h_\theta(x)=0 hθ(x)=0,预测错误,损失为正无穷。
在这里插入图片描述
y = 0 y=0 y=0时,若预测值 h θ ( x ) = 0 h_\theta(x)=0 hθ(x)=0,预测准确,损失为0;若预测值 h θ ( x ) = 1 h_\theta(x)=1 hθ(x)=1,预测错误,损失为正无穷。
在这里插入图片描述

简化损失函数及梯度下降

损失函数简化

逻辑回归损失函数如下图所示:
在这里插入图片描述
我们可以将目前分段的单个样本损失函数简化为一行: C o s t ( h θ ( x ) , y ) = − y l o g ( h θ ( x ) ) − ( 1 − y ) l o g ( 1 − h θ ( x ) ) Cost(h_\theta(x),y)=-ylog(h_\theta(x))-(1-y)log(1-h_\theta(x)) Cost(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x))因此,训练集上的损失函数 J ( θ ) J(\theta) J(θ)为:在这里插入图片描述
该函数来源于统计学中的最大似然估计,是关于 θ \theta θ的凸函数。

梯度下降法最小化 J ( θ ) J(\theta) J(θ)

在这里插入图片描述
其中:
在这里插入图片描述
因此, θ \theta θ的更新过程可写为:
在这里插入图片描述
注意,对sigmoid函数,有
在这里插入图片描述

高级优化

提升逻辑回归算法运行速度,使算法能适用于大型机器学习问题。
对于任意的参数 θ \theta θ,我们首先需要编写代码实现对训练集损失函数 J ( θ ) J(\theta) J(θ) J ( θ ) J(\theta) J(θ) θ j \theta_j θj求偏导的计算。
在这里插入图片描述
除梯度下降外,还可使用共轭梯度、BFGS、L-BFGS等更复杂的优化算法。这些高级算法原理涉及高级数值计算,在此不做说明,只强调三者的优缺点。
优点:(1)不需要指定学习率 α \alpha α,算法基于线搜索策略选择最合适的学习率,可以为每次迭代选择不同的学习率。(2)比梯度下降更快收敛。
缺点:过于复杂难以理解(会用就行)

多分类问题

应用举例:给邮件加标签,工作,朋友,家庭,爱好等;一个因鼻塞就诊的病人,可能没有生病,着凉,或者得了流感;天气可分为阴,晴,雨,雪。
多分类问题数据集的可视化:
在这里插入图片描述
多分类问题的策略–转化为多个二分类问题
在这里插入图片描述
总结:

  1. 依次选取一类作为正类,除选中类以外的其他类视为负类,训练分类器。
  2. 原数据集包含多少类,就训练多少个分类器。
  3. 对新输入的x,选取所有分类器中输出值最大的那一类作为分类结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值