感知机学习

news2024/11/25 14:32:55

定义

感知机:假设输入控件(特征空间)是 X ⊆ R n \mathcal{X} \subseteq \mathbb{R}^n XRn,输出空间是 Y = { + 1 , − 1 } \mathcal{Y}=\left\{+1, -1\right\} Y={+1,1},输入 x ∈ X \mathbf{x}\in\mathcal{X} xX表示实例的特征向量,对应于输入空间(特征空间)的点;输出 y ∈ Y y\in\mathcal{Y} yY表示实例的类别。由输入空间到输出空间的如下函数
f ( x ) = s i g n ( w ⋅ x + b ) f\left(\mathbf{x}\right) = \rm{sign}\left(\mathbf{w}\cdot \mathbf{x} + b\right) f(x)=sign(wx+b)
称为感知机,其中 w \mathbf{w} w b b b为感知机参数
s i g n ( x ) = { + 1 , x ≥ 0 − 1 , x < 0 \rm{sign}\left(x\right) = \begin{cases} +1, & x\ge 0\\ -1, & x < 0 \end{cases} sign(x)={+1,1,x0x<0
在这里插入图片描述

学习策略

数据集的线性可分性

给定一个数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T = \left\{\left(\mathbf{x}_1, y_1\right), \left(\mathbf{x}_2, y_2\right),\cdots, \left(\mathbf{x}_N, y_N\right)\right\} T={(x1,y1),(x2,y2),,(xN,yN)}
其中 x i ∈ X = R n , y i ∈ Y = { + 1 , − 1 } \mathbf{x}_i \in \mathcal{X} = \mathbb{R}^n, y_i\in\mathcal{Y} = \left\{+1, -1\right\} xiX=Rn,yiY={+1,1}
如果存在某个超平面 S S S
w ⋅ x + b = 0 \mathbf{w}\cdot \mathbf{x} + b = 0 wx+b=0
能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,即对所有 y i = + 1 y_i = +1 yi=+1的实例 i i i,有 w ⋅ x i + b > 0 \mathbf{w}\cdot \mathbf{x}_i + b > 0 wxi+b>0;对所有 y i = − 1 y_i = -1 yi=1的实例 i i i,有 w ⋅ x i + b < 0 \mathbf{w}\cdot \mathbf{x}_i + b <0 wxi+b<0,则称数据集 T T T为线性可分数据集(linearly separable data set),否则,称数据集 T T T线性不可分

学习策略

假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练集正实例点和负实例点完全正确分开的分离超平面。

感知机所采用的损失函数是误分类点到超平面 S S S的总距离。

首先输入空间 R n \mathbf{R}^n Rn中任一点 x 0 \mathbf{x}_0 x0到超平面的距离:
1 ∥ w ∥ ∣ w ⋅ x 0 + b ∣ \frac{1}{\|\mathbf{w}\|} \left|\mathbf{w}\cdot \mathbf{x}_0 + b\right| w1wx0+b

其次,对于误分类数据 ( x i , y i ) \left(\mathbf{x}_i, y_i\right) (xi,yi)来说,
− y i ( w ⋅ x i + b ) > 0 -y_i\left(\mathbf{w}\cdot \mathbf{x}_i + b\right) > 0 yi(wxi+b)>0
因此,误分类点 x i \mathbf{x}_i xi到超平面 S S S的距离是
− 1 ∥ w ∥ y i ( w ⋅ x i + b ) -\frac{1}{\|\mathbf{w}\|}y_i\left(\mathbf{w}\cdot \mathbf{x}_i + b\right) w1yi(wxi+b)
假设超平面 S S S的误分类点集合为 M M M, 那么所有误分类点到超平面 S S S的总距离为
− 1 ∥ w ∥ ∑ x i ∈ M y i ( w ⋅ x i + b ) -\frac{1}{\|\mathbf{w}\|}\sum_{\mathbf{x}_i\in M}y_i\left(\mathbf{w}\cdot \mathbf{x}_i + b\right) w1xiMyi(wxi+b)
不考虑 1 ∥ w ∥ \frac{1}{\|\mathbf{w}\|} w1,就是感知机学习的损失函数

给定训练数据
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T = \left\{\left(\mathbf{x}_1, y_1\right), \left(\mathbf{x}_2, y_2\right),\cdots, \left(\mathbf{x}_N, y_N\right)\right\} T={(x1,y1),(x2,y2),,(xN,yN)}
其中 x i ∈ X = R n , y i ∈ Y = { + 1 , − 1 } \mathbf{x}_i \in \mathcal{X} = \mathbb{R}^n, y_i\in\mathcal{Y} = \left\{+1, -1\right\} xiX=Rn,yiY={+1,1}
感知机 s i g n ( w ⋅ x + b ) \rm{sign}\left(\mathbf{w}\cdot \mathbf{x} + b\right) sign(wx+b)学习的损失函数定义为
L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) L\left(\mathbf{w}, b\right) = -\sum_{\mathbf{x}_i \in M} y_i\left(\mathbf{w}\cdot \mathbf{x}_i + b\right) L(w,b)=xiMyi(wxi+b)
其中 M M M为误分类点的集合

感知机学习算法

原始形式

给定训练数据
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T = \left\{\left(\mathbf{x}_1, y_1\right), \left(\mathbf{x}_2, y_2\right),\cdots, \left(\mathbf{x}_N, y_N\right)\right\} T={(x1,y1),(x2,y2),,(xN,yN)}
其中 x i ∈ X = R n , y i ∈ Y = { + 1 , − 1 } \mathbf{x}_i \in \mathcal{X} = \mathbb{R}^n, y_i\in\mathcal{Y} = \left\{+1, -1\right\} xiX=Rn,yiY={+1,1}
求参数 w , b \mathbf{w}, b w,b,使其为一下损失函数极小化问题的解
min ⁡ L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) \min L\left(\mathbf{w}, b\right) = -\sum_{\mathbf{x}_i \in M} y_i\left(\mathbf{w}\cdot \mathbf{x}_i + b\right) minL(w,b)=xiMyi(wxi+b)
其中 M M M为误分类点的集合

感知机学习算法是误分类驱动的,具体采用随机梯度下降法
首先任取一个超平面 w 0 , b 0 \mathbf{w}_0, b_0 w0,b0,然后采用梯度下降法不断极小化目标函数
极小化过程中不是一次使 M M M中所有的误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降

∇ w L = − ∑ x i ∈ M y i x i ∇ b L = − ∑ x i ∈ M y i \nabla_{\mathbf{w}} L = -\sum_{\mathbf{x}_i \in M}y_i\mathbf{x}_i\\ \nabla_{b} L = -\sum_{\mathbf{x}_i \in M}y_i\\ wL=xiMyixibL=xiMyi

感知机学习算法的原始形式

输入: T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T = \left\{\left(\mathbf{x}_1, y_1\right), \left(\mathbf{x}_2, y_2\right),\cdots, \left(\mathbf{x}_N, y_N\right)\right\} T={(x1,y1),(x2,y2),,(xN,yN)},其中 x i ∈ X = R n , y i ∈ Y = { + 1 , − 1 } \mathbf{x}_i \in \mathcal{X} = \mathbb{R}^n, y_i\in\mathcal{Y} = \left\{+1, -1\right\} xiX=Rn,yiY={+1,1};学习率 η ( 0 < η ≤ 1 ) \eta\left(0 < \eta \le 1\right) η(0<η1)
输出: w , b \mathbf{w}, b w,b;感知机模型 f ( x ) = s i g n ( w ⋅ x + b ) f\left(x\right) = \rm{sign} \left(\mathbf{w}\cdot \mathbf{x} + b\right) f(x)=sign(wx+b)

(1)选取初始值 w 0 , b 0 \mathbf{w}_0, b_0 w0,b0
(2)在训练中选取数据集 ( x i , y i ) \left(\mathbf{x}_i, y_i\right) (xi,yi)
(3)如果 y i ( w ⋅ x + b ) ≤ 0 y_i\left(\mathbf{w}\cdot\mathbf{x} + b\right) \le 0 yi(wx+b)0
w ← w + η y i x i b ← b + η y i \mathbf{w} \leftarrow \mathbf{w} + \eta y_i \mathbf{x}_i\\ b \leftarrow b + \eta y_i ww+ηyixibb+ηyi
(4)转至(2)直至训练集中没有误分类点

根据选择错误点的顺序,得到的结果可能也不同

收敛性

w ^ = ( w b ) , x ^ = ( x 1 ) \hat{\mathbf{w}} = \begin{pmatrix}\mathbf{w}\\b\\\end{pmatrix}, \hat{\mathbf{x}} = \begin{pmatrix}\mathbf{x}\\1\\\end{pmatrix} w^=(wb),x^=(x1)
因此 w ^ ⋅ x ^ = w ⋅ x + b \hat{\mathbf{w}}\cdot \hat{\mathbf{x}} = \mathbf{w} \cdot \mathbf{x} + b w^x^=wx+b

Novikoff定理:设训练集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T = \left\{\left(\mathbf{x}_1, y_1\right), \left(\mathbf{x}_2, y_2\right),\cdots, \left(\mathbf{x}_N, y_N\right)\right\} T={(x1,y1),(x2,y2),,(xN,yN)}线性可分,其中 x i ∈ X = R n , y i ∈ Y = { + 1 , − 1 } \mathbf{x}_i \in \mathcal{X} = \mathbb{R}^n, y_i\in\mathcal{Y} = \left\{+1, -1\right\} xiX=Rn,yiY={+1,1}
(1)存在满足条件 ∥ w ^ o p t ∥ = 1 \|\hat{\mathbf{w}}_{opt}\| = 1 w^opt=1的超平面 w ^ o p t ⋅ x ^ = 0 \hat{\mathbf{w}}_{opt} \cdot \hat{\mathbf{x}} =0 w^optx^=0将训练数据集完全正确分开;且存在 γ > 0 \gamma > 0 γ>0使得
y i ( w ^ o p t ⋅ x ^ i ) ≥ γ y_i \left(\hat{\mathbf{w}}_{opt} \cdot \hat{\mathbf{x}}_i\right)\ge \gamma yi(w^optx^i)γ
(2)令 R = max ⁡ 1 ≤ i ≤ N ∥ x ^ i ∥ R = \max\limits_{1 \le i \le N}\|\hat{\mathbf{x}}_i\| R=1iNmaxx^i,则感知机算法在训练数据集上的误分类次数 k k k满足
k ≤ ( R γ ) 2 k \le \left(\frac{R}{\gamma}\right)^2 k(γR)2

证明:
(1)由线性可分的定义,显然存在满足条件 ∥ w ^ o p t ∥ = 1 \|\hat{\mathbf{w}}_{opt}\| = 1 w^opt=1的超平面 w ^ o p t ⋅ x ^ = 0 \hat{\mathbf{w}}_{opt} \cdot \hat{\mathbf{x}} =0 w^optx^=0
γ = min ⁡ i y i ( w ^ o p t ⋅ x ^ i ) \gamma = \min\limits_{i} y_i \left(\hat{\mathbf{w}}_{opt} \cdot \hat{\mathbf{x}}_i\right) γ=iminyi(w^optx^i),结论成立
(2)
w ^ 0 = 0 \hat{\mathbf{w}}_0 = \mathbf{0} w^0=0,如果实例被误分类,则更新权重
w ^ k − 1 \hat{\mathbf{w}}_{k-1} w^k1使第 k k k个误分类实例之前的权重,则
y i ( w ^ k − 1 ) ⋅ x ^ i ≤ 0 y_i\left(\hat{\mathbf{w}}_{k-1}\right) \cdot \hat{\mathbf{x}}_i \le 0 yi(w^k1)x^i0
并且
w ^ k = w ^ k − 1 + η y i x ^ i \hat{\mathbf{w}}_k = \hat{\mathbf{w}}_{k-1} + \eta y_i\hat{\mathbf{x}}_i w^k=w^k1+ηyix^i

w ^ k ⋅ w ^ o p t = w ^ k − 1 ⋅ w ^ o p t + η y i ( x ^ i ⋅ w ^ o p t ) ≥ w ^ k − 1 ⋅ w ^ o p t + η γ ≥ k η γ \begin{aligned} \hat{\mathbf{w}}_k \cdot \hat{\mathbf{w}}_{opt} &= \hat{\mathbf{w}}_{k-1}\cdot \hat{\mathbf{w}}_{opt} + \eta y_i\left(\hat{\mathbf{x}}_i\cdot \hat{\mathbf{w}}_{opt}\right)\\ &\ge\hat{\mathbf{w}}_{k-1}\cdot \hat{\mathbf{w}}_{opt} + \eta\gamma\\ &\ge k\eta\gamma \end{aligned} w^kw^opt=w^k1w^opt+ηyi(x^iw^opt)w^k1w^opt+ηγkηγ

根据 y i ( w ^ k − 1 ) ⋅ x ^ i ≤ 0 y_i\left(\hat{\mathbf{w}}_{k-1}\right) \cdot \hat{\mathbf{x}}_i \le 0 yi(w^k1)x^i0,有
∥ w ^ k ∥ 2 = ∥ w ^ k − 1 ∥ 2 + 2 η y i ( w ^ k − 1 ⋅ x ^ i ) + η 2 y i 2 ∥ x ^ i ∥ 2 = ∥ w ^ k − 1 ∥ 2 + 2 η y i ( w ^ k − 1 ⋅ x ^ i ) + η 2 ∥ x ^ i ∥ 2 ≤ ∥ w ^ k − 1 ∥ 2 + η 2 ∥ x ^ i ∥ 2 ≤ ∥ w ^ k − 1 ∥ 2 + η 2 R 2 ≤ k η 2 R 2 \begin{aligned} \|\hat{\mathbf{w}}_k\|^2 &= \|\hat{\mathbf{w}}_{k-1}\|^2 + 2\eta y_i \left(\hat{\mathbf{w}}_{k-1}\cdot \hat{\mathbf{x}}_i\right) + \eta^2 y_i^2 \|\hat{\mathbf{x}}_i\|^2\\ &= \|\hat{\mathbf{w}}_{k-1}\|^2 + 2\eta y_i \left(\hat{\mathbf{w}}_{k-1}\cdot \hat{\mathbf{x}}_i\right) + \eta^2 \|\hat{\mathbf{x}}_i\|^2\\ &\le \|\hat{\mathbf{w}}_{k-1}\|^2 + \eta^2 \|\hat{\mathbf{x}}_i\|^2\\ &\le \|\hat{\mathbf{w}}_{k-1}\|^2 + \eta^2 R^2\\ &\le k \eta^2 R^2 \end{aligned} w^k2=w^k12+2ηyi(w^k1x^i)+η2yi2x^i2=w^k12+2ηyi(w^k1x^i)+η2x^i2w^k12+η2x^i2w^k12+η2R2kη2R2
因此
k η γ ≤ w ^ k ⋅ w ^ o p t ≤ ∥ w ^ k ∥ ∥ w ^ o p t ∥ = ∥ w ^ k ∥ ≤ k η R k\eta \gamma \le \hat{\mathbf{w}}_k \cdot \hat{\mathbf{w}}_{opt} \le \|\hat{\mathbf{w}}_k \|\| \hat{\mathbf{w}}_{opt}\|=\|\hat{\mathbf{w}}_k \|\le \sqrt{k} \eta R kηγw^kw^optw^k∥∥w^opt=w^kk ηR
因此
k ≤ ( R γ ) 2 k \le \left(\frac{R}{\gamma}\right)^2 k(γR)2

参考:
统计学习方法(李航)
https://www.cntofu.com/book/48/gan-zhi-xue-xi-ji.md
https://zhuanlan.zhihu.com/p/361176523

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

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

相关文章

使用Pano2VR实现背景音乐、放大/缩小、旋转、缩略图和直线/立体/鱼眼模式等

内容简介 本文在文章《使用Pano2VR实现客厅VR效果》基础上&#xff0c;增加背景音乐、放大/缩小、旋转、缩略图和直线/立体/鱼眼模式等&#xff1b;效果如下图&#xff08;为了可以上传缩小屏幕&#xff0c;属于PC端运行&#xff09;&#xff1a; 实现过程 1. 运行Pano2VR软件后…

【初学人工智能原理】【1】一元一次函数:感知器如何描述直觉

前言 本文教程均来自b站【小白也能听懂的人工智能原理】&#xff0c;感兴趣的可自行到b站观看。 本文【原文】章节来自课程的对白&#xff0c;由于缺少图片可能无法理解&#xff0c;故放到了最后&#xff0c;建议直接看代码&#xff08;代码放到了前面&#xff09;。 代码实…

企业管理中,如何组建数据团队

数字化已经成为了当前时代的标志&#xff0c;也变为人们对未来社会发展的共识&#xff0c;一时间数字化相关技术、理念、应用都开始向各行各业普及。此时人工智能、云计算、大数据、互联网、物联网等的发展也越来越快&#xff0c;给人们的生活和企业的经营管理模式带来了深刻改…

设计模式 -- 原型模式

前言 月是一轮明镜,晶莹剔透,代表着一张白纸(啥也不懂) 央是一片海洋,海乃百川,代表着一块海绵(吸纳万物) 泽是一柄利剑,千锤百炼,代表着千百锤炼(输入输出) 月央泽,学习的一种过程,从白纸->吸收各种知识->不断输入输出变成自己的内容 希望大家一起坚持这个过程,也同…

【问题解决】RabbitMQ启动出现epmd error for host xx.xx: nxdomain (non-existing domain)

问题描述 【k8s】或【普通容器】或【Linux】部署的RabbitMQ启动时出现了 epmd error for host xx.xx: nxdomain (non-existing domain) 错误&#xff0c;MQ无法启动成功。 其中 xx.xx 为无法解析的域名。 RabbitMQ官方还提到报错 Error during startup: {error,no_epmd_port}…

回归区间预测 | Matlab基于分位数随机森林算法(QRF)的回归预测

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 Matlab基于分位数随机森林算法(QRF)的回归预测,matlab代码。 基于分位数随机森林算法(QRF)回归预测,matiab代码,单变量输入模型。 评价指标包括:R2、MAE、MSE、RMSE和区间覆盖率和区间平均宽度百分比等,代码质…

【软件测试】自动化测试日志问题该怎么解决?测试老鸟总结方案...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 Python自动化测试&…

Leetcode力扣秋招刷题路-0801

从0开始的秋招刷题路&#xff0c;记录下所刷每道题的题解&#xff0c;帮助自己回顾总结 801. 使序列递增的最小交换次数 我们有两个长度相等且不为空的整型数组 nums1 和 nums2 。在一次操作中&#xff0c;我们可以交换 nums1[i] 和 nums2[i]的元素。 例如&#xff0c;如果 …

为什么越来越多的人开始学习大数据了?

现在&#xff0c;在数字化转型的推动下&#xff0c;越来越多的企业意识到大数据的魅力&#xff0c;并不断在这个领域投入资金&#xff0c;Python大数据开发相关人才也备受青睐&#xff01; 大数据从业领域很宽广&#xff0c;不管是科技领域还是食品产业&#xff0c;零售业等都…

大数据行业就业前景怎么样呢

就目前的前景来看&#xff0c;大数据的发展的确的非常不错的~ 既然回答大数据的问题&#xff0c;那就让我们到用数据的方式来回答一下。大数据需求越来越多&#xff0c;只有技术在手不愁找不到工作。 先来看几个招聘网站的报告数据&#xff1a;Boss直聘发布的&#xff0c;今年…

Zynq-7000、FMQL45T900的GPIO控制(七)---linux驱动层配置GPIO中断输入

本文使用的驱动代码 (1条消息) FMQL45T900linux驱动外部中断输入ZYNQ-7000linux驱动外部中断输入资源-CSDN文库 在Zynq-7000、FMQL45T900驱动层也时常会用到对GPIO的控制&#xff0c;这里就针对实际使用的情况进行说明&#xff0c;首先根据之前的帖子确实使用GPIO编号 这里采…

从不均匀性角度浅析AB实验 | 京东云技术团队

作者&#xff1a;京东零售 路卫强 本篇的目的是从三个不均匀性的角度,对AB实验进行一个认知的普及,最终着重讲述AB实验的一个普遍的问题&#xff0c;即实验准确度问题。 一、AB实验场景 在首页中&#xff0c;我们是用红色基调还是绿色基调&#xff0c;是采用门店小列表外商品…

C++ 探索程序 详细解读程序在运行过程中都发生了什么

目录 头文件-源代码 头文件重复包含 问题 解决方案 程序生成过程 预处理Preprocessi 编译Compilation 汇编Assembly 链接Linking 编译期-运行期 编译期确定 运行期确定 编译期错误 运行期错误 类和对象 宏 宏的其他用法 头文件-源代码 头文件&#xff08;.h&am…

Baklib分享:关于FAQ页面的一些制作技巧

FAQ页面&#xff08;Frequently Asked Questions&#xff09;是企业网站中常见的一种页面&#xff0c;主要用于解答客户常见的问题。一个优秀的FAQ页面不仅能够提高客户的满意度&#xff0c;还能够减轻客服部门的工作量。下面将介绍一些制作FAQ页面的技巧&#xff0c;并推荐使用…

Mysql使用函数后不走索引怎么优化?

网上很多人说mysql一旦使用函数就不走函数&#xff0c;但是事实真的是如此吗&#xff1f;我先说明&#xff0c;并不是如此的&#xff0c;本篇文章会通过DAYOFWEEK()和substr()两个函数作为条件查询&#xff0c;看看究竟是否会走索引&#xff08;其他函数同理&#xff09;&#…

15.基于主从博弈的智能小区代理商定价策略及电动汽车充电管理

说明书 MATLAB代码&#xff1a;基于主从博弈的智能小区代理商定价策略及电动汽车充电管理 关键词&#xff1a;电动汽车 主从博弈 动态定价 智能小区 充放电优化 参考文档&#xff1a;《基于主从博弈的智能小区代理商定价策略及电动汽车充电管理》基本复现 仿真平台&#…

【ChatGPT】如何修复access denied you do not have access to chat.openai.com

文章目录 一、前言二、是什么导致 ChatGPT 访问被拒绝错误&#xff1f;三、如何修复 OpenAI 上的访问被拒绝&#xff1f;3.1 清除 Cookies 和缓存3.2 检查账户登录凭证3.3 允许请求的权限3.4 从其他浏览器登录OpenAI3.5 联系 OpenAI 客户支持 四、ChatGPT 支持的国家和地区 一、…

delphi使用Edge Browser浏览器组件

RAD Studio 10.4在VCL Web浏览器上具有一项新功能。它是Edge Browser&#xff0c;它具有新功能&#xff0c;并且比以前的Web浏览器更具兼容性。 这是在C Builder和Delphi中使用Edge浏览器的快速帮助。 在Windows上安装“ Edge ”版本从RAD Studio的GetIt菜单下载“ Edge SDK…

JMeter的使用(二)

九、直连数据库 通过直连数据库让程序代替接口访问数据库&#xff0c;如果二者预期结果不一致&#xff0c;就找到了程序缺陷。 获取某条学院的名字&#xff0c;放在百度搜索: JMeter 不具备直连数据库功能&#xff0c;必须整合第三方(jar包)实现配置数据库的连接通过JDBC Re…

token 登录流程

客户端用账号密码请求登录服务端收到请求&#xff0c;验证账号密码验证成功后&#xff0c;服务端签发token&#xff0c;发送给客户端客户端收到token&#xff0c;保存下来客户端每次向服务器发送请求资源&#xff0c;都携带token服务器验证token验证成功&#xff0c;返回资源