机器学习笔记--分类问题与逻辑回归

注:本文为学习笔记,描述与截图多来自课件和百科,学习网站为:https://www.coursera.org/learn/machine-learning/supplement/fDCQp/classification

1.分类问题与模型


1)分类

分类是机器学习非常重要的一个组成部分,它的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。分类是监督学习的一个实例,根据已知训练集提供的样本,通过计算选择特征参数,创建判别函数以对样本进行的分类。

如预测一个人是否得了肿瘤癌,结果只有两种,得了和没得。要尝试分类,一种方法是使用线性回归,将大于0.5的所有预测映射为1,将小于0.5的所有预测映射为0。但是,此方法效果不佳,因为分类实际上不是线性函数。

 2)模型

线性函数的模型不适用于分类问题,在结果只有指定的两个离散值的情况下,比如0,1,线性函数预测的结果可能0与1之间,也可能远大于1或远小于0。因此我们需要修改我们的预测模型,0\leqslanth_{\theta}(x)\leqslant1符合我们的期望。

新的模型为S函数也称为逻辑函数:

函数的图形为S型,如下:

此处显示的函数g(z)将任何实数映射到(0,1)区间,适用于分类问题。

h_{\theta}(x) 的值表示输出结果为1的概率,例如h_{\theta}(x)=0.7表示有70%的概率结果为1。结果为0的概率与结果为1的概率相加应为1

3)决策边界

为了获得0或1分类,我们可以按如下方式转换假设函数的输出:

函数g的输入若大于等于0,则输出大于等于0.5:

当函数g的输入值为 \theta^{T}X, 函数表达式将如下:

也就意味着:

决策边界是分隔y = 0和y = 1区域的线,它是由我们的假设函数创建的,如:

在这个例子中,我们的决策边界是x_{1}=5,也就是图形结果的垂直线,当x_{1}小于5时,输出结果为1,当x_{1}大于5时,输出结果为0。

函数g(z)的输入不一定为线性函数,也可以是其他形状,如z=\theta_0+\theta_1x_1^2+\theta_2x_2^2

 

2.逻辑回归模型


  1)代价函数:

我们不能使用与线性回归相同的代价函数,因为逻辑函数将导致输出波动,从而导致许多局部最优。 话句话说,它不会是凸函数。

逻辑函数的代价函数为如下所示:

当y=1时J(\theta)h_\theta(x)的关系如下图:

当y=0时J(\theta)h_\theta(x)的关系如下图:

我们可以得到如下的关系:

如果我们的正确答案“ y”为0,则如果我们的假设函数也输出0,则成本函数将为0。如果我们的假设接近1,则成本函数将接近无穷大。

如果我们正确的答案y为1,那么如果我们的假设函数输出为1,则成本函数将为0。如果我们的假设接近0,则成本函数将接近无穷大。

2).简化的成本函数与梯度下降

我们可以将成本函数的两个条件情况压缩为一个情况:

当y=1时,第二项的(1-y)log(1-h_\theta(x))为0,不会影响结果。同理,当y=0时,第一项的-ylog(h_\theta(x))为0,也不会影响结果。

代价函数如下:

向量化的实现是:

梯度下降的一般形式为:

我们可以使用微积分计算出导数部分,从而得到:

注意,该算法与我们在线性回归中使用的算法相同。 我们必须同时更新\theta中的所有值。

向量化的实现是:

3).高级优化

“共轭梯度”,“ BFGS”和“ L-BFGS”是更复杂,更快速的优化θ的方法,可用于替代梯度下降。这些算法很多算法库都有提供,不用自己编写。

我们首先需要提供一个函数,该函数针对给定的输入值θ评估以下两个函数:

我们可以编写一个返回这两个函数的函数:

然后,我们可以使用算法库的“ fminunc()”优化算法以及“ optimset()”函数,该函数创建一个对象,其中包含要发送给“ fminunc()”的选项。

我们将成本函数,theta值的初始向量以及预先创建的“ options”对象赋予函数“ fminunc()”。

3.多类别分类:一对多


现实情况中,我们通常需要对多个类别进行分类, 代替y = {0,1},我们将扩展定义为y = {0,1 ... n}。由于y = {0,1 ... n},我们将问题分为n + 1个(+1,因为索引从0开始)二进制分类问题。 在每一个类别中,我们预测“ y”是我们类别之一的概率。

我们通常上是选择一个类型,然后将所有其他类型合并为一个第二类型。 我们反复进行此操作,对每种情况应用二元逻辑回归,然后使用返回最高值的假设作为我们的预测。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值