第三章 线性模型

news2025/7/8 22:38:02

3.1 基本形式

给定由d个属性描述的示例x=(x1; x2; x3; … ; xd)。线性模型试图学得一个通过属性的线性组合来进行预测的函数,即
在这里插入图片描述

3.2 线性回归

线性回归试图学得一个线性模型尽可能准确地预测实值输出标记。
对于如何确定w和b,均方误差是回归任务中最常用的性能度量,因此我们可以试图让均方误差最小化。
均方误差它对应了常用的欧几里得距离或简称欧氏距离。基于均方误差最小化来进行模型求解的方法为最小二乘法。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧氏距离之和最小。
更一般的情形是由多个属性组成的样本数据集,此时称为多元线性回归

3.3对数几率回归

若要做分类任务。只需找一个单调可微函数将分类任务的真实标记y与线性回归模型的预测值联系起来。考虑一个二分类任务,其输出标记y∈{0,1},而线性回归模型产生的预测值z=(w^T)x+b是实值,于是我们将其转化为0/1值。最理想的是单位阶跃函数如下。
单位阶跃函数
很显然,单位阶跃函数并不连续。于是我们希望在一定程度上近似单位阶跃函数的“替代函数”,并希望它单调可微。对数几率函数正是这样一个常用的替代函数y = 1 / (1 + e ^-z),对数几率函数是一种“Sigmoid函数”。示意图如下:
在这里插入图片描述

3.4 线性判别分析

线性判别分析(Linear Discriminant Analysis,简称LDA)是一种经典的线性学习方法,在二分类问题上由Fisher提出,亦称“Fisher判别分析”。
LDA的思想非常朴素:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,在根据投影点的位置来确定新样本的类别。示意图如下:
在这里插入图片描述

3.5 多分类学习

现实中常遇到多分类学习任务,有些二分类学习方法可直接推广到多分类。
多分类学习的基本思路是拆解法,即将多分类任务拆为若干个二分类任务求解。
最经典的拆分策略有三种:“一对一”(One vs One,简称OvO)、“一对其余”(One vs Rest, 简称OvR)和“多对多”(Many vs Many,简称MvM)。
给定数据集D={(x1, y1), (x2, y2), …, (xm, ym)}。yi∈{C1, C2, … , CN).
OvO将这N个类别两两配对,从而产生N(N-1)/2个二分类任务。
OvR则是每次将一个类的样例作为正例、所有其他类的样例作为反例来训练N个分类器。
示意图如下:
在这里插入图片描述
容易看出,OVO需要训练N(N-1)/2个分类器,OVR只需要训练N个分类。因此OVO的存储开销和测试时间消耗都比OVR更大。但在训练时,OvR的每个分类器均使用全部训练样例,而OvO的每个分类器仅用到两个类的样例,因此,在类别很多时,OvO的训练时间开销通常比OvR更小。至于预测性能,则取决于具体的数据分布,在多数情形下两者都差不多。
MvM是每次将若干个类作为正类,若干个其他类作为反类,OvO和OvR都是MvM的特例。
MvM的正反类构造必须有特殊的设计,不能随取。这里用到一种常用的MvM技术:“纠错输出码”(Error Correcting Outputs Codes,简称ECOC)。ECOC是将编码的思想引入类别拆分,并尽可能在解码过程中具有容错性。ECOC工作过程主要分为两步:
编码:对N个类别做M次划分,每次划分将一部分类别划为正类,一部分划为反类,从而形成一个二分类训练集;这样一共产生M个训练集,可以训练出M个分类器。
解码:M个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果。
类别划分通过“编码矩阵”指定,常见的有二元码和三元码。前者将每个类别分别指定为正类和反类,后者在正,反类之外还可以指定停用类。
纠错输出码之所以称为纠错输出码,是因为在测试阶段,ECOC编码对分类器的错误有一定的容忍和修正能力,某个分类器出错时仍能产生正确的最终结果。一般的,同一个学习任务,ECOC编码越长,纠错能力越强,但是所需训练的分类器也越多,开销会增大;另一方面,对有限类别数,可能的组合数目是有限的,码长超过一定范围后就失去了意义。

3.6 类别不平衡问题

类别不平衡就是指分类任务中不同类别的训练样例数目差别很大的情况。例如正类样例较小,反类样例较多。
现有如下三个解决类别不平衡问题的常见做法
1、对反类样例进行欠采样,即去除一些反例使得正反例数目接近
2、对正类样例进行过采样,即增加一些正例使正、反例数目接近(不是重复采样,会造成严重的过拟合)
3、基于原始训练集进行学习,但在用训练好的分类器进行预测时,将下式嵌入其决策过程中,称为阈值移动
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/18294.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

这样做时间轴,让你的PPT更出彩!

文章目录**▌方法一:美化时间节点****▌方法二:利用图片中的“轴”****▌方法三:时间轴不一定需要“轴”****▌方法四:把时间轴拆成数页****▌总结**已剪辑自: https://zhuanlan.zhihu.com/p/56672211 嗨,大家好&#…

【Linux】一万七千字详解 —— 基本指令(二)

文章目录前言man 指令cp 指令mv 指令echo 指令(含输出重定向)cat 指令(含输入重定向)wc 指令more 指令less 指令head 和 tail 指令(含管道用法)date 指令cal 指令sort 指令find 和 which 和 whereis 指令alias 指令grep 指令top 指令zip 和 unzip 指令结语前言 今天的主要内容…

C语言源代码系列-管理系统之学生选修课程系统

往期文章分享点击跳转>《导航贴》- Unity手册,系统实战学习点击跳转>《导航贴》- Android手册,重温移动开发 👉关于作者 众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过…

想归隐啦——与自然生活为伴

目录 一、陶渊明-桃花源记 二、梭罗-瓦尔登湖 结庐在人境,而无车马喧。问君何能尔?心远地自偏。采菊东篱下,悠然见南山 一、陶渊明-桃花源记 晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹…

第五届“传智杯”全国大学生计算机大赛(练习赛)传智杯 #5 练习赛] 平等的交易

[传智杯 #5 练习赛] 平等的交易 题目描述 你有 nnn 件道具可以买,其中第 iii 件的价格为 aia_iai​。 你有 www 元钱。你仅能用钱购买其中的一件商道具。当然,你可以拿你手中的道具换取其他的道具,只是这些商道具的价值之和,不…

Vuecli项目结构,及组件的使用

根目录文件介绍 node_modules :管理项目中使用的依赖 public:存放一些静态资源,webpack打包时会放入dist文件夹内。 src:书写vue源代码【重点】 .gitignore :存放需要被git忽略文件(不需要保存)…

[附源码]java毕业设计青少年计算机知识学习系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

ArcGIS制作横向图例

ArcGIS制作横向图例 右键栅格图层,Symbology——Stretched 切换布局视图——View——Layout View,添加经纬网并调整 Insert——Legend,一路默认点下去 双击图例,Items——Style,进一步调整 选择图中标注的这个样式&am…

ES6 Symbol 内置值及使用场景

Symbol 基本使用 ES6 引入了一种新的原始数据类型 Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,是一种类似于字符串的数据类型。 Symbol 特点 1) Symbol 的值是唯一的,用来解决命名冲突的问题 2) Symbol 值不能与其…

Spring之Bean的实例化

文章目录前言一、通过构造方法实例化二、通过简单工厂模式实例化三、通过factory-bean实例化四、通过FactoryBean接口实例化前言 Spring为Bean提供了多种实例化方法,通常包括四种方式。目的是:更加灵活 第一种:通过构造方法实例化第二种&am…

计算机网络——第五章网络层笔记(4)

距离矢量路由选择协议(DV算法) 每个路由器维护一张表,表中列出了当前已知的到每个目标的最佳距离,以及为了到达那个目标,应该从哪个接口转发。 DV算法是动态的和分布式的,它常被用于小型网络,…

开发时长一年半golang工程师应该具备什么样的技术能力?

一、为什么会有人选择golang? 其实无非是被动和主动。 **被动:**面试新公司后,被领导调岗现学golang,因为公司需要。 **主动:**觉得这个方向有前景,大厂有需求,学了可以升职加薪! 所以不管…

visual studio连接远程开发

一、问题提出 vscode在连接远程调试时不知道如何调试cmake,研究了半天没研究出来,因此决定使用visual studio进行调试。 二、安装 Linux端 cmake版本最低为3.11,可以从此网站下载:https://cmake.org/files/v3.11/ 之前安装的visu…

怎么样恢复移动硬盘格式化的数据呢?

怎么样恢复移动硬盘格式化的数据呢? 这是一个让人很困扰的问题,其实格式化后的数据可以使用牛学长数据恢复工具一键恢复数据,它可以快速识别指定存储介质中所有丢失的文件,操作简单且恢复成功率高。 其工作原理只会提取原有数据&…

安装mayavi

mayavi是一款可视化工具,知乎说直接pip install mayavi不好使,所以我就直接没试,我直接试的好使的。 下面的链接是一个各种依赖包的地址,点开进去之后找mayavi https://link.zhihu.com/?targethttps%3A//www.lfd.uci.edu/~gohlke…

详解Unity中的新版Nav Mesh|导航寻路系统 (一)

前言 之前我们讲解过Unity的Nav Mesh系统,其中提到过这个新版的Nav Mesh,它解决现有Nav Mesh的几个缺陷,比如无法动态烘焙,无法按照Agent的半径和高度适当的判断可行路径。现在新版Nav Mesh可以彻底解决这个问题!某种…

Android Studio 插件开发2、网络请求、创建dialog、trello获取cardId等

网络请求 点击这里就出来一个弹框 更新Actions 关注这个 <actions><action id"TrelloAction"class"com.anguomob.anguo.actions.trello.TrelloAction"text"TrelloAction"description"Move a trello card from to do to the next …

大神带你玩转异步编程,理论与实践齐飞,敢说是目前最全的讲解了

要完全理解异步编程需要先理解几个概念 任务 我给任务的定义是完成某项功能的单元模块&#xff0c;任务有大有小&#xff0c;站在操作系统的角度&#xff0c;一个程序就是一个任务&#xff0c;每当运行一个程序就会创建一个新的任务&#xff0c;它在操作系统中还有一个无人不…

软件需求分析——需求工程过程

如果有兴趣了解更多相关内容&#xff0c;可以来我的个人网站看看&#xff1a;瞳孔空间 一&#xff1a;相关概念 需求工程过程的目的&#xff1a;介绍为软件加强型系统中的复杂软件设计的需求工程过程&#xff0c;涉及 抽取需求分析需求验证需求管理需求 主要关注点&#xf…

Isaac-gym(7):物理模拟(actor生成、创建、控制等)

1. 创建actor 1.1 actor的创建与句柄 actor是GymAsset的实例。函数create_actor将一个参与者添加到环境中&#xff0c;并返回一个参与者句柄&#xff0c;该句柄可用于以后与该参与者交互。出于性能原因&#xff0c;最好在actor创建期间保存句柄&#xff0c;而不是在模拟运行时…