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

本节均以二分类问题为例进行展开,统一定义类别标签 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;语言文本方面&#xff09; 人工智能在社会应用中的广泛运用体现在多个领域&#xff0c;特别是在语音和文本处理方面。以下是这些技术的一些扩展&#xff1a; 1. 文本翻译&#xff1a; 谷歌翻译&#xff1a;利用深度学习模型&#xff0c;支持100多…

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

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

App UI 风格展现非凡创意

App UI 风格展现非凡创意

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

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

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

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

直播带货连创新高!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"…

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

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

Eclipse创建Spring项目

第一步&#xff1a;先用Eclipse创建一个tomcat项目 打开eclipse 配置tomcat 这里点击add去添加tomcat 创建项目 写好项目名字&#xff0c;点击next 将这个Deploy path修改一下 配置一下项目&#xff0c;将项目部署到tomcat上面去 写个html测试一下 <html><h1>Hel…

云原生Kubernetes系列项目实战-k8s集群+高可用负载均衡层+防火墙

一、Kubernetes 区域可采用 Kubeadm 方式进行安装&#xff1a; 名称主机部署服务master192.168.91.10docker、kubeadm、kubelet、kubectl、flannelnode01192.168.91.11docker、kubeadm、kubelet、kubectl、flannelnode02192.168.91.20docker、kubeadm、kubelet、kubectl、flan…

python脚本实现arcgis离散型切片png格式十六进制名称转十进制名称

背景 Arcgis中离散型切片为png格式时,它的名称是十六进制格式的,而Arcgis不支持转为十进制格式的,所有需要自己写一个脚本来转换 效果 脚本 import osdef hex_to_dec(name):return str(int(name, 16))def

盘点|AI大模型时代,2024医疗器械网络安全应对与挑战(上)

6月5日&#xff0c;以“AI驱动安全”为主题&#xff0c;2024全球数字经济大会数字安全高层论坛&#xff0c;暨北京网络安全大会战略峰会在北京国家会议中心开幕。 与会专家指出&#xff0c;攻击者可利用人工智能技术生成网络攻击和网络钓鱼工具&#xff0c;网络安全从人人对抗、…

HarmonyOS(36) DevEco Studio 配置debug和release

在android开发中可以在build.gradle来配置realease和debug,在HarmonyOS中可以通过build-profile.json5文件中通过buildModeSet配置&#xff1a; 在DevEco Studio 中可以通过下面来选择运行debug还是release&#xff1a; 我们可以通过BuildProfile.ets里面的静态变量获取当前…

大模型推理优化

什么是大模型推理 **大模型推理其实就是大模型如何输出&#xff0c;怎么输出&#xff0c;输出什么的过程。**在人工智能的基础模型下&#xff0c;各种推理任务涵盖了多个领域&#xff0c;包括常识推理、数学推理、逻辑推理、因果推理、视觉推理、听觉推理、多模态推理和代理推…

计算机网络(5) ARP协议

什么是ARP 地址解析协议&#xff0c;即ARP&#xff08;Address Resolution Protocol&#xff09;&#xff0c;是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机&#xff0c;并接收返回消息&#xff0c;以此确定…

大模型的现状与未来:探索腾讯元宝APP及其他AIGC产品

前言 随着近日腾讯元宝APP的正式上线&#xff0c;国内大模型产品又添一员。近年来&#xff0c;随着人工智能技术的快速发展&#xff0c;AIGC&#xff08;AI生成内容&#xff09;产品逐渐成为技术与商业应用的热点。各大互联网厂商纷纷推出自己的大模型产品&#xff0c;以期在这…