《机器学习》读书笔记:总结“第3章线性模型”中的概念

💠线性模型(linear model)

线性模型(linear model) 试图学得一个通过属性的线性组合来进行预测的函数,即:

f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w d x d + b f(\bold{x})=w_1x_1+w_2x_2+...+w_dx_d+b f(x)=w1x1+w2x2+...+wdxd+b

向量形式写为:
f ( x ) = w T x + b f(\bold{x})=\bold{w}^T\bold{x}+b f(x)=wTx+b
w \bold{w} w b b b 学得后,模型就得以确定。

线性模型简单。但许多更为强大的 非线性模型(nolinear model) 是在线性模型上引入层级结构高维映射而得。
此外,因为 w \bold{w} w比较直观,所以线性模型拥有很好的可解释性/可理解性

💠属性值的 序(order) 关系

对于离散的属性:

  • 如果存在 “序(order)” 关系,则可将离散的值转化为连续的值。例如“高”和“矮”可转换为 1.0 和 0.0。
  • 如果不存在 “序(order)” 关系,则通常转换为k维向量。例如“西瓜”、“南瓜”、“黄瓜”可转换为(0,0,1)、(0,1,0)、(1,0,0)。

💠线性回归(linear regression)

给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } D=\{(\bold{x}_1,y_1),(\bold{x}_2,y_2),...,(\bold{x}_m,y_m)\} D={(x1,y1),(x2,y2),...,(xm,ym)},其中 x i = ( x i 1 ; x i 2 ; . . . ; x i d ) \bold{x}_i=(x_{i1};x_{i2};...;x_{id}) xi=(xi1;xi2;...;xid) y i ∈ R y_i\in\mathbb{R} yiR
“线性回归(linear regression)” 试图学得:
f ( x i ) = w T x i + b f(\bold{x}_i)=\bold{w}^T\bold{x}_i+b f(xi)=wTxi+b 使得 f ( x i ) ≃ y i f(\bold{x}_i)\simeq y_i f(xi)yi

如果 x i \bold{x}_i xi中有多个属性,那么就称为“多元线性回归(multivariate linear regression)”

为便于观察,我们把线性回归模型简写为:
y = w T x + b y=\bold{w}^T\bold{x}+b y=wTx+b

💠对数线性回归(log-linear regression)

假设示例所对应的输出标记是在指数尺度上变化,即:
ln ⁡ y = w T x + b \ln y=\bold{w}^T\bold{x}+b lny=wTx+b
就是 对数线性回归(log-linear regression),实际上是试图让 e w T x + b e^{\bold{w}^T\bold{x}+b} ewTx+b 逼近 y y y

💠广义线性模型(generalized linear model)

考虑单调可微函数 g ( ⋅ ) g(\cdot) g(),令
y = g − 1 ( w T x + b ) y = g^{-1}(\bold{w}^T\bold{x}+b) y=g1(wTx+b)

这样得到的模型称为 广义线性模型(generalized linear model)。其中函数 g ( ⋅ ) g(\cdot) g()称为“联系函数(link function)”。

显然,对数线性回归是 g ( ⋅ ) = ln ⁡ ( ⋅ ) g(\cdot)=\ln (\cdot) g()=ln() 时的特例。

💠对数几率回归(logistic regression)

若要做分类任务,该怎么办?根据广义线性模型:需要找一个单调可微函数将标记与预测值联系起来。

考虑二分类任务,其输出标记 y ∈ { 0 , 1 } y\in\{0,1\} y{0,1} 而线性回归模型产生的预测值 z = w T x + b z=\bold{w}^T\bold{x}+b z=wTx+b。于是需要将 z z z转换为0/1。此时最理想的函数是 “单位阶跃函数”
y = { 0 , z < 0 0.5 , z = 0 1 , z > 0 y= \begin{cases} 0, & z<0 \\ 0.5, & z=0 \\ 1, & z>0 \end{cases} y= 0,0.5,1,z<0z=0z>0
但是,单位阶跃函数是不连续的(所以不“可微”),因此不能作为联系函数。
而 “对数几率函数(logistic function)” 正是这样一个常用的替代函数:
y = 1 1 + e − z y=\frac{1}{1+e^{-z}} y=1+ez1

在这里插入图片描述
需要注意,他的名字是“回归”,但实际却是一种“分类”。

💠线性判别分析(LDA)

线性判别分析 Linear Discriminant Analysis,简称LDA。(亦称为Fisher判别分析)

LDA的思想:
给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离。这样,在对新样本进行分类的时候,就可以通过投影到这条直线上来判定类别。
在这里插入图片描述

💠多分类学习

考虑 N N N个类别 C 1 , C 2 , . . . , C N C_1,C_2,...,C_N C1,C2,...,CN。多分类学习任务是 “拆解法”,即拆分成若干个二分类任务。最经典的拆分策略有三种:

💠一对一(One vs One,简称OvO)

OvO:将 N N N个类别两两配对,训练得到 N ( N − 1 ) 2 \frac{N(N-1)}{2} 2N(N1)个分类器。
最终预测结果由投票产生。
在这里插入图片描述

💠一对其余(One vs Rest,简称OvR)

OvR:每次将一个类的样例作为正例,其余作为反例,训练得到 N N N个分类器。
预测时,若仅有一个分类器 f i f_i fi预测为正例,其余为反例,则 C i C_i Ci就是最终分类结果。(若有多个分类器预测为正类,则选择置信度最大的)
在这里插入图片描述
OvO 与 OvR 比较:

  • OvO存储开销和测试时间比OvR更大
  • OvO的训练开销更小
  • 预测性能差不多

💠多对多(Many vs Many,简称MvM)

MvM:每次将若干个类作为正类,若干个其他类作为反类。
显然OvO和OvR都是MvM的特例。
MvM 的正、反类构造必须有特殊的设计,不能随意选取。
一种最常用的MvM技术是"纠错输出码" (Error Correcting Output Codes,简称 ECOC)。

💠纠错输出码(ECOC)

ECOC分为两步:

  • 编码时:对 N N N个类别做 M M M次划分, 每次划分将一部分类别划为正类,一部分划为反类,从而形成一个二分类训练集。这样一共产生 M M M个训练集,可训练出 M M M个分类器( f 1 , f 2 , . . . , f m f_1,f_2,...,f_m f1,f2,...,fm
  • 解码时(预测时)::M个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类别各自的编码进行比较,返回其中 “距离最小的”(相当于最相似的)类别作为最终预测结果。
    在这里插入图片描述
    上图里 C 3 C_3 C3的距离最小(相当于测试样本的表现与 C 3 C_3 C3最接近)所以最终预测结果为 C 3 C_3 C3

💠二元码 和 三元码

上图是二元码,即每个类别分别指定为“正类”和“反类”。
还有三元码,即除了“正类”、“反类”之外,还有“停用类”,即表示 f i f_i fi不使用该类样本。

💠类别不平衡问题(class-imbalance)

类别不平衡(class-imbalance)指:不同类别的训练样例数目差别很大的情况,比如正例数目远小于反例。这会对学习过程造成困扰。
基本策略就是 再缩放(rescaling)
现有技术大体有三种做法:

💠欠采样(undersampling)

去除一些反例使得正反例数目接近。
但是若随机丢弃反例可能会丢失信息。所以可以将反例划分为若干个集合供不同学习器使用,这样对每个学习器来看都进行了欠采样,但在全局来看却不会丢失重要信息。(EasyEnsemble [Liu et al., 2009] )

💠过采样(oversamplling)

增加一些正例。
但是不能简单重复采样,否则会造成严重的“过拟合”。为此可以对正例进行插值来产生额外的正例(SMOTE [Chawla et al., 2002])

💠阈值移动(oversamplling)

直接基于原始训练集进行学习。但是决策过程时移动阈值。
即原先是:
若 y 1 − y > 1 则预测为正例 若\frac{y}{1-y}>1则 预测为正例 1yy>1则预测为正例

移动阈值后是:
若 y 1 − y > m + m − 则预测为正例 若\frac{y}{1-y}>\frac{m^+}{m^-}则 预测为正例 1yy>mm+则预测为正例

(其中 m + m^+ m+为正例数目, m − m^- m为反例数目)

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

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

相关文章

JAVA复习4

目录 44、定义 int x5; 执行 int yx; 和 xy;&#xff0c;x 和 y 分别为&#xff08; B &#xff09;。 45、下列内容描述错误的是&#xff08; C &#xff09;。 46、以下 Java 语句在编译时不通过的是 (A) 47、在 Java 中&#xff0c;Scanner 类提供控制台获取键盘输入的功…

idea配置本地maven

软件名地址链接说明MavenMaven – Download Apache Maven依赖管理 下载bin.zip 环境变量 测试安装 修改配置文件 本地依赖存储位置 新建文件夹 修改配置 国内镜像源 <mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>ali…

Scrivener v3 解锁版安装教程 (写作辅助软件)

前言 Scrivener&#xff0c;一个多功能的写作软件&#xff0c;被世界各地的作家广泛采用&#xff0c;从小说家到剧本家&#xff0c;再到非小说类作家和学术研究者&#xff0c;它的用户群跨越了广泛的领域&#xff0c;包括学生、法律专业人士、记者和翻译。这个软件非常注重用户…

HTML(18)——浮动

标准流 标准流也叫文档流&#xff0c;指的是标签在页面中默认的排布规则&#xff0c;例如&#xff1a;块元素独占一行&#xff0c;行内元素可以一行显示多个 浮动 作用&#xff1a;让块级元素水平排列 属性名&#xff1a;float 属性值 left&#xff1a;左对齐right&#…

颠覆传统编程:用ChatGPT十倍提升生产力

我们即将见证一个新的时代&#xff01;这是最好的时代&#xff0c;也是最坏的时代&#xff01; 需求背景 背景&#xff1a; 平时会编写博客&#xff0c;并且会把这个博客上传到github上&#xff0c;然后自己买一个域名挂到github上。 我平时编写的博客会有一些图片来辅助说明的…

Docker网络介绍

网络是虚拟化技术中最复杂的部分&#xff0c;也是Docker应用中的一个重要环节。 Docker中的网络主要解决容器与容器、容器与外部网络、外部网络与容器之间的互相通信的问题。 这些复杂情况的存在要求Docker有一个强大的网络功能去保障其网络的稳健性。因此&#xff0c;Docker…

【Linux】了解冯诺伊曼体系结构

文章目录 冯诺依曼体系结构概念冯诺依曼体系结构的推导过程理解冯诺依曼体系 冯诺依曼体系结构概念 冯诺依曼结构是现代计算机发展所遵循的基本结构形式之一&#xff0c;其特点是“程序存储&#xff0c;共享数据&#xff0c;顺序执行”。冯诺依曼结构消除了原始计算机体系中&a…

PCDViewer-5.0.0——开启漫游的世界

在点云相关的研发和生产中&#xff0c;按Pose进行场景漫游是一个十分有用的功能&#xff0c;它可以快速地检查SLAM建图质量或点云编辑效果。用 ros rviz进行点云漫游是一项不错的选择&#xff0c;但它存在的一定的开发门槛&#xff0c;而且需要安装额外的资源。 PCDViewer-5.0.…

物理隔离状态下,如何保障数据单向导入的安全性?

为了保护企业的核心数据&#xff0c;像一些涉密行业会通过物理隔离方式&#xff0c;将网络隔离成内网和外网&#xff0c;比如军工、党政、生物医药、金融等行业&#xff0c;网络隔离后会存在外网数据单向导入内网&#xff0c;内网数据单向导出外网等交互需求。在实施数据单向导…

Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!

代码仓库 会同步代码到 GitHub https://github.com/turbo-duck/flink-demo 当前章节 继续上一节的内容&#xff1a;https://blog.csdn.net/w776341482/article/details/139875037 上一节中&#xff0c;我们需要使用 nc 或者 telnet 等工具来模拟 Socket 流。这节我们写一个 …

36.Http协议的设计与解析

Http协议比Redis协议复杂的多,如果程序员自己去实现,工作量大。 Netty已经把Http协议的编解码器实现好了,只需要简单的配置就可以使用。 做一个http的服务端需要HttpServerCodec。 看它继承的父类: 结合了两个类: HttpRequestDecoder(入站处理器extends Channelnbound…

【网络安全常用术语解读 :什么是0day、1day、nday漏洞】

脆弱性攻击的时间窗被称作脆弱性窗口。通常情况下&#xff0c;一个安全漏洞的时间越久&#xff0c;攻击者就会有更多的机会去攻击它。 2. 0day 漏洞 0天漏洞&#xff0c;也被称作"零日漏洞"&#xff0c;是指尚未由供应商公布的缺陷&#xff0c;表示攻击者已知晓该缺…

FlowUs2024重磅革新预告:RAG技术赋能『问问AI』,笔记变现新纪元等你开启!

&#x1f389; 在FlowUs的广阔天地间&#xff0c;知识的边界被无限拓展&#xff0c;引领着一场场创新与收获的庆典&#xff01;&#x1f680; 随着一年间不断的精进与革新&#xff0c;FlowUs与众多用户并肩前行&#xff0c;在追求极致体验的道路上迈出坚实步伐。步入2024年&am…

WordPress项目教程:自动采集并发布,让你轻松实现网站内容更新

随着互联网的发展&#xff0c;越来越多的人开始关注自己的个人网站&#xff0c;通过网站展示自己的才华、分享知识、推广产品等。然而&#xff0c;个人网站的运营并非易事&#xff0c;尤其是内容更新方面。为了解决这个问题&#xff0c;今天我们将为大家推荐一款WordPress插件主…

minio直接通过地址访问无需服务器转发

背景 做网站有些图片、视频、js等资源&#xff0c;没有什么变化&#xff0c;想在网站上直接使用&#xff0c;前端拿到地址可直接访问获得&#xff0c;而不是通过后台转一道再获得&#xff0c;折腾了半天访问不到&#xff0c;从网上找资料挨个试&#xff0c;也没完全解决&#…

云计算期末综合测试题

云计算综合测试题 单选题填空题判断题简答题 单选题 这里选择题&#xff0c;直接以填空题展示&#xff0c;并给出解析 Bigtable是&#xff08;Google&#xff09;开发的分布式存储系统 解析&#xff1a;分布式结构化数据表Bigtable是Google基于GFS和Chubby开发的分布式存储系统…

君子小人的格局、境界

子曰&#xff1a;君子怀德&#xff0c;小人怀土&#xff1b;君子怀刑&#xff0c;小人怀惠。 直译&#xff1a;君子怀念道德&#xff0c;小人怀念乡土&#xff1b;君子关心法度&#xff0c;小人关心恩惠。 这里的君子与小人只是体现格局、境界的不同&#xff1b; 君子怀的是德…

DVWA 靶场 SQL Injection (Blind) 通关解析

前言 DVWA代表Damn Vulnerable Web Application&#xff0c;是一个用于学习和练习Web应用程序漏洞的开源漏洞应用程序。它被设计成一个易于安装和配置的漏洞应用程序&#xff0c;旨在帮助安全专业人员和爱好者了解和熟悉不同类型的Web应用程序漏洞。 DVWA提供了一系列的漏洞场…

sklearn之各类朴素贝叶斯原理

sklearn之贝叶斯原理 前言1 高斯朴素贝叶斯1.1 对连续变量的处理1.2 高斯朴素贝叶斯算法原理 2 多项式朴素贝叶斯2.1 二项分布和多项分布2.2 详细原理2.3 如何判断是否符合多项式贝叶斯 3 伯努利朴素贝叶斯4 类别贝叶斯4 补充朴素贝叶斯4.1 核心原理4.2 算法流程 前言 如果想看…

天马学航——智慧教务系统(移动端)开发日志四

天马学航——智慧教务系统(移动端)开发日志四 日志摘要&#xff1a;优化了教师端界面的UI&#xff0c;更新了教师端添加课程&#xff0c;提交成绩等功能&#xff0c;修复了一些已知的BUG 1、教师添加课程设计 教师在此界面添加课程&#xff0c;并将数据提交后端进行审核 界…