【一起啃书】《机器学习》第三章 线性模型

news2024/10/6 20:36:55

第三章 线性模型

在这里插入图片描述

3.1 基本形式

  给定由 d d d个属性描述的示例 x = ( x 1 ; x 2 ; . . . ; x d ) {\bf{x}} = ({x_1};{x_2};...;{x_d}) x=(x1;x2;...;xd),其中 x i x_i xi x \bf{x} x在第 i i i个属性上的取值,线性模型试图学得一个通过属性的线性组合来进行预测的函数,如下所示:
f ( x ) = w T x + b = w 1 x 1 + w 2 x 2 + . . . + w d x d + b f({\bf{x}}) = {{\bf{w}}^T}{\bf{x}} + b = {w_1}{x_1} + {w_2}{x_2} + ... + {w_d}{x_d} + b f(x)=wTx+b=w1x1+w2x2+...+wdxd+b
  线性模型形式简单、易于建模,因此线性模型有很好的可解释性。

3.2 线性回归

  给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } D = \{ ({{\bf{x}}_1},{y_1}),({{\bf{x}}_2},{y_2}),...,({{\bf{x}}_m},{y_m})\} D={(x1,y1),(x2,y2),...,(xm,ym)},其中 x i = ( x i 1 ; x i 2 ; . . . ; x i d ) , y i ∈ R {{\bf{x}}_i} = ({x_{i1}};{x_{i2}};...;{x_{id}}),{y_i} \in {\R} xi=(xi1;xi2;...;xid),yiR。“线性回归”试图学得一个线性模型以尽可能准确地预测实值输出标记。均方误差是回归任务中最常用的性能度量,因此在回归任务中通常试图让均方误差最小化,如下:
( w ∗ , b ∗ ) = arg ⁡ min ⁡ ( w , b ) ∑ i = 1 m ( f ( x i ) − y i ) 2 (w^*,b^*) = \mathop {\arg \min }\limits_{(w,b)} \sum\limits_{i = 1}^m {{{(f({x_i}) - {y_i})}^2}} (w,b)=(w,b)argmini=1m(f(xi)yi)2
  均方误差对应了常用的欧几里得距离(欧氏距离),基于均方误差最小化来进行模型求解的方法称为最小二乘法。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧氏距离之和最小,对于上面的这个式子,我们分别对 w w w b b b求导并令对应的偏导数等于0,即可得到最优解如下:
w = ∑ i = 1 m y i ( x i − x ‾ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i ) 2 , b = 1 m ∑ i = 1 m ( y i − w x i ) w = \frac{{\sum\limits_{i = 1}^m {{y_i}({x_i} - \overline x )} }}{{\sum\limits_{i = 1}^m {x_i^2 - \frac{1}{m}{{(\sum\limits_{i = 1}^m {{x_i}} )}^2}} }},b = \frac{1}{m}\sum\limits_{i = 1}^m {({y_i} - w{x_i})} w=i=1mxi2m1(i=1mxi)2i=1myi(xix),b=m1i=1m(yiwxi)
  常见的还有多元线性回归(多个属性)、对数线性回归(输出为指数级变化)等。在多元线性回归中可能会解出来多组解,所以需要由学习算法的归纳偏好决定选择哪一个解作为输出,常见的做法是引入正则化项,以下为常用的 L p L_p Lp范数。

  • L0范数是指向量中非零元素的个数。它的作用是可以提高模型参数的稀疏性,也就是让一些参数为零,从而减少特征的数量。

  • L1范数是指向量中各个元素绝对值之和。它的作用也是可以提高模型参数的稀疏性,L1范数可以进行特征选择,即让特征的系数变为零。L1范数还可以作为正则化项,防止模型过拟合,提升模型的泛化能力。

  • L2范数是指向量各元素的平方和然后求平方根。它的作用是减小模型所有参数的大小,可以防止模型过拟合,提升模型的泛化能力。L2范数会选择更多的特征,这些特征都会接近于零但不等于零,也可以作为正则化项,改善矩阵的条件数,加快收敛速度。

3.3 对数几率回归

  考虑到二分类任务,其输出标记$y \in { 0,1} $,而线性回归模型产生的预测值是实数值,所以需要将其进行转换,最理想的是单位阶跃函数,即预测值大于零判为正例,小于零判为负例,等于零可任意判别。但考虑到单位阶跃函数不连续,所以希望能找到在一定程度上近似单位阶跃函数的替代函数,并且单调可微,于是便有了对数几率函数。

  对数几率函数是一种Sigmoid函数,它将 z z z值转化为一个接近0或1的 y y y值,表达式为 y = 1 1 + e − z y = \frac{1}{{1 + {e^{ - z}}}} y=1+ez1,换个形式也可写作 ln ⁡ y 1 − y = w T x + b \ln \frac{y}{{1 - y}} = {{\bf{w}}^T}{\bf{x}} + b ln1yy=wTx+b,这里的 y y y视为样本为正例的可能性,而 1 − y 1-y 1y就是其反例可能性,所以 y 1 − y \frac{y}{{1 - y}} 1yy也叫做几率, ln ⁡ y 1 − y \ln \frac{y}{{1 - y}} ln1yy就叫做对数几率,这种对应的线性回归模型就叫做对数几率回归,虽然叫做回归,但其实是一种分类方法。

  对于对数几率回归中 w \bf{w} w b b b的取值,可以采用极大似然法来进行估计。

3.4 线性判别分析

  线性判别分析是一种经典的线性学习方法,也叫作“Fisher判别分析”,主要思想是给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离,如下所示:

  给定数据集 D = { ( x i , y i ) } i = 1 m , y i = { 0 , 1 } D = \{ ({{\bf{x}}_i},{y_i})\} _{i = 1}^m,{y_i} = \{ 0,1\} D={(xi,yi)}i=1m,yi={0,1},两类样本的中心在直线上的投影为 ω T μ 0 {{\bf{\omega }}^T}{{\bf{\mu }}_0} ωTμ0 ω T μ 1 {{\bf{\omega }}^T}{{\bf{\mu }}_1} ωTμ1,协方差为 ω T Σ 0 ω {{\bf{\omega }}^T}{{\bf{\Sigma }}_0}{\bf{\omega }} ωTΣ0ω ω T Σ 1 ω {{\bf{\omega }}^T}{{\bf{\Sigma }}_1}{\bf{\omega }} ωTΣ1ω,如果想使同类样例的投影点尽可能接近,则可以让协方差尽可能小;如果想使异类样例的投影点尽可能远离,则可以让类中心之间的距离 ∥ ω T μ 0 − ω T μ 1 ∥ \left\| {{{\bf{\omega }}^T}{{\bf{\mu }}_0} - {{\bf{\omega }}^T}{{\bf{\mu }}_1}} \right\| ωTμ0ωTμ1 尽可能大。综合可得到以下最大化目标,可采用拉格朗日乘子法和奇异值分解求得最优解。
J = ∥ ω T μ 0 − ω T μ 1 ∥ 2 2 ω T Σ 0 ω + ω T Σ 1 ω J = \frac{{\left\| {{{\bf{\omega }}^T}{{\bf{\mu }}_0} - {{\bf{\omega }}^T}{{\bf{\mu }}_1}} \right\|_2^2}}{{{{\bf{\omega }}^T}{{\bf{\Sigma }}_0}{\bf{\omega }} + {{\bf{\omega }}^T}{{\bf{\Sigma }}_1}{\bf{\omega }}}} J=ωTΣ0ω+ωTΣ1ω ωTμ0ωTμ1 22

3.5 多分类学习

  多分类学习任务一般用拆解法来解决,最经典的拆分策略有三种:一对一(OvO)、一对其余(OvR)和多对多(MvM),一对一将N个类别两两配对,从而会产生N(N-1)/2个二分类任务;一对其余每次将一个类作为正例,剩下的作为反例,从而会产生N个二分类任务,这两种策略分别如下所示:

  而多对多就是每次将若干个类作为正类,若干个其他类作为反类,最常见的是纠错输出码(ECOC),该编码也有一定的容忍和修正能力,并且编码越长,纠错能力越强,共分为下面两步进行:

  • 编码:对N个类别做M次划分,每次划分将一部分类别划为正类,一部分划为反类,从而形成一个二分类训练集;这样一共产生M个训练集,可训练出N个分类器。
  • 解码:M个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果。

3.6 类别不平衡问题

  类别不平衡是指分类任务中不同类别的训练样例数目差别很大的情况,这种情况在现实的分类学习任务中很常见,一般可采用以下三种方法来解决:

  • 欠采样:去除一些反例使得正、反例数目接近。
  • 过采样:增加一些正例使得正、反例数目接近。
  • 阈值移动:基于原始训练集进行学习,但在用训练好的分类器进行预测时,将 1 − y ′ y ′ = 1 − y y × m − m + \frac{{1 - y'}}{{y'}} = \frac{{1 - y}}{y} \times \frac{{{m^ - }}}{{{m^ + }}} y1y=y1y×m+m嵌入决策过程中。

  需注意的是,欠采样法的时间开销通常远小于过采样法,因为前者丢弃了很多反例,使得分类器训练集远小于初始训练集,而过采样法增加了很多正例,其训练集大于初始训练集,过采样法也不能简单地对初始正例样本进行重复来样,否则会招致严重的过拟合。

3.7 逻辑回归为什么使用交叉熵而不是用均方差作为损失函数

  可以参考这篇文章【逻辑回归】,讲的很好!值得学习!

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

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

相关文章

瀚高股份吕新杰:创新开源双驱动,躬耕国产数据库

作者 | 伍杏玲 近年来,国际形势不断变幻,也给人们带来巨大警示:关键核心技术是买不来、讨不来的,中国科技企业需寻找研发自强之路。 瀚高基础软件股份有限公司(简称瀚高股份)专注数据库十八年,始…

信息安全-reNgine-Web应用渗透测试的自动化网络侦察框架

目录 reNgine介绍 工具运行机制 安装部署 安装rengine 安装python依赖包 合并Django前端静态文件 安装Postgresql 创建reNgine账号 启动reNgine 启动reNgine成功 启动reNgine后在浏览器访问:http://localhost:8000/ 这时会发现前端静态资源加载失败&…

【自然语言处理】【大模型】极低资源微调大模型方法LoRA以及BLOOM-LORA实现代码

极低资源微调大模型方法LoRA以及BLOOM-LORA实现代码 相关博客 【自然语言处理】【大模型】极低资源微调大模型方法LoRA以及BLOOM-LORA实现代码 【自然语言处理】【大模型】DeepMind的大模型Gopher 【自然语言处理】【大模型】Chinchilla:训练计算利用率最优的大语言…

Froala V4.0.18 Crack Froala 编辑器

Froala V4.0.18:复制和粘贴图像变得更好,还有更多! 2023 年 3 月 25 日最忠实用户编辑器,新版本发表评论 Froala Editor团队很高兴地宣布发布Froala Editor 4.0.18。这个新版本在质量和稳定性方面有很多改进,并修复了…

优雅的处理sping项目全局异常

全局异常处理 为了达到系统的各个模块中都能够共用同一个异常处理逻辑,避免代码重复和错误。在Spring框架中,可以通过全局异常处理来捕获应用程序中抛出的异常,并根据需要进行处理。 ControllerAdvice ControllerAdvice是Spring MVC框架中…

TCP CUBIC 动力学

曾陪经理一起面试,问过一个问题: CUBIC 的公式: W ( x ) C ( x − K ) 3 W m a x W(x)C(x−K)^3W_{max} W(x)C(x−K)3Wmax​ 其中 x 是什么意思? 本意是想候选人回答 “x 是绝对时间”,然后我会接着问 “这个 x …

[SWPUCTF] 2021新生赛之(NSSCTF)刷题记录 ②

[SWPUCTF] 2021 新生赛(NSSCTF刷题记录wp) [SWPUCTF 2021 新生赛]no_wakeup[鹤城杯 2021]easy_crypto[suctf 2019]EasySQL[ZJCTF 2019]NiZhuanSiWei[强网拟态 2021]拟态签到题[BJDCTF 2020]easy_md5[SWPUCTF 2021 新生赛]easyupload3.0[SWPUCTF 2021 新生…

Python解决微软Microsoft的登录机器人验证

前言 本文是该专栏的第8篇,结合优质项目案例,让你精通使用Pyppeteer,后面会持续分享Pyppeteer的干货知识,记得关注。 在注册微软Microsoft账号或者注册outlook邮箱账号的时候,会遇到如下机器人验证: 是的,你可能第一眼看到这个验证页面,首先会想到是定位它的页面元素N…

数据结构各结构特点(数组、链表、栈、队列、树)

目录 一、数组 二、链表 三、栈 四、队列 五、树 1.二叉树 2.二叉查找树 3.平衡二叉树(AVL树) 4.红黑树 六、总结: 1.红黑树和平衡二叉树的区别: 2.为什么有了数组和链表还要引入二叉树? 3.为什么有了二叉树…

【Linux】从机I/O线程报错

一、报错问题 I/O线程报错 查看/var/log/mysqld.d日志,查看报错; 在从机,telnet主机的3306端口显示拒绝连接; 并且从机mysql登录用户密码问题,密码输入正确但是报错【ERROR 1045 (28000): Access denied for user root…

软件开发中的DevOps实践

一、引言 在软件开发领域,为了满足用户需求、提升产品质量、缩短产品上线时间,DevOps已经成为一种流行的开发实践方式。本文将从什么是DevOps、DevOps的理念、DevOps的价值、DevOps的实践等方面详细介绍DevOps在软件开发中的实践。 二、什么是DevOps …

python爬虫原理及源码解析(入门)

目录 一、爬虫是什么?二、爬虫的基本原理三、HTTP协议与响应4、爬虫实现源码 一、爬虫是什么? ​ 如果将互联网比作一张大的蜘蛛网,数据便是存放在蜘蛛网的各个节点,而爬虫就是一只小蜘蛛,沿着网络抓取自己的猎物(数据…

用spring-boot-starter实现事务的统一配置

一、前言 微服务架构下,多个微服务都需要事务操作,如果在每个微服务下都从头配置事务,将非常繁锁。事务配置具有高度的一致性,可以抽取出来,制作starter,在需要配置事务的服务中引入starter依赖即可。 采用…

NFS(UOS)

appsrv 172.16.146.11 strogesrv 172.16.146.53 共享/data/share目录 用于存储app主机的web数据 仅允许stora访问该共享 安装nfs apt install nfs-common nfs-kernel-server -y mkdir /data/share /data/share 172.16.146.50(rw,sync,no_root_squash,insecure) 重启服…

志特转债上市价格预测

志特转债 基本信息 转债名称:志特转债,评级:A,发行规模:6.14033亿元。 正股名称:志特新材,今日收盘价:35.6元,转股价格:41.08元。 当前转股价值 转债面值 / …

微服务学习高级篇【5】之服务异步通信(rabbitmq的高级特性)

文章目录 环境准备:MQ部署【docker环境】消息可靠性生产者消息确认项目配置定义Return回调和ConfirmCallback 消息持久化交换机持久化队列持久化消息持久化 消费者消息确认none模式演示 消费失败重试机制本地重试失败策略 总结 死信交换机初识死信交换机死信交换机接…

【DHCP原理与配置】

目录 一、了解DHCP服务使用DHCP的好处DHCP的分配方式 二、DHCP的租约过程传输协议端口DHCP的IP地址自动获取工作原理 三、配置DHCP服务器安装dhcp查看配置文件根据配置文件提示查看相关文档 四、模拟外网和内网互通进入主机1的设置进入主机2的设置复制dhcp文件,修改…

Nginx 优化与防盗链

Ngnix优化主要有两种,一种是配置上的优化,一种是内核上的优化 实验准备:安装好一台Nginx服务器,IP:192.168.126.22,域名:www.accp.com 浏览器访问nginx服务器此时F12查看网页信息,可…

MySQL之表的约束

目录 一 空属性 定义 如何设置 示例 影响: 二 默认值 定义 示例 影响: 三 列描述 定义 示例 影响: 四 zerofill 定义: 示例: 影响: 五 主键 定义 主键的性质是什么: 为什么要…

C++——一种特殊的二叉搜索树之红黑树

目录 1 红黑树的概念2 红黑树的性质3 红黑树节点的定义4 红黑树的插入操作情况一: cur为红,p为红,g为黑,u存在且为红。情况二: cur为红,p为红,g为黑(不存在连续的红结点),u不存在/u存…