人工智能创新实验教程 课件 第7章 logistic回归算法_第1页
人工智能创新实验教程 课件 第7章 logistic回归算法_第2页
人工智能创新实验教程 课件 第7章 logistic回归算法_第3页
人工智能创新实验教程 课件 第7章 logistic回归算法_第4页
人工智能创新实验教程 课件 第7章 logistic回归算法_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

宁夏大学

第七章Logistic回归算法Logistic回归算法www.islide.cc2目录

CONTENT01引言02算法概述03实验数据04算法实战05本章小结01引言引言

在数据科学中,大约70%的问题属于分类问题,当数据科学家可能遇到一个新的分类问题时,他们想到的第一个算法就是Logistic回归。它是一种监督学习分类算法,用于预测离散类的观测值,是一种很常见的用来解决二元分类问题的回归方法,它主要是通过寻找最优参数来正确地分类原始数据实际上。它被用来将观测分为不同的类别。因此,其输出本质上是离散的。它是用于解决分类问题的最简单、直接和通用的分类算法之一。02算法概述算法概述1、基本概念

逻辑回归(LogisticRegression,简称LR),其实是一个很有误导性的概念,虽然它的名字中带有“回归”两个字,但是它最擅长处理的却是分类问题。LR分类器适用于各项广义上的分类任务,例如:评论信息的正负情感分析(二分类)、用户点击率(二分类)、用户违约信息预测(二分类)、垃圾邮件检测(二分类)、疾病预测(二分类)、用户等级分类(多分类)等场景。我们这里主要讨论的是二分类问题。算法概述

算法概述

1.2Sigmoid函数函数可以能接受所有的输入然后预测出类别。例如在二分类的情况下,函数能输出0或1。那拥有这类性质的函数称为海维赛德阶跃函数(Heavisidestepfunction),又称之为单位阶跃函数(如下图所示)​

单位阶跃函数的问题在于:在0点位置该函数从0瞬间跳跃到1,这个瞬间跳跃过程很难处理(不好求导)。幸运的是,Sigmoid函数也有类似的性质,且数学上更容易处理。算法概述

Sigmoid函数公式:​下图给出了Sigmoid函数在不同坐标尺度下的两条曲线。当x为0时,Sigmoid函数值为0.5。随着x的增大,对应的函数值将逼近于1;而随着x的减小,函数值逼近于0。所以Sigmoid函数值域为(0,1),注意这是开区间,它仅无限接近0和1。如果横坐标刻度足够大,Sigmoid函数看起来就很像一个阶跃函数了。

算法概述1.3逻辑回归在统计学中,逻辑回归模型是一种广泛使用的统计模型,主要用于分类目的。这意味着,给定一组观测值,逻辑回归算法可以将这些观测值分为两个或多个离散类。因此,目标变量本质上是离散的。逻辑回归算法的工作原理是实现一个具有独立或解释变量的线性方程来预测响应值。例如,考虑学习的小时数和通过考试的概率。这里,研究的小时数是解释变量,用x1表示。通过考试的概率是响应或目标变量,用z表示。如果有一个解释变量(x1)和一个响应变量(z),那么线性方程将通过以下方程在数学上给出z=β0+β1x1。这里,系数β0和β1是模型的参数。如果存在多个解释变量,则上述方程可以扩展到z=β0+β1x1+β2x2+…+βnxn。这里,系数β0、β1、β2和βn是模型的参数。因此,预测响应值由上述方程给出,并用z表示。通过将线性模型和Sigmoid函数结合,可以得到逻辑回归的公式:这样y就是(0,1)的取值。算法概述对式子进行变换,可得:二项Logistic回归:多项Logistic回归:算法概述1.4决策边界sigmoid函数返回一个介于0和1之间的概率值。然后将该概率值映射到“0”或“1”的离散类。为了将该概率值映射到离散类(通过/失败、是/否、正确/错误),我们选择一个阈值。该阈值称为决策边界。高于此阈值时,我们将概率值映射到类1中,低于该阈值时,我们将概率值映射到类0中。从数学上讲,它可以表示为:​ P≥0.5=>class=1​ p<0.5=>class=0通常,决策边界设置为0.5。因此,如果概率值为0.8(>0.5),我们将把这个观察映射到类1。类似地,如果概率值为0.2(<0.5),将把这个观察映射到类0。下图显示了这一点。

算法概述

算法概述2.1梯度下降的直观解释首先来看看梯度下降的一个直观的解释。比如在一座大山上的某处位置,由于不知道怎么下山,于是决定走一步算一步,也就是在每走到一个位置的时候,求解当前位置的梯度,沿着梯度的负方向,也就是当前最陡峭的位置向下走一步,然后继续求解当前位置梯度,向这一步所在位置沿着最陡峭最易下山的位置走一步。这样一步步的走下去,一直走到觉得我们已经到了山脚。当然这样走下去,有可能不能走到山脚,而是到了某一个局部的山峰低处。​从上面的解释可以看出,梯度下降不一定能够找到全局的最优解,有可能是一个局部最优解。当然,如果损失函数是凸函数,梯度下降法得到的解就一定是全局最优解。算法概述2.2梯度下降方法(1)批量梯度下降法批量梯度下降法(BatchGradientDescent,BGD)是梯度下降法最常用的形式,具体做法也就是在更新参数时使用所有的样本来进行更新。​由于我们有m个样本,这里求梯度的时候就用了所有样本的梯度数据。

算法概述(2)随机梯度下降法(SGD)随机梯度下降法,其实和批量梯度下降法原理类似,区别在与求梯度时没有用所有的m个样本的数据,而是仅仅选取一个样本j来求梯度。对应的更新公式是:

随机梯度下降法和批量梯度下降法是两个极端,一个采用所有数据来梯度下降,一个用一个样本来梯度下降。自然各自的优缺点都非常突出。对于训练速度来说,随机梯度下降法由于每次仅仅采用一个样本来迭代,训练速度很快,而批量梯度下降法在样本量很大的时候,训练速度不能让人满意。对于准确度来说,随机梯度下降法用于仅仅用一个样本决定梯度方向,导致解很有可能不是最优。对于收敛速度来说,由于随机梯度下降法一次迭代一个样本,导致迭代方向变化很大,不能很快的收敛到局部最优解。但值得一提的是,随机梯度下降法在处理非凸函数优化的过程当中有非常好的表现,由于其下降方向具有一定随机性,因此能很好的绕开局部最优解,从而逼近全局最优解。​那么,有没有一个中庸的办法能够结合两种方法的优点呢?有!这就是下面的小批量梯度下降法。

算法概述3)小批量梯度下降法(MBGD)小批量梯度下降法是批量梯度下降法和随机梯度下降法的折衷,也就是对于m个样本,我们采用x个子样本来迭代,1<x<m。一般可以取x=10,当然根据样本的数据,可以调整这个x的值。对应的更新公式是:

对比:BGD会获得全局最优解,缺点是在更新每个参数的时候需要遍历所有的数据,计算量会很大,并且会有很多的冗余计算,导致的结果是当数据量大的时候,每个参数的更新都会很慢。SGD以高方差频繁更新,优点是使得SGD会跳到新的和潜在更好的局部最优解,缺点是使得收敛到局部最优解的过程更加的复杂。MBGD降结合了BGD和SGD的优点,每次更新的时候使用n个样本。减少了参数更新的次数,可以达到更加稳定收敛结果,一般在深度学习当中可以采用这种方法,将数据一个batch一个batch的送进去训练。算法概述2.3梯度下降的算法调优​1、算法的步长选择。步长的选择实际上取值取决于数据样本,可以多取一些值,从大到小,分别运行算法,看看迭代效果,如果损失函数在变小,说明取值有效,否则要增大步长。前面说了。步长太大,会导致迭代过快,甚至有可能错过最优解。步长太小,迭代速度太慢,很长时间算法都不能结束。所以算法的步长需要多次运行后才能得到一个较为优的值。2、算法参数的初始值选择。初始值不同,获得的最小值也有可能不同,因此梯度下降求得的只是局部最小值;当然如果损失函数是凸函数则一定是最优解。由于有局部最优解的风险,需要多次用不同初始值运行算法,关键损失函数的最小值,选择损失函数最小化的初值。​3、标准化。由于样本不同特征的取值范围不一样,可能导致迭代很慢,为了减少特征取值的影响,可以对特征数据标准化,也就是对于每个特征x,求出它的期望和标准差std(x),然后转化为:这样特征的新期望为0,新方差为1,收敛速度可以大大加快。03实验数据准备数据数据集介绍DiabetesData也称糖尿病数据集是一类多重变量分析的数据集。通过对442例糖尿病患者的年龄、性别、体重指数、平均血压以及兴趣反应等10个属性进行分析,预测基线一年后疾病进展的定量测量值。本章将从糖尿病数据集中选取部分作为实验数据,并存放于diabetes.csv文本文件中。8个属性变量和标记值具体介绍如右图:处理数据集

导入数据集,并将数据集进行划分为训练集和测试集,具体操作如下所示:按照一定比例地要求,将原始数据集分为训练集和测试集两部分。为保证数据地随机分配,采用打乱索引的方式打乱数据顺序。04案例实战算法构建1.1使用BGD求解逻辑回归

批量梯度下降法的伪代码:算法构建1.2使用SGD求解逻辑回归

批量梯度下降法的伪代码:定义分类函数

得到训练集和测试集之后,我们可以利用前面的BGD_LR或者SGD_LR得到训练集的weights。定义一个分类函数,根据sigmoid函数返回的值来确定y是0还是1。预测测试集并计算准确率

接下来,构建针对于糖尿病数据集的分类器,上面我们已经将原始数据集切分了训练集和测试集,所以我们的函数的输入参数就可以是train、test、alpha和maxCycles。结果分析准确度分数:调用get_acc()函数后,判断是否患糖尿病的预测准确率达到0.79。预测结果下图即为测试集的预测情况:对比outcome和predict两列属性值情况,两者一致则为预测正确,否则即为错误。05本章小结本章小结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论