【复旦邱锡鹏教授《神经网络与深度学习公开课》笔记】线性分类模型损失函数对比

本节均以二分类问题为例进行展开,统一定义类别标签 y ∈ { + 1 , − 1 } y\in\{+1,-1\} y{+1,1},则分类正确时 y f ( x ; w ) > 0 yf(x;w)>0 yf(x;w)>0,且值越大越正确;错误时 y f ( x ; w ) < 0 yf(x;w)<0 yf(x;w)<0,且值越小越错误。不同损失函数间的损失随 y f ( x ; w ) yf(x;w) yf(x;w)变化如下图所示:
在这里插入图片描述

平方损失

L = ( y − f ( x ; w ) ) 2 = y 2 − 2 y f ( x ; w ) + f 2 ( x ; w ) = 1 − 2 y f ( x ; w ) + y 2 f 2 ( x ; w ) = ( 1 − y f ( x ; w ) ) 2 \begin{aligned} \mathcal{L} &=(y-f(x;w))^2 \\ &=y^2-2yf(x;w)+f^2(x;w) \\ &=1-2yf(x;w)+y^2f^2(x;w) \\ &=(1-yf(x;w))^2 \end{aligned} L=(yf(x;w))2=y22yf(x;w)+f2(x;w)=12yf(x;w)+y2f2(x;w)=(1yf(x;w))2
对于平方损失来说,当 y f ( x ; w ) < 1 yf(x;w)<1 yf(x;w)<1时,损失函数单调递减,此时如果用梯度下降进行优化,最终会收敛于点1。但当 y f ( x ; w ) > 1 yf(x;w)>1 yf(x;w)>1时,损失函数单调递减,同样在进行优化时还是会收敛于1,但事实上 y f ( x ; w ) yf(x;w) yf(x;w)越大说明分类越正确。因此可以说,平方损失不适合做分类任务。

Logistic回归的损失函数(交叉熵损失)

L = − I ( y = 1 ) log ⁡ σ ( f ( x ; w ) ) − I ( y = − 1 ) log ⁡ ( 1 − σ ( f ( x ; w ) ) ) = − I ( y = 1 ) log ⁡ σ ( f ( x ; w ) ) − I ( y = − 1 ) log ⁡ ( σ ( − f ( x ; w ) ) ) = − log ⁡ σ ( y f ( x ; w ) ) = log ⁡ σ − 1 ( y f ( x ; w ) ) = log ⁡ ( 1 + exp ⁡ ( − y f ( x ; w ) ) ) \begin{aligned} \mathcal{L} &=-I(y=1)\log\sigma(f(x;w))-I(y=-1)\log(1-\sigma(f(x;w)))\\ &=-I(y=1)\log\sigma(f(x;w))-I(y=-1)\log(\sigma(-f(x;w)))\\ &=-\log\sigma(yf(x;w))\\ &=\log\sigma^{-1}(yf(x;w))\\ &=\log(1+\exp(-yf(x;w))) \end{aligned} L=I(y=1)logσ(f(x;w))I(y=1)log(1σ(f(x;w)))=I(y=1)logσ(f(x;w))I(y=1)log(σ(f(x;w)))=logσ(yf(x;w))=logσ1(yf(x;w))=log(1+exp(yf(x;w)))
对于函数 σ ( x ) \sigma(x) σ(x),可证 1 − σ ( x ) = σ ( − x ) 1-\sigma(x)=\sigma(-x) 1σ(x)=σ(x),且 I I I是指示函数,
I ( y = 1 ) = 1 y = 1 = { 1 y = 1 0 y = − 1 I(y=1)=\mathbb{1}_{y=1}=\left\{\begin{aligned} &1&y=1\\\\ &0&y=-1 \end{aligned}\right. I(y=1)=1y=1= 10y=1y=1
I ( y = − 1 ) = 1 y = − 1 = { 1 y = − 1 0 y = 1 I(y=-1)=\mathbb{1}_{y=-1}=\left\{\begin{aligned} &1&y=-1\\\\ &0&y=1 \end{aligned}\right. I(y=1)=1y=1= 10y=1y=1
由图像可知,随着 y f ( x ; w ) yf(x;w) yf(x;w)的增大,函数损失逐渐减小最终趋于0。这样虽然满足了 y f ( x ; w ) yf(x;w) yf(x;w)越大分类效果越好的条件,但其实这是没必要的,因为当损失大于0时就可以完成分类任务。因此虽然说交叉熵损失可以满足分类要求,但造成了一些不必要的计算,仍然具有改进空间。

感知器的损失函数

L = max ⁡ ( 0 , − y f ( x ; w ) ) \mathcal{L}=\max(0,-yf(x;w)) L=max(0,yf(x;w))
感知器损失解决了交叉熵损失的问题。感知器损失是专门为分类而设计的损失函数,其结果与真实效果基本一致。

软间隔支持向量机的损失函数(Hinge损失)

L = max ⁡ ( 0 , 1 − y f ( x ; w ) ) \mathcal{L}=\max(0,1-yf(x;w)) L=max(0,1yf(x;w))
Hinge损失与感知器损失在几何上的不同仅仅在于Hinge损失在感知器损失的基础上向右平移了一个单位,这就导致了Hinge损失对距离分界面较近的样本( y f ( x ; w ) yf(x;w) yf(x;w)落在0到1之间)造成一定的惩罚。

结论

从模型健壮性角度来讲,选择支持向量机(Hinge损失)来解决一般分类问题的效果更好
各线性分类模型对比如下表所示
在这里插入图片描述

XOR问题

感知器和支持向量机虽然在线性可分问题上表现良好,但其无法解决非线性可分问题,例如XOR(异或)问题。
假设空间中有两个变量 ( x 1 , x 2 ) (x_1,x_2) (x1,x2),对两个变量分别取与、或、异或逻辑运算,结果如下图所示。
在这里插入图片描述

对于与运算和或运算产生的结果来说,总能找到一个分界面来把两类分开,也就是说这两个结果产生的数据集是线性可分的;但异或运算的结果无法直接找到一个分界面,也就是说它的结果数据是非线性可分的。XOR这类非线性可分问题是无法通过线性分类器来解决的。
要解决这类问题,可以借助使用”基函数“的广义线性模型,也就是把线性模型过一个基函数,让线性模型变为非线性的,也就是将 f ( x ) = w T x f(x)=w^Tx f(x)=wTx变成 f ( ϕ ( x ) ) = w T ϕ ( x ) f(\phi(x))=w^T\phi(x) f(ϕ(x))=wTϕ(x),这样就实现了将非线性可分的数据集映射到另一个空间中,映射的数据集在这个空间中是线性可分的。

以下图为例,
在这里插入图片描述

左图表示原来的数据集,可见该数据集是非线性可分的。但它有一个很明显的特征,对于这个数据集来说,可以找到一个中心点,计算样本到中心点的距离,使得中心点某个范围内的为一类,范围外的为另一类,这样就可以构建出一个特征函数,将原本非线性可分的数据集映射到线性可分的数据集上。(上面这个图是按照坐标(-1,-1)附近那个绿色中心点建立的,得到的结果就如右图所示)

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

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

相关文章

ubtun虚拟机安装

选择镜像后启动 选择第一个回车 加载完成后 &#xff0c;进入Ubuntu安装界面&#xff0c;安装语言选择English&#xff0c;完成后按一下回车&#xff1a; 此时弹出安装器可更新提示&#xff0c;下方选项选择第二个Continue without updating&#xff08;不更新&#xff0c;继续…

升级和维护老旧LabVIEW程序

在升级老旧LabVIEW程序至64位环境时&#xff0c;需要解决兼容性、性能和稳定性等问题。本文从软件升级、硬件兼容性、程序优化、故障修复等多个角度详细分析。具体包括64位迁移注意事项、修复页面跳转崩溃、解决关闭程序后残留进程的问题&#xff0c;确保程序在新环境中的平稳运…

k8s中的pod域名解析失败定位案例

问题描述 我在k8s中启动了一个Host网络模式的pod&#xff0c;这个pod的域名解析失败了。 定位步骤 敲kubectl exec -it [pod_name] -- bash进入pod后台&#xff0c;查看/etc/resolv.conf&#xff0c;发现nameserver配的有问题。这里我预期的nameserver应该使用宿主机的&…

亚马逊跟卖选品不再迷茫,适合跟卖卖家得一款选品软件工具!

对于刚开始做跟卖的卖家而言&#xff0c;刚开始最头疼的应该就是选品了吧&#xff0c;不知道跟卖什么产品&#xff0c;不是知道怎么有效的选择跟卖产品&#xff0c;所以很多卖家都会借助&#xff0c;选品软件来进行选品&#xff0c;这样不仅能提高选品的效率&#xff0c;还能帮…

对于机器学习的回答

一、什么是机器学习 机器学习&#xff08;Machine Learning&#xff09;是人工智能&#xff08;AI&#xff09;的一个子领域&#xff0c;它使计算机系统能够从数据中自动学习和改进&#xff0c;而无需明确编程。机器学习利用统计学和计算技术&#xff0c;构建能够识别数据中的模…

人工智能的社会应用:深刻变革的新浪潮

人工智能的社会应用&#xff08;语言文本方面&#xff09; 人工智能在社会应用中的广泛运用体现在多个领域&#xff0c;特别是在语音和文本处理方面。以下是这些技术的一些扩展&#xff1a; 1. 文本翻译&#xff1a; 谷歌翻译&#xff1a;利用深度学习模型&#xff0c;支持100多…

pom学习笔记:kimi的自动化操作

1.先看结构&#xff1a; 声明&#xff1a;我是初学&#xff0c;可能有不合理的地方。 2.Base层。 我是把原来一个kimi的自动问答的代码改过来。 分析&#xff1a;其实我是新手&#xff0c;因为我用的浏览器是固定的&#xff0c;也没有打算和别人用。所以浏览器层面年的全部写…

App UI 风格展现非凡创意

App UI 风格展现非凡创意

rust-强化练习

钓鱼不打窝&#xff0c;钓的也不多 语言只靠看不行&#xff0c;还得练&#xff0c;下面是AI生成的一些题目&#xff0c;后续直接肝LeeCode,一举2得 1、猜数字 描述&#xff1a;创建一个简单的猜数字游戏&#xff0c;程序会随机生成一个数字&#xff0c;玩家需要猜出这个数字是…

实验题目*:太阳风暴

本人承担实验内容&#xff08;以条目形式列出&#xff09;*&#xff1a; 输入处理和初始化 任务描述&#xff1a;负责处理输入数据并初始化相关变量和数组 参与本实验自我评价&#xff08;包括自己完成状况、在实验中的工作等&#xff09;*&#xff1a; 完成状况&#xff1a…

首件检验为什么这么重要?

首件检验是制造业生产过程中的一个重要环节&#xff0c;通常是在每个班次刚开始时或生产过程中的条件发生改变后&#xff08;如人员变动、材料更换、设备调整等&#xff09;&#xff0c;对加工的第一或前几件产品进行的专门检验。尤其在汽车零部件生产企业、电子制造企业广泛采…

将/root/anaconda3/bin目录添加到环境变量里面【Linux安装anaconda环境无法使用conda命令解决方法】

将 /root/anaconda3/bin 目录添加到环境变量里&#xff0c;需要编辑 ~/.bashrc 文件或 ~/.bash_profile 文件&#xff0c;并添加相应的 PATH 设置。以下是具体步骤&#xff1a; 编辑 ~/.bashrc 文件 使用文本编辑器打开 ~/.bashrc 文件&#xff1a; nano ~/.bashrc添加 Anaco…

算法训练营day58

题目1&#xff1a;392. 判断子序列 - 力扣&#xff08;LeetCode&#xff09; 暴力解法 class Solution { public:bool isSubsequence(string s, string t) {if(s.size() > t.size()) return false;if(s.size() < t.size()) {swap(s, t);}bool reslut false;int flag …

深入探索MySQL:性能调优与架构设计

大家好&#xff0c;今天我要和大家分享一本非常实用的技术书籍——《MySQL性能调优与架构设计》。无论你是数据库管理员、开发人员&#xff0c;还是对数据库优化感兴趣的技术爱好者&#xff0c;这本书都将为你打开MySQL性能优化的大门。 MySQL的世界 MySQL&#xff0c;作为最流…

光纤跳线(又称光纤连接器)的种类

光纤跳线&#xff08;又称光纤连接器&#xff09;&#xff0c;也就是接入光模块的光纤接头&#xff0c;也有好多种&#xff0c;且相互之间不可以互用。SFP模块接LC光纤连接器&#xff0c;而GBIC接的是SC光纤连接器。下面对网络工程中几种常用的光纤连接器进行详细的说明&#x…

arm64架构 统信UOS搭建PXE无盘启动Linux系统(麒麟桌面为例)

arm64架构 统信UOS搭建PXE无盘启动Linux系统&#xff08;麒麟桌面为例&#xff09; 搞了好久搞得头疼哎 1、准备服务器UOS服务器 准备服务IP 这里是192.168.1.100 1.1、安装程序 yum install -y dhcp tftp tftp-server xinetd nfs-utils rpcbind 2、修改配置 2.1、修改dhcpd.c…

直播带货连创新高!TikTok美区下半年将迎来集中爆发!

美区直播带短短两周时间&#xff0c;TikTok货迎来大爆发&#xff01; 5月31日&#xff0c;美国顶流美妆网红“Jeffree Star”&#xff0c;带货直播单场GMV创记录&#xff0c;销售额达到66.5万美元&#xff08;约482.4万人民币&#xff09;。紧接着&#xff0c;6月8日&#xff0…

docker拉取镜像失败超时的解决方法,docker配置国内镜像源

更换国内源 创建或修改 /etc/docker/daemon.json 文件 安装docker后一般只有 /etc/docker 这个目录 下面并没有 daemon.json 文件 我们直接创建 &#xff1a; vim /etc/docker/daemon.json {"registry-mirrors" : ["https://registry.docker-cn.com"…

AI 绘画工具详解:从基础原理到实践应用

AI 绘画工具详解:从基础原理到实践应用 引言 在当今数字化时代,人工智能(AI)技术已经深入到各行各业,其中,AI绘画工具作为人工智能与艺术创作的结合点,正逐渐成为创意领域的重要力量。从传统的手工绘画到数字绘画,再到现在的AI绘画,技术的发展不断拓展了艺术创作的边…

怎么提高音频的播放速度?提高音频播放速度的四种方法

怎么提高音频的播放速度&#xff1f;提高音频的播放速度是在处理音频文件时经常需要面对的问题。音频播放速度的调整可以带来多种应用场景和效果&#xff0c;例如加快语音记录的回放速度以节省时间、提高听力理解和语速训练的效果等。然而&#xff0c;对于不同的音频播放工具和…