从损失函数的角度详解常见机器学习算法(2)

作者:章华燕

小编:赵一帆

逻辑回归详解

分类是监督学习的一个核心问题,在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题。这时,输入变量X可以是离散的,也可以是连续的。监督学习从数据中学习一个分类模型或分类决策函数,称为分类器(classifier)。分类器对新的输入进行输出的预测(prediction),称为分类(classification)。

统计学习方法都是由模型,策略,和算法构成的,即统计学习方法由三要素构成,可以简单表示为:

方法 = 模型 + 策略 + 算法

对于logistic回归来说,模型自然就是logistic回归,策略最常用的方法是用一个损失函数(loss function)或代价函数(cost function)来度量预测错误程度,算法则是求解过程,后期会详细描述相关的优化算法。

01

逻辑回归简介

逻辑回归在某些书中也被称为对数几率回归,明明被叫做回归,却用在了分类问题上,我个人认为这是因为逻辑回归用了和回归类似的方法来解决了分类问题。

假设有一个二分类问题,输出为y∈{0,1},而线性回归模型产生的预测值为 z=w^T x+b 是实数值,我们希望有一个理想的阶跃函数来帮我们实现z值到0/1值的转化:

然而该函数不连续,我们希望有一个单调可微的函数来供我们使用,于是便找到了 Sigmoid 函数来替代:

他们的函数图像如下所示:

有了Sigmoid 函数之后,由于其取值范围为[0,1]。我们就可以将其视为类1的后验概率估计p(y=1|x)。说白了,就是如果有了一个测试点x,那么就可以用Sigmoid 函数算出来的结果来当做该点x属于类别1的概率大小。

于是,非常自然地,我们把Sigmoid函数计算得到的值大于等于0.5的归为类别1,小于0.5的归为类别0:

同时逻辑回归于自适应线性网络非常相似,两者的区别在于逻辑回归的激活函数时Sigmoid function而自适应线性网络的激活函数是y=x,两者的网络结构如下图所示:

自适应线性网络

逻辑回归网络

02

逻辑回归的损失函数

好了,所要用的几个函数我们都好了,接下来要做的就是根据给定的训练集,把参数w给求出来了。要找参数w,首先就是得把代价函数(cost function)给定义出来,也就是目标函数。

我们第一个想到的自然是模仿线性回归的做法,利用误差平方和来当代价函数。

其中,z^(i)=w^T x^(i)+b,i表示第i个样本点,y^(i) 表示第i个样本的真实值,ϕ(z^(i)) 表示第i个样本的预测值。

这时,如果我们将 ϕ(z^(i))=1 / ( 1+epx(−z^(i)) ) 代入的话,会发现这时一个非凸函数,这就意味着代价函数有着许多的局部最小值,这不利于我们的求解:

那么我们不妨来换一个思路解决这个问题。前面,我们提到了ϕ(z)可以视为类1的后验估计,所以我们有:

其中,p(y=1|x;w)表示给定w,那么x点y=1的概率大小。 于是上面两式可以写成一般形式:

注:以上的过程说明,最大似然估计与误差平方和等价!这就是为什么逻辑回归的损失函数可以用最大似然函数进行估计的原因。

接下来我们就要用极大似然估计来根据给定的训练集估计出参数w:

为了简化运算,我们对上面这个等式的两边都取一个对数:

我们现在要求的是使得l(w)最大的w。没错,我们的代价函数出现了,我们在l(w)前面加个负号不就变成就最小了吗?不就变成我们代价函数了吗?

为了更好地理解这个代价函数,我们不妨拿一个例子的来看看:

也就是说 :

下面是函数图:

从图中不难看出,如果样本的值是1的话,估计值ϕ(z)越接近1付出的代价就越小,反之越大;同理,如果样本的值是0的话,估计值ϕ(z)越接近0付出的代价就越小,反之越大。

03

梯度下降法求参

在开始梯度下降之前,要这里插一句,sigmoid function有一个很好的性质就是 :

先记住这个性质,后续会用到。

还有,我们要明确一点,梯度的负方向就是代价函数下降最快的方向。什么?为什么?好,我来说明一下。借助于泰特展开,我们有 :

其中,f′(x)和δ为向量,那么这两者的内积就等于

当θ=π时,也就是δ在f′(x)的负方向上时,取得最小值,也就是下降的最快的方向了~

okay?好,坐稳了,我们要开始下降了。

其中,wj表示第j个特征的权重;η为学习率,用来控制步长。

重点来了:

所以,在使用梯度下降法更新权重时,只要根据下式即可:

此式与线性回归时更新权重用的式子极为相似,也许这也是逻辑回归要在后面加上回归两个字的原因吧。 当然,在样本量极大的时候,每次更新权重会非常耗费时间,这时可以采用随机梯度下降法,这时每次迭代时需要将样本重新打乱,然后用下式不断更新权重:

也就是去掉了求和,而是针对每个样本点都进行更新。

原文发布于微信公众号 - 机器学习算法全栈工程师(Jeemy110)

原文发表时间:2017-12-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习、深度学习

二值人脸对齐--Binarized Convolutional Landmark Localizers for Human Pose Estimation and Face Alignment

Binarized Convolutional Landmark Localizers for Human Pose Estimation and Face A...

3015
来自专栏专知

【前沿】R-FCN每秒30帧实时检测3000类物体,马里兰大学Larry Davis组最新目标检测工作

【导读】美国马里兰大学、复旦大学和Gobasco人工智能实验室联合提出R-FCN-3000实时3000类目标检测框架,对R-FCN框架中的物体检测和分类进行解耦...

5346
来自专栏企鹅号快讯

新手必备!十大机器学习算法之旅已启程

【IT168 资讯】在机器学习中,有一种叫做“没有免费的午餐”的定理。简而言之,它指出没有任何一种算法能够适用每一个问题,而且它对于监督式学习(即预测性建模)尤...

2107
来自专栏机器之心

最全的DNN概述论文:详解前馈、卷积和循环神经网络技术

选自arXiv 机器之心编译 本论文技术性地介绍了三种最常见的神经网络:前馈神经网络、卷积神经网络和循环神经网络。且该文详细介绍了每一种网络的基本构建块,其包括...

4016
来自专栏机器之心

学界 | 神经网络碰上高斯过程,DeepMind连发两篇论文开启深度学习新方向

函数近似是机器学习众多问题的核心,而过去深度神经网络凭借其「万能近似」的属性在函数近似方面无与伦比。在高级层面,神经网络可以构成黑箱函数近似器,它会学习如何根据...

1632
来自专栏量子位

深度学习入门者必看:25个你一定要知道的概念

王瀚森 编译自 Analytics Vidhya 量子位 出品 | 公众号 QbitAI 人工智能,深度学习,机器学习……不管你在从事什么工作,都需要了解这些概...

4518
来自专栏PPV课数据科学社区

机器学习系列:(十)从感知器到人工神经网络

从感知器到人工神经网络 在第8章,感知器里,我们介绍了感知器,一种线性模型用来做二元分类。感知器不是一个通用函数近似器;它的决策边界必须是一个超平面。上一章里面...

3079
来自专栏SIGAI学习与实践平台

基于内容的图像检索技术综述-CNN方法

传统方法在图像检索技术上一直表现平平。比如传统方法常用的SIFT特征,它对一定程度内的缩放、平移、旋转、视角改变、亮度调整等畸变,都具有不变性,是当时最重要的图...

2525
来自专栏数据派THU

一文读懂生成对抗网络GANs

原文标题:AnIntuitive Introduction to Generative Adversarial Networks 作者:KeshavDhandh...

3383
来自专栏PPV课数据科学社区

【机器学习】你需要多少训练数据?

从谷歌的机器学习代码中得知,目前需要一万亿个训练样本。 训练数据的特性和数量是决定一个模型性能好坏的最主要因素。一旦你对一个模型输入比较全面的训练数据,通常针对...

3585

扫码关注云+社区

领取腾讯云代金券