• 回答数

    4

  • 浏览数

    221

掉了BOWL
首页 > 学术期刊 > 梯度下降法做本科毕业论文

4个回答 默认排序
  • 默认排序
  • 按时间排序

晴天小珠717

已采纳

梯度下降是非常常用的优化算法。作为机器学习的基础知识,这是一个必须要掌握的算法。借助本文,让我们来一起详细了解一下这个算法。

前言

本文的代码可以到我的Github上获取:

本文的算法示例通过Python语言实现,在实现中使用到了numpy和matplotlib。如果你不熟悉这两个工具,请自行在网上搜索教程。

关于优化

大多数学习算法都涉及某种形式的优化。优化指的是改变x以最小化或者最大化某个函数的任务。

我们通常以最小化指代大多数最优化问题。最大化可经由最小化来实现。

我们把要最小化或最大化的函数成为目标函数(objective function)或准则(criterion)。

我们通常使用一个上标*表示最小化或最大化函数的x值,记做这样:

[x^* = arg; min; f(x)]

优化本身是一个非常大的话题。如果有兴趣,可以通过《数值优化》和《运筹学》的书籍进行学习。

模型与假设函数

所有的模型都是错误的,但其中有些是有用的。– George Edward Pelham Box

模型是我们对要分析的数据的一种假设,它是为解决某个具体问题从数据中学习到的,因此它是机器学习最核心的概念。

针对一个问题,通常有大量的模型可以选择。

本文不会深入讨论这方面的内容,关于各种模型请参阅机器学习的相关书籍。本文仅以最简单的线性模型为基础来讨论梯度下降算法。

这里我们先介绍一下在监督学习(supervised learning)中常见的三个符号:

80 评论

遇见你之前的我

e的x减一次方的导数是e^(x-1)。

具体解法如下:

e的x减一次方,即为e^(x-1)

e的x减一次方的导数,即为e^(x-1)的导数

e^(x-1)'=e^(x-1)*(1)=e^(x-1)

所以e的x减一次方的导数是e^(x-1)。

扩展资料

导数的求解注意点:

1、理解并牢记导数定义。导数定义中一定要出现这一点的函数值,如果已知告诉等于零,那极限表达式中就可以不出现,否就不能推出在这一点可导。

2、导数定义相关计算。这里有几种题型:1)已知某点处导数存在,计算极限,这需要掌握导数的广义化形式,还要注意是在这一点处导数存在的前提下,否则是不一定成立的。

3、导数、可微与连续的关系。函数在一点处可导与可微是等价的,可以推出在这一点处是连续的,反过来则是不成立的。

4、导数的计算。导数的计算可以说在每一年的考研数学中都会涉及到,而且形式不一,考查的方法也不同。

5、高阶导数计算。需要同学们记住几个常见的高阶导数公式,将其他函数都转化成我们这几种常见的函数,代入公式就可以了,也有通过求一阶导数,二阶,三阶的方法来找出他们之间关系的。

118 评论

柚柚滴溜溜

复合函数的求导法则:y=f(u)与u=g(x)复合而成函数y=f[g(x)],其导数是f'(u)×g'(x)。这里,f[g(x)]=e^(2x-1)分解为f(u)=e^u,u=2x-1,所以e^(2x-1)的导数是f'(u)×g'(x)=e^u×2=2e^(2x-1)。

193 评论

晓峰1124

是的,明年一月股票价格属于逻辑回归问题。逻辑回归这个模型很神奇,虽然它的本质也是回归,但是它是一个分类模型,并且它的名字当中又包含”回归“两个字,未免让人觉得莫名其妙。如果是初学者,觉得头晕是正常的,没关系,让我们一点点捋清楚。让我们先回到线性回归,我们都知道,线性回归当中 y = WX + b。我们通过W和b可以求出X对应的y,这里的y是一个连续值,是回归模型对吧。但如果我们希望这个模型来做分类呢,应该怎么办?很容易想到,我们可以人为地设置阈值对吧,比如我们规定y > 0最后的分类是1,y < 0最后的分类是0。从表面上来看,这当然是可以的,但实际上这样操作会有很多问题。最大的问题在于如果我们简单地设计一个阈值来做判断,那么会导致最后的y是一个分段函数,而分段函数不连续,使得我们没有办法对它求梯度,为了解决这个问题,我们得找到一个平滑的函数使得既可以用来做分类,又可以解决梯度的问题。很快,信息学家们找到了这样一个函数,它就是Sigmoid函数,它的表达式是:它的函数图像如下:可以看到,sigmoid函数在x=0处取值,在正无穷处极限是1,在负无穷处极限是0,并且函数连续,处处可导。sigmoid的函数值的取值范围是0-1,非常适合用来反映一个事物发生的概率。我们认为σ(x) 表示x发生的概率,那么x不发生的概率就是 1 - σ(x) 。我们把发生和不发生看成是两个类别,那么sigmoid函数就转化成了分类函数,如果 σ(x) > 表示类别1,否则表示类别0.到这里就很简单了,通过线性回归我们可以得到也就是说我们在线性回归模型的外面套了一层sigmoid函数,我们通过计算出不同的y,从而获得不同的概率,最后得到不同的分类结果。损失函数下面的推导全程高能,我相信你们看完会三连的(点赞、转发、关注)。让我们开始吧,我们先来确定一下符号,为了区分,我们把训练样本当中的真实分类命名为y,y的矩阵写成 Y 。同样,单条样本写成 x , x 的矩阵写成 X。单条预测的结果写成 y_hat,所有的预测结果写成Y_hat。对于单条样本来说,y有两个取值,可能是1,也可能是0,1和0代表两个不同的分类。我们希望 y = 1 的时候,y_hat 尽量大, y = 0 时, 1 - y_hat 尽量大,也就是 y_hat 尽量小,因为它取值在0-1之间。我们用一个式子来统一这两种情况:我们代入一下,y = 0 时前项为1,表达式就只剩下后项,同理,y = 1 时,后项为1,只剩下前项。所以这个式子就可以表示预测准确的概率,我们希望这个概率尽量大。显然,P(y|x) > 0,所以我们可以对它求对数,因为log函数是单调的。所以 P(y|x) 取最值时的取值,就是 log P(y|x) 取最值的取值。我们期望这个值最大,也就是期望它的相反数最小,我们令这样就得到了它的损失函数:如果知道交叉熵这个概念的同学,会发现这个损失函数的表达式其实就是交叉熵。交叉熵是用来衡量两个概率分布之间的”距离“,交叉熵越小说明两个概率分布越接近,所以经常被用来当做分类模型的损失函数。关于交叉熵的概念我们这里不多赘述,会在之后文章当中详细介绍。我们随手推导的损失函数刚好就是交叉熵,这并不是巧合,其实底层是有一套信息论的数学逻辑支撑的,我们不多做延伸,感兴趣的同学可以了解一下。硬核推导损失函数有了,接下来就是求梯度来实现梯度下降了。这个函数看起来非常复杂,要对它直接求偏导算梯度过于硬核(危),如果是许久不碰高数的同学直接肝不亚于硬抗苇名一心。为了简化难度,我们先来做一些准备工作。首先,我们先来看下σ 函数,它本身的形式很复杂,我们先把它的导数搞定。因为 y_hat = σ(θX) ,我们将它带入损失函数,可以得到,其中σ(θX)简写成σ(θ) :接着我们求 J(θ) 对 θ 的偏导,这里要代入上面对 σ(x) 求导的结论:代码实战梯度的公式都推出来了,离写代码实现还远吗?不过巧妇难为无米之炊,在我们撸模型之前,我们先试着造一批数据。我们选择生活中一个很简单的场景——考试。假设每个学生需要参加两门考试,两门考试的成绩相加得到最终成绩,我们有一批学生是否合格的数据。希望设计一个逻辑回归模型,帮助我们直接计算学生是否合格。为了防止sigmoid函数产生偏差,我们把每门课的成绩缩放到(0, 1)的区间内。两门课成绩相加超过140分就认为总体及格。这样得到的训练数据有两个特征,分别是学生两门课的成绩,还有一个偏移量1,用来记录常数的偏移量。接着,根据上文当中的公式,我们不难(真的不难)实现sigmoid以及梯度下降的函数。这段函数实现的是批量梯度下降,对Numpy熟悉的同学可以看得出来,这就是在直接套公式。最后,我们把数据集以及逻辑回归的分割线绘制出来。最后得到的结果如下:随机梯度下降版本可以发现,经过了1万次的迭代,我们得到的模型已经可以正确识别所有的样本了。我们刚刚实现的是全量梯度下降算法,我们还可以利用随机梯度下降来进行优化。优化也非常简单,我们计算梯度的时候不再是针对全量的数据,而是从数据集中选择一条进行梯度计算。基本上可以复用梯度下降的代码,只需要对样本选取的部分加入优化。我们设置迭代次数为2000,最后得到的分隔图像结果如下:当然上面的代码并不完美,只是一个简单的demo,还有很多改进和优化的空间。只是作为一个例子,让大家直观感受一下:其实自己亲手写模型并不难,公式的推导也很有意思。这也是为什么我会设置高数专题的原因。CS的很多知识也是想通的,在学习的过程当中灵感迸发旁征博引真的是非常有乐趣的事情,希望大家也都能找到自己的乐趣。今天的文章就是这些,如果觉得有所收获,请顺手点个关注或者转发吧,你们的举手之劳对我来说很重要。相关资源:【原创】R语言对二分连续变量进行逻辑回归数据分析报告论文(代码...文章知识点与官方知识档案匹配算法技能树首页概览33030 人正在系统学习中打开CSDN,阅读体验更佳VGG论文笔记及代码_麻花地的博客_vgg论文VGG论文笔记及代码 VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 牛津大学视觉组(VGG)官方网站: Abstract 在这项工作中,我们研究了在大规模图像识别环境中卷积网络深度对其......MNIST研究》论文和Python代码_通信与逆向那些事的博客_机器...1、逻辑回归算法 逻辑回归(Logistic Regression),与它的名字恰恰相反,它是一个分类器而非回归方法,在一些文献里它也被称为logit回归、最大熵分类器(MaxEnt)、对数线性分类器等。 使用中的LogisticRegression方法来训练...两个重要极限的推导两个重要极限 (1) lim⁡θ→0sin⁡θθ=1 (θ为弧度) \underset{\theta \rightarrow 0}{\lim}\frac{\sin \theta}{\theta}=1\ \ \text{(}\theta \text{为弧度)} θ→0lim​θsinθ​=1 (θ为弧度) (2) lim⁡x→∞(1+1x)x=e \underset{x\rightarrow \infty}{\lim}\left( 1+\frac{1}{x} \ri继续访问两个重要极限及其推导过程一、 证明:由上图可知, 即 二、 证明:首先证明此极限存在 构造数列 而对于n+1 ...继续访问...是多项式回归】Jeff Dean等论文发现逻辑回归和深度学习一样好_qq...其中,基线 aEWS(augmented Early Warning Score)是一个有 28 个因子的逻辑回归模型,在论文作者对预测患者死亡率的传统方法 EWS 进行的扩展。而 Full feature simple baseline 则是 Uri Shalit 说的标准化逻辑回归。 注意到基线模型(红...数学模型——Logistic回归模型(含Matlab代码)_苏三有春的博客...Logistic回归模型是一种非常常见的统计回归模型,在处理大量数据,揭示各自变量如何作用于因变量(描述X与Y之间的关系)时有着十分重要的作用。笔者在写Logit回归模型前参加了一次市场调研比赛,在这次比赛中学到了很多东西,同时发现,许多优秀获...《神经网络设计》第二章中传递函数import math #硬极限函数 def hardlim(data): if data < 0: a = 0 else: a = 1 print("fun:hardlim,result:%f"%a) #对称硬极限函数 def hardlims(data): if data < 0: a = -1 e继续访问两个重要极限定理推导两个重要极限定理: lim⁡x→0sin⁡xx=1(1) \lim_{x \rightarrow 0} \frac{\sin x}{x} = 1 \tag{1} x→0lim​xsinx​=1(1) 和 lim⁡x→∞(1+1x)x=e(2) \lim_{x \rightarrow \infty} (1 + \frac{1}{x})^x = e \tag{2} x→∞lim​(1+x1​)x=e(2) 引理(夹逼定理) 定义一: 如果数列 {Xn}\lbrace X_n \rbrace{Xn​},{Yn}继续访问【原创】R语言对二分连续变量进行逻辑回归数据分析报告论文(代码...【原创】R语言对二分连续变量进行逻辑回归数据分析报告论文(代码数据).docx资源推荐 资源评论 鲸鱼算法(WOA)优化变分模态分解(VMD)参数python 5星 · 资源好评率100% 程序 2.有数据集,可直接运行 matlab批量读取excel表格数据...机器学习--逻辑回归_科技论文精讲的博客机器学习-逻辑回归分析(Python) 02-24 回归和分类方法是机器学习中经常用到的方法区分回归问题和分类问题:回归问题:输入变量和输出变量均为连续变量的问题;分类问题:输出变量为有限个离散变量的问题。因此分类及回归分别为研究这两类问题...常见函数极限lim⁡x→0sin⁡x=1\lim_{x\to 0}\frac{\sin}{x}=1x→0lim​xsin​=1 lim⁡x→∞(1+1x)x=e\lim_{x\to \infty}(1+\frac{1}{x})^x=ex→∞lim​(1+x1​)x=e lim⁡α→0(1+α)1α=e\lim_{\alpha\to 0}(1+\alpha)^\frac{1}{\alpha}=eα→0lim​(...继续访问逻辑回归原理及代码实现公式自变量取值为任意实数,值域[0,1]解释将任意的输入映射到了[0,1]区间,我们在线性回归中可以得到一个预测值,再将该值映射到Sigmoid函数中这样就完成了由值到概率的转换,也就是分类任务预测函数其中,分类任务整合解释对于二分类任务(0,1),整合后y取0只保留,y取1只保留似然函数对数似然此时应用梯度上升求最大值,引入转换为梯度下降任务求导过程参数更新多分类的softmax。............继续访问python手写数字识别论文_Python利用逻辑回归模型解决MNIST手写数字识别问...本文实例讲述了Python利用逻辑回归模型解决MNIST手写数字识别问题。分享给大家供大家参考,具体如下: 1、MNIST手写识别问题 MNIST手写数字识别问题:输入黑白的手写阿拉伯数字,通过机器学习判断输入的是几。可以通过TensorFLow下载MNIST手写数据集,...逻辑回归问题整理_暮雨林钟的博客逻辑回归问题整理 之前只是简单的接触过逻辑回归,今天针对于最近看论文的疑惑做一个整理; 逻辑回归与极大似然的关系: 逻辑回归的提出主要是在线性问题下为分类问题而提出的; 简单来说,针对于一个二分类问题,我们需要将线性函数映射为一...机器学习算法-逻辑回归(一):基于逻辑回归的分类预测(代码附详细注释)1 逻辑回归的介绍和应用 逻辑回归的介绍 逻辑回归(Logistic regression,简称LR)虽然其中带有"回归"两个字,但逻辑回归其实是一个分类模型,并且广泛应用于各个领域之中。虽然现在深度学习相对于这些传统方法更为火热,但实则这些传统方法由于其独特的优势依然广泛应用于各个领域中。 而对于逻辑回归而且,最为突出的两点就是其模型简单和模型的可解释性强。 逻辑回归模型的优劣势: 优点:实现简单,易于理解和实现;计算代价不高,速度很快,存储资源低; 缺点:容易欠拟合,分类精度可能不高 继续访问逻辑回归:原理+代码(作者:陈玓玏) 逻辑回归算是传统机器学习中最简单的模型了,它的基础是线性回归,为了弄明白逻辑回归,我们先来看线性回归。 一、线性回归 假设共N个样本,每个样本有M个特征,这样就产生了一个N*M大小的样本矩阵。令矩阵为X,第i个样本为Xi,第i个样本的第j个特征为Xij。令样本的观测向量为Y,第i个样本的观测值为Yi,那么就会有以下公式: (X+[1]N*1)*W = Y 也就是说,...继续访问浅谈逻辑回归_jzhx107的博客LMSE回归的回归平面受左上角两个绿色样本的影响而向上倾斜。 支持向量机的分离平面只由两个支持向量决定。 另外我们看到,在本例中逻辑回归和支持向量机得到的分离平面很接近,但是支持向量机的推导和训练过程要比逻辑回归复杂很多。所以加州...论文研究-基于HBase的多分类逻辑回归算法研究.pdf_多分类逻辑回归...论文研究-基于HBase的多分类逻辑回归算法研究.pdf,为解决在大数据环境下,用于训练多分类逻辑回归模型的数据集可能会超过执行计算的客户端内存的问题,提出了块批量梯度下降算法,用于计算回归模型的系数。将训练数据集存入HBase后,通过设置表...【机器学习】 逻辑回归原理及代码大家好,我是机器侠~1 Linear Regression(线性回归)在了解逻辑回归之前,我们先简单介绍一下Linear Regression(线性回归)。线性回归是利用连续性的变量来预估实际数值(比如房价),通过找出自变量与因变量之间的线性关系,确定一条最佳直线,称之为回归线。并且,我们将这个回归关系表示为2 Logistic Regression(...继续访问最新发布 【大道至简】机器学习算法之逻辑回归(Logistic Regression)详解(附代码)---非常通俗易懂!逻辑回归详细推导,附github代码继续访问第二重要极限公式推导过程_机器学习——一文详解逻辑回归「附详细推导和代码」...在之前的文章当中,我们推导了线性回归的公式,线性回归本质是线性函数,模型的原理不难,核心是求解模型参数的过程。通过对线性回归的推导和学习,我们基本上了解了机器学习模型学习的过程,这是机器学习的精髓,要比单个模型的原理重要得多。新关注和有所遗忘的同学可以点击下方的链接回顾一下之前的线性回归和梯度下降的内容。讲透机器学习中的梯度下降机器学习基础——线性回归公式推导(附代码和演示图)回归与分类在机器学习...继续访问机器学习之逻辑回归,代码实现(附带sklearn代码,小白版)用小白的角度解释逻辑回归,并且附带代码实现继续访问热门推荐 两个重要极限及相关推导极限两个重要极限: ①limx→0sinxx=1\lim_{x \to 0}\frac{\sin x}{x} = 1 ②limx→∞(1+1x)x=e\lim_{x \to \infty}(1 + \frac{1}{x})^x = e 关于重要极限①的推导极限可以参考: 无穷小的等价代换 由重要极限②可以推导出: limx→∞(1+1x)x⇒limx→0(1+x)1x=e\lim_{x \t继续访问(一)机器学习——逻辑回归(附完整代码和数据集)什么是逻辑回归? 首先逻辑回归是一种分类算法。逻辑回归算法和预测类算法中的线性回归算法有一定的类似性。简单来讲,逻辑回归,就是通过回归的方法来进行分类,而不是进行预测,比如预测房价等。 逻辑回归解决的问题 先看下面的图,已知平面上分布的红点和蓝点,逻辑回归算法就是解决怎么根据一系列点,计算出一条直线(或者是平面)将平面上的点分成两类,一般的解决方法就是建立一个数学模型,然后通过迭代优化得到一个最优...继续访问机器学习:逻辑回归及其代码实现一、逻辑回归(logistic regression)介绍 逻辑回归,又称为对数几率回归,虽然它名字里面有回归二字,但是它并不像线性回归一样用来预测数值型数据,相反,它一般用来解决分类任务,特别是二分类任务。 本质上,它是一个percetron再加上一个sigmoid激活函数,如下所示: 然后逻辑回归采用的损失函数是交叉熵: ...继续访问逻辑回归,原理及代码实现Ⅰ.逻辑回归概述: 逻辑回归(LR,Logistic Regression)是传统机器学习中的一种分类模型,它属于一种在线学习算法,可以利用新的数据对各个特征的权重进行更新,而不需要重新利用历史数据训练。因此在实际开发中,一般针对该类任务首先都会构建一个基于LR的模型作为Baseline Model,实现快速上线,然后在此基础上结合后续业务与数据的演进,不断的优化改进。 由于LR算法具有简单、高效、易于并行且在线学习(动态扩展)的特点,在工业界具有非常广泛的应用。例如:评论信息正负情感分析(二分类)、用户点继续访问逻辑(logistic)回归算法原理及两种代码实现①简单介绍了逻辑回归的原理 ②介绍了两种代码实现方法继续访问由两个重要极限推导常见等价无穷小以及常见导数公式两个重要极限 第一个重要极限 lim⁡x→0xsinx=1 \lim_{x\rightarrow0}\frac{x}{sinx}=1x→0lim​sinxx​=1 第二个重要极限 lim⁡x→+∞(1+1x)x=e \lim_{x\rightarrow+\infty}(1+\frac{1}{x})^x=ex→+∞lim​(1+x1​)x=e 等价无穷小 1. ln(1+x)~x lim⁡x→0ln(1+x)x=lim⁡x→0ln(1+x)1x=ln(lim⁡x→+∞(1+1x)x)=lne=1 \lim_{继续访问机器学习——逻辑回归算法代码实现机器学习——逻辑回归算法代码实现前言一、逻辑回归是什么?二、代码实现1.数据说明2.逻辑回归代码 前言 最近准备开始学习机器学习,后续将对学习内容进行记录,该文主要针对逻辑回归代码实现进行记录!同时也准备建一个群,大家可以进行交流,微信:ffengjixuchui 一、逻辑回归是什么? 逻辑回归概念篇可看博主之前的文章,传送门 二、代码实现 1.数据说明 你想根据两次考试的结果来决定每个申请人的录取机会。你有以前的申请人的历史数据,你可以用它作为逻辑回归的训练集。

327 评论

相关问答

  • 毕业论文旋度梯度散度

    关系: 三者转换关系: 散度指流体运动时单位体积的改变率。简单地说,流体在运动中集中的区域为辐合,运动中发散的区域为辐散。 其计算也就是我们常说的“点乘”。 散

    巨匠智能家居 3人参与回答 2023-12-08
  • 毕业论文降重降不下去

    1.改变句型“被”字句变成“把”字句,“句子倒着读”用另一种方式表达。2.添加修辞手段根据你小学语文学过的写法,用排比、比喻、拟人的方法详细描述实验数据,如微小

    我的臭熊熊 9人参与回答 2023-12-12
  • 本科毕业论文降重软件

    论文查重制度安全性怎么样?在评价论文查重系统好坏时,既要考虑这个查重系统对不对,也要考虑这个查重系统是不是安全。大部分同学都是利用论文查重系统提前在网上进行初稿

    冰枫星雨 7人参与回答 2023-12-09
  • 电大法学本科毕业论文百度

    电大法学毕业论文的范文篇2 浅析“村官”犯罪的特点及预防对策 论文摘要“村官”是掌管一方权力的基层组织人员,是党和政府联系群众的桥梁。针对“村官”职

    zhang太太 3人参与回答 2023-12-08
  • 共轭梯度法及其应用毕业论文

    牛顿法需要函数的一阶、二阶导数信息,也就是说涉及到Hesse矩阵,包含矩阵求逆运算,虽然收敛速度快但是运算量大。拟牛顿法采用了一定的方法来构造与Hesse矩阵相

    大力非水手 3人参与回答 2023-12-11