当前位置: 首页 > news >正文

【机器学习】西瓜书学习心得及课后习题参考答案—第3章线性模型

过了一遍第三章,大致理解了内容,认识了线性回归模型,对数几率回归模型,线性判别分析方法,以及多分类学习,其中有很多数学推理过程以参考他人现有思想为主,没有亲手去推。

术语学习

线性模型 linear model
非线性模型 nonlinear model
可解释性 comprehensibility
可理解性 understandability
线性回归 linear regression
均方误差 square loss
欧氏距离 Euclidean distance
最小二乘法 least square method
参数估计 parameter estimation
闭式 closed-form
多元线性回归 multivariate linear regression
满秩矩阵 full-rank matrix
正定矩阵 positive definite matrix
正则化 regularization
对数线性回归 log-linear regression
广义线性模型 generalized linear model
联系函数 link function
单位阶跃函数 unit-step function
替代函数 surrogate function
对数几率函数 logistic function
几率 odds
对数几率 log odds
对数几率回归 logistic regression
极大似然法 maximum likelihood method
对数似然 log-likelihood
梯度下降法 gradient descent method
牛顿法 Newton method
线性判别分析 Linear Discriminant Analysis
类内散度矩阵 within-class scatter matrix
类间散度矩阵 between-class scatter matrix
广义瑞利商 generalized Rayleigh quotient
迹 trace
分类器 classifier
拆分策略一对一 OvO One vs. One
一对其余 OvR One vs. Rest
多对多 MvM Many vs. Many
纠错输出码 ECOC Error Correcting Output Codes
编码矩阵 coding matrix
类别不平衡 class-imbalance
再缩放 rescaling
再平衡 rebalance
欠采样 undersampling
下采样 downsampling
过采样 oversampling
上采样 upsampling
阈值移动 threshold-moving
代价敏感学习 cost-sensitive learning
稀疏表示 sparse representation
稀疏性 sparsity
多标记学习 multi-label learning

3.1 试析在什么情形下式 (3.2) 中不必考虑偏置项 b.

可以理解的解释:

  1. f ( x ) = w i x i f(x)=w_{i}x_{i} f(x)=wixi始终经过原点,b=0,可以不考虑
  2. 考虑输出 f ( x ) f(x) f(x) x x x的变化关系时,不考虑
  3. 当两个线性模型相减时,消除了b。可用训练集中每个样本都减去第一个样本,然后对新的样本做线性回归,不用考虑偏置项b。

3.2 试证明,对于参数 ω,对率回归的目标函数 (3.18)是非凸的,但其对数似然函数 (3.27)是凸的.

对实数集上的函数,可通过求二阶导数来判别:若二阶导数在区间上非负,则称为凸函数;若二阶导数在区间上恒大于 0,则称为严格凸函数。

对率回归的目标函数 (3.18)是非凸的证明
式 3.18 ,其一阶导 ∂ y ∂ w = x ( y − y 2 ) \frac{\partial{y}}{\partial{w}}=x(y-y^{2}) wy=x(yy2)
二阶导 ∂ 2 y ∂ w ∂ w T = x x T y ( 1 − y ) ( 1 − 2 y ) \frac{\partial^{2}{y}}{\partial{w}\partial{w^{T}}}=xx^{T}y(1-y)(1-2y) wwT2y=xxTy(1y)(12y)(即海森矩阵),
其中 x x T xx^{T} xxT 秩为1,非零特征值只有一个,其正负号取决于 y ( 1 − y ) ( 1 − 2 y ) y(1-y)(1-2y) y(1y)(12y) ,显然当 y y y在(0.5,1)之间变化时,特征值为负,于是3.18式关于 w w w 的海森矩阵非半正定,因此非凸。

对数似然函数 (3.27)是凸的证明参考南瓜书
在这里插入图片描述

3.3 编程实现对率回归,并给出西瓜数据集 3.0α 上的结果.

【机器学习】习题3.3Python编程实现对数几率回归

3.4 选择两个 UCI 数据集,比较 10 折交叉验证法和留 法所估计出的对率回归的错误率.

【机器学习】西瓜书习题3.4Python编程比较 10 折交叉验证法和留一法所估计出的对率回归的错误率

3.5 编辑实现线性判别分析,并给出西瓜数据集 3.0α 上的结果.

【机器学习】西瓜书习题3.5Python编程实现线性判别分析,并给出西瓜数据集 3.0α上的结果

3.6 线性判别分析仅在线性可分数据上能获得理想结果?试设计一个改进方法,使其能较好地周于非线性可分数据

人们发展出一系列基于核函数的学习方法,统称为"核方法" (kernel methods). 最常见的,是通过"核化" (即引入核函数)来将线性学习器拓展为非线性学习器.下面我们以线性判别分析为例来演示如何通过核化来对其进行非线性拓展 7 从而得副"核线性判别分析" (Kernelized Linear Discriminant Analysis,简称 KLDA).

3.7 令码长为 9,类别数为 4,试给出海明距离意义下理论最优的 ECOC二元码井证明之.

“海明距离”是指两个码对应位置不相同的个数。
参考链接论文提到的,“假设任意两个类别之间最小的海明距离为 d ,那么此纠错输出码最少能矫正 [ d − 1 2 ] \left[ \frac{d-1}{2} \right] [2d1] 位的错误。 可以用下图解释。
在这里插入图片描述

f0f1f2f3f4f5f6f7f8
c1111111110
c2000011111
c3001100111
c4010101011

参考链接1–解题
参考链接2–论文

3.8* ECOC 编码能起到理想纠错作用的重要条件是:在每一位编码上出错的概率相当且独立.试析多分类任务经 ECOC 编码后产生的二类分类器满足该条件的可能性及由此产生的影响.

西瓜书上标注的一句话

将多个类拆解为两个"类别子集”,不同拆解方式所形成的两个类别子集的区分难度往往不同,即其导致的二分类问题的难度不同;于是,一个理论纠错牲质很好、但导致的二分类问题较难的编码,与另一
个理论纠错性质差一些、但导致的二分类问题较简单的编码,最终产生的模型性能孰强孰弱很难说。

3.9 使用 OvR 和 MvM 将多分类任务分解为二分类任务求解时,试述为何无需专门针对类别不平衡性进行处理.

对 OvR 、 MvM 来说,由于对每个类进行了相同的处理,其拆解出的二分类任务中类别不平衡的影响会相互抵消,因此通常不需专门处理.

3.10* 试推导出多分类代价敏感学习(仅考虑基于类别的误分类代价)使用"再缩放"能获得理论最优解的条件.

参考链接1–解题

相关文章:

【机器学习】西瓜书学习心得及课后习题参考答案—第3章线性模型

过了一遍第三章,大致理解了内容,认识了线性回归模型,对数几率回归模型,线性判别分析方法,以及多分类学习,其中有很多数学推理过程以参考他人现有思想为主,没有亲手去推。 术语学习 线性模型 l…...

面试官问我:一个 TCP 连接可以发多少个 HTTP 请求?我竟然回答不上来...

一道经典的面试题是从 URL 在浏览器被被输入到页面展现的过程中发生了什么,大多数回答都是说请求响应之后 DOM 怎么被构建,被绘制出来。但是你有没有想过,收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式、什么顺序、建…...

树莓派Pico|RP2040|官方文档|在MS Windows上构建“Hello World”及环境配置

9.2. 在MS Windows上构建 在Microsoft Windows 10或Windows 11上安装工具链与其他平台有些不同。然而安装后,RP2040的构建代码基本类似。  警告 官方不支持在Windows 7或8上使用Raspberry Pi Pico,但在Windows 7或8上可以使其工作。 9.2.1. 安装工具…...

全球公链进展| 2023/7/31

一周速览 过去一周,明星项目动态如下: 第114次以太坊核心开发者共识会议:Devnet #8 最早下周推出 Layer2网络Shibarium跨链桥已上线公开测试 Optimism 推出「Law of Chains」v0.1 版本 Sui 通过 SIP#6 ,允许开发人员构建流动…...

Spring源码(三)Spring Bean生命周期

Bean的生命周期就是指:在Spring中,一个Bean是如何生成的,如何销毁的 Bean生命周期流程图 1、生成BeanDefinition Spring启动的时候会进行扫描,会先调用org.springframework.context.annotation.ClassPathScanningCandidateCompo…...

【iOS】Cydia Impactor 错误:file http.hpp; line:37; what: _assert(code == 200)

Cydia Impactor 报错,信息如下 file http.hpp; line:37; what: _assert(code 200)解决方案:Cydia Impactor 已被弃用,切换到sideloadly 即可,亲测成功,并且支持双重验证登录 csdn备份地址 HERE...

3ds MAX绘制茶壶

综合一下之前的内容画个茶壶 长方形,然后转化为可编辑多边形,添加节点并设置圆角,如下图 车削生成一个圆环,其实这一步也可以用一个圆柱体和两个圆角圆柱体解决 效果如下: 茶壶的底座绘制好了 接下来是茶壶的上半边 …...

【element-plus】 table表格每行圆角解决方案 element也通用

系列文章目录 【Vue3ViteTselement-plus】使用tsx实现左侧栏菜单无限层级封装 前言 我们在使用element-plus或element 的table时是否有时UI给到的UI效果是如下面这样的,但是我们翻遍了组件库的文档 调整了很多次样式 发现在 左右侧栏固定的时候 普通的方法是完全…...

【状态估计】基于UKF、AUKF的电力系统负荷存在突变时的三相状态估计研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

webstorm格式化代码后单引号转成了双引号

webStorm格式化js代码时单引号变成了双引号,问题如下: 格式化前: 格式化后: 解决办法: window: File -> Settings -> Editor -> Code Style -> Javascript; mac: webStorm -> Preference …...

在langchain中使用带简短知识内容的prompt template

简介 langchain中有个比较有意思的prompt template叫做FewShotPromptTemplate。 他是这句话的简写:“Prompt template that contains few shot examples.” 什么意思呢?就是说在Prompt template带了几个比较简单的例子。然后把这些例子发送给LLM&…...

java医院电子病历系统源码:云端SaaS服务 前后端分离模式开发和部署

电子病历系统是什么? 电子病历是指医务人员在医疗活动过程中,使用医疗机构信息系统生成的文字、符号、图表、图形、数据、影像等数字化信息,并能实现存储、管理、传输和重现的医疗记录,是病历的一种记录形式。 医院通过电子病历以电子化方式记录患者就诊的信息&…...

【Golang 接口自动化01】使用标准库net/http发送Get请求

目录 发送Get请求 响应信息 拓展 资料获取方法 发送Get请求 使用Golang发送get请求很容易,我们还是使用http://httpbin.org作为服务端来进行演示。 package mainimport ("bytes""fmt""log""net/http""net/url&qu…...

Excel透视表与python实现

目录 一、Excel透视表 1、源数据 2、数据总分析 3、数据top分析 二、python实现 1、第一张表演示 2、第二张表演示 一、Excel透视表 1、源数据 1)四个类目,每类50条数据 2)数据内容 2、数据总分析 1)选择要分析的字段&…...

二级制部署kubernetes(1.20)

😘作者简介:一名运维工作人员。 👊宣言:人生就是B(birth)和D(death)之间的C(choise),做好每一个选择。 🙏创作不易,动动小…...

云曦暑期学习第二周——文件上传漏洞

1.文件上传 1.1原理 一些web应用程序中允许上传图片、视频、头像和许多其他类型的文件到服务器中。 文件上传漏洞就是利用服务端代码对文件上传路径变量过滤不严格将可执行的文件上传到一个到服务器中 ,再通过URL去访问以执行恶意代码。 1.2为什么存在文件上传漏…...

软件测试右移的意义与关键点

测试右移是将测试延伸到研发阶段之后的阶段,一般在产品发布上线后进行的测试,包括在线测试,在线监控和日志分析,甚至包括α测试、β测。测试右移描述的是软件测试工作重心的转变,而不是某项具体的测试技术。 测试右移的含义 测试…...

VLAN原理(Virtual LAN 虚拟局域网)

VLAN(Virtual LAN 虚拟局域网) 1、广播/广播域 2、广播的危害:增加网络/终端负担,传播病毒, 3、如何控制广播?? ​ 控制广播隔离广播域 ​ 路由器物理隔离广播 ​ 路由器隔离广播缺点&…...

YOLOv8 如何进行目标追踪

检测模型 YOLOv8n 追踪效果 YOLOv8 检测-追踪 分割模型 YOLOv8n-seg 追踪效果 YOLOv8 分割-追踪 关键点模型 YOLOv8n-pose 追踪效果 YOLOv8 检测-追踪 原理解析 目标检测是指在图像或视频中定位并识别出一个或多个目标物体的位置和类别。 目标检测算法通常会输出目标的边界框…...

【暑期每日一练】 day10

目录 选择题 (1) 解析: (2) 解析: (3) 解析: (4) 解析: (5) 解析: 编程题 题一 …...

告别系统管理困境:WinUtil让Windows优化效率提升300%

告别系统管理困境:WinUtil让Windows优化效率提升300% 【免费下载链接】winutil Chris Titus Techs Windows Utility - Install Programs, Tweaks, Fixes, and Updates 项目地址: https://gitcode.com/GitHub_Trending/wi/winutil 作为Windows用户&#xff0c…...

TimeGAN实战:用对抗网络生成高保真时间序列数据

1. TimeGAN:当时间序列遇上生成对抗网络 第一次听说TimeGAN这个概念时,我正在处理一批金融交易数据。客户要求我们开发一个高频交易预测模型,但原始数据涉及商业机密,能拿到的样本量只有正常需求的1/10。当时试过传统的数据增强方…...

微信小游戏安全漏洞深度剖析:从反编译到协议篡改

1. 微信小游戏安全风险全景图 微信小游戏凭借即点即玩的特性迅速占领市场,但很多开发者对安全防护的重视程度远远不够。我见过太多团队把精力全放在玩法创新上,结果上线三天就被破解的案例。常见的安全威胁主要来自三个方向:客户端篡改、协议…...

AI辅助开发:借助快马平台AI模型打造智能openclaw卸载分析工具

最近在整理开发环境时,遇到了一个棘手的问题:如何彻底卸载openclaw这个工具链。作为一个深度集成的开发套件,它会在系统各处留下各种依赖和配置文件。传统的手动卸载方式不仅效率低下,还容易遗漏关键项。于是我开始尝试用AI来优化…...

S32K3项目中途想换调试器?手把手教你为已有工程添加Lauterbach调试接口

S32K3项目中途切换调试器:无缝迁移Lauterbach接口的工程实践 在嵌入式开发领域,调试工具的灵活切换往往意味着效率的飞跃。想象这样一个场景:你正在使用NXP S32K3系列MCU开发汽车电子控制单元,项目已进行到中期测试阶段&#xff0…...

深入解析SCB_AIRCR:STM32中断与复位控制的关键寄存器

1. SCB_AIRCR寄存器:STM32的中枢神经 第一次接触STM32的中断系统时,我对着密密麻麻的寄存器列表发懵,直到发现了SCB_AIRCR这个"控制中枢"。它就像城市交通指挥中心,决定着所有中断车辆的通行规则。这个位于0xE000ED00地…...

Synopsys AXI VIP实战:如何用reorder和delay配置模拟真实SoC总线行为

Synopsys AXI VIP实战:用reorder与delay构建高保真SoC总线模拟环境 在SoC验证领域,AXI总线协议的复杂性常常成为验证工程师面临的主要挑战。当CPU通过Cache访问低速外设时,总线上的竞争、延迟和乱序响应会形成难以预测的行为模式。Synopsys A…...

告别单调模型!FreeCAD‘逐面着色’保姆级教程:从颜色理论到3D打印预览

告别单调模型!FreeCAD‘逐面着色’保姆级教程:从颜色理论到3D打印预览 在3D设计领域,模型的美观度往往决定了第一印象。你是否遇到过这样的困境:精心建模的作品因为单调的色彩而失去表现力?FreeCAD的逐面着色功能正是打…...

终极指南:Lottie动画版本管理的5个专业技巧

终极指南:Lottie动画版本管理的5个专业技巧 【免费下载链接】lottie Lottie documentation for http://airbnb.io/lottie. 项目地址: https://gitcode.com/gh_mirrors/lo/lottie Lottie是Airbnb开发的开源动画库,它能让开发者轻松地在移动应用和网…...

Java EE开发技术 (报错解决 BeanCreationException)

该报错因为使用构造注入时没有提供参数列表或没有提供有参构造而造成的修改静态工厂中的参数列表即可...