首页 > 其他分享 >COMP9417 逻辑回归的数值实现

COMP9417 逻辑回归的数值实现

时间:2024-03-25 09:57:31浏览次数:31  
标签:逻辑 梯度 牛顿 课业 数值 问题 算法 COMP9417 提交

COMP9417-机器学习课业2:逻辑回归的数值实现
引言在家庭课业1中,我们考虑了梯度下降(和坐标下降),以最小化正则化损失函数。在这篇课业中,我们考虑一种称为牛顿算法的替代方法。我们将首先在一个简单的玩具问题上运行牛顿算法,然后在一个真实的数据分类问题上从头开始实现它。我们还研究了逻辑回归的对偶版本。
积分分配总共有30分。
•问题1 a):1分
•问题1 b):2分
•问题2 a):3分
•问题2 b):3分
•问题2 c):2分
•问题2 d):4分
•问题2 e):4分
•问题2 f):2分
•问题2 g):4分
•问题2 h):3分
•问题2 i):2分
要提交的内容
•单个PDF文件,其中包含每个问题的解决方案。对于每个问题,以文本和要求的图表的形式提供您的解决方案。对于一些问题,您将被要求提供用于生成答案的代码的屏幕截图——只有在明确要求时才包括这些。
•.py文件包含您用于项目的所有代码,应在单独的.zip文件中提供。此代码必须与报告中提供的代码相匹配。
•您可能会因未遵守这些说明而被扣分。
•你可能会因为表现不佳/格式不当而被扣分。请保持整洁,并明确你的解决方案。如有必要,在新的页面上开始每个问题。
•您不能提交Jupyter笔记本;这将得到一个零的标记。这并不能阻止你在笔记本上开发代码,然后将其复制到.py文件中,或者使用nbconvert或类似工具。
•我们将建立一个Moodle论坛,回答有关此课业的问题。在发布新问题之前,请阅读现有问题。在发布问题之前,请先在网上做一些基础研究。请仅发布澄清问题。任何被视为寻求答案的问题都将被忽略和/或删除。
•请查看Moodle公告以了解此规范的更新。您有责任查看有关规范的公告。
•请自己完成课业,不要在课程中与其他人讨论您的解决方案。对问题进行一般性讨论是可以的,但您必须写出自己的解决方案,并确认您是否在提交的材料中讨论了任何问题(包括他们的姓名和zID)。
•像往常一样,我们监控所有在线论坛,如Chegg、StackExchange等。在这些网站上发布家庭课业问题相当于抄袭,并将导致学术不端。何时何地提交
•预产期:第7周,2024年3月25日星期一下午5点。请注意,论坛将不会在周末受到积极监控。
•逾期提交将导致每天可达到的最高成绩的5%的罚款。例如,如果你取得了80/100的成绩,但你迟到了3天,那么你的最终成绩将是80−3×5=65。逾期超过5天的提交将被打0分。
•提交必须通过Moodle完成,无一例外。
第2页
问题1。牛顿方法导论
注意:在整个问题中,除非问题中明确要求,否则不要使用所讨论的任何算法的任何现有实现。使用现有的实现可能会导致整个问题的分数为零。在家庭课业1中,我们研究了梯度下降(GD),它通常被称为一阶方法。在这里,我们研究了一种称为牛顿算法的替代算法,它通常被称为二阶方法。粗略地说,二阶方法同时使用一阶导数和二阶导数。一般来说,二阶方法比一阶方法准确得多。给定一个二次可微函数g:R→ R、 牛顿方法根据以下更新规则迭代生成序列{x(k)}:
x(k+1)=x(k)−g′(x(k,)),k=0,1,2,。。。,(1) g′′(x(k))
例如,考虑函数g(x)=12 x2−sin(x),初始猜测x(0)=0。则g′(x)=x−cos(x),且g′′(x)=1+sin(x),
因此我们有以下迭代:
x(1)=x(0)−x(0
x(2)=x(1)−x(1
x(3)=0.739112890911362。
这种情况一直持续到我们终止算法(为了您自己的利益,作为一个快速练习,编写代码,绘制函数和每个迭代)。我们在这里注意到,在实践中,我们经常使用一种不同的更新,称为阻尼牛顿法,定义如下:
x(k+1)=x(k)-αg′(xk),k=0,1,2,。。。。(2) g′′(xk)
这里,与GD的情况一样,步长α具有“抑制”更新的效果。现在考虑两次可微函数f:Rn→ R.在这种情况下,牛顿步骤现在是:
x(k+1)=x(k)−(H(x(k,。。。,3.
其中H(x)=Ş2f(x)是f的Hessian。启发式地,该公式将方程(1)推广到具有向量输入的函数,因为梯度是一阶导数的模拟,而Hessian是二阶导数的类似。
(a) 考虑函数f:R2→ R由f(x,y)=100(y−x2)2+(1−x)2定义。
使用mplot3d创建函数的三维图(例如,请参见lab0)。x轴和y轴的范围均为[−5,5]。此外,计算f的梯度和Hessian。提交内容:单个绘图,用于生成绘图的代码,梯度和Hessian计算以及所有工作。将代码副本添加到解决方案.py
(b) 仅使用NumPy,使用x(0)=(−1.2,1)T的初始猜测,实现(无阻尼)牛顿算法,以找到上一部分中函数的最小值。当

标签:逻辑,梯度,牛顿,课业,数值,问题,算法,COMP9417,提交
From: https://www.cnblogs.com/rluanguae/p/18093726

相关文章

  • 第十篇:MySQL内置函数(字符串函数|数值函数|日期函数|流程函数)
    函数就是一段写好的、具有特定功能的代码,可以被另一段程序直接调用,只要拥有编程基础。想必对函数并不陌生本篇将系统性地记录MySQL中常用的内置函数,主要分为这四大类,字符串函数数值函数日期函数流程函数一,字符串函数(一)concat(S1,S2,...Sn)<-拼接作用描述将传入......
  • 建立一个知识框架是指按照一定的层次结构和逻辑关系组织知识,使得知识体系清晰、易于理
    建立一个知识框架是指按照一定的层次结构和逻辑关系组织知识,使得知识体系清晰、易于理解和应用。在建立知识框架时,可以遵循以下步骤:确定主题或领域:首先要确定你想要建立知识框架的主题或领域,确保范围清晰明确。列出主要概念:识别主题中的主要概念和关键术语,并将其列为框架的......
  • Day 15(操作符)赋值+单目+关系+逻辑+条件+逗号表达式+下标引用+函数调用
    1.赋值操作符:=   复合赋值符:+=         -=       *=       /=     &=      |=     ^=       %=    >>=    <<=eg: a=a+2→a+=2  a=a>>1→a>>=1连续赋值:a=b=c(从右向左运行)(不推荐此方法)2......
  • react我需要在表格数据变化后,下一次渲染结束后,执行表单校验逻辑
    在React中,要在表格数据变化后且下一次渲染完成后执行表单校验逻辑,可以考虑在useEffect钩子中处理这个问题。useEffect会在每次渲染完成后的DOM更新之后执行指定的回调函数。以下是一个简化的示例:importReact,{useState,useEffect}from'react';functionYourComponent({......
  • python 内置数据结构-数值型
    内置数值型数据结构int整数(int):在Python中,整数是没有小数部分的数字。整数可以是正数、负数或零。Python中的整数没有大小限制,取决于内存区域的大小,可以表示任意大小的整数。x=10y=-5z=0print(x,y,z)#输出:10-50float浮点数(float):浮点数是带有小数......
  • 一元二次方程ax2+bx+c=0,a、b、c的值由用户在三行中输入,根据用户输入的数值求解方程的
    输入格式输入三行数据每行输入一个实数输出格式方程的解示例1输入:852输出:该方程无实数解示例2输入:009输出:Dataerror!a=float(input())b=float(input())c=float(input())delta=b**2-4*a*c#德塔ifdelta<0:print("该方程无实数解")#ab==0elif......
  • 记一次逻辑越权实战挖掘(二)
    逻辑越权(二)前言根据上一个逻辑越权网站,我挖出了第二个逻辑越权漏洞,为给他人添加订单漏洞。如果想了解逻辑越权水平越权和垂直越权原理可以跳转我之前发布的文章观看。https://blog.csdn.net/weixin_63560942/article/details/136712823正文1.这里步入正题,我在上一个......
  • 8.Golang中的运算符-算术运算符、关系运算符、逻辑运算符、赋值运算符
    Golang中的运算符1、Golang内置的运算符算术运算符关系运算符逻辑运算符位运算符赋值运算符2、算数运算符运算符描述+相加-相减*相乘/相除%求余=被除数-(被除数/除数)*除数注意:++(自增)和--(自减)在Go语言中是单独的语句,并不是运算符。pa......
  • R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
    全文链接:https://tecdat.cn/?p=35426原文出处:拓端数据部落公众号本文利用R语言,通过逐步逻辑回归模型帮助客户分析两个实际案例:麻醉剂用量对手术病人移动的影响以及汽车购买行为预测。通过构建模型并解释结果,我们探究了各自变量对因变量的影响程度。同时,借助ROC曲线可视化分析,评......
  • 西门子PLC常用底层逻辑块分享_模拟量写入
    文章目录前言一、功能概述二、模拟量写入程序编写1.创建自定义数据类型2.创建FC块“模拟量写入”3.编写程序前言本文分享一个自己编写的模拟量写入逻辑块。一、功能概述常用于阀门开度或者电机转速设置。二、模拟量写入程序编写1.创建自定义数据类型2.创建F......