当前位置: 首页 > news >正文

支持向量机(二)

文章目录

  • 前言
  • 具体内容

前言

总算要对稍微有点难度的地方动手了,前面介绍的线性可分或者线性不可分的情况,都是使用平面作为分割面的,现在我们采用另一种分割面的设计方法,也就是核方法。
核方法涉及的分割面不再是 w x + b = 0 wx+b=0 wx+b=0,而是 f ( x ) = 0 f(x)=0 f(x)=0了。

具体内容

核方法其实就是坐标映射方法,类似于我们进行回归的时候对于反函数曲线采用 y = w x + b y=\frac{w}{x}+b y=xw+b的形式来对数据进行拟合。
我们常用的标准做法都是先将原始数据 x x x映射为 1 x \frac{1}{x} x1,然后对于数据 ( 1 x , y ) (\frac{1}{x},y) (x1,y)寻找线性函数 y = k t + b y=kt+b y=kt+b来拟合。

在非线性支持向量机中,我们需要把原始特征x通过映射函数变换为 ϕ ( x ) \phi(x) ϕ(x),对于这个映射函数没有什么要求,只不过什么样的映射函数映射以后分类效果最佳是未知的,是需要通过比较才能发现的。
映射函数一般都是把原始特征 x x x变为另一个向量 [ 1 , x 1 , ⋯ , x n , x 1 2 , ⋯ , x i x j , ⋯ , x n 2 , ⋯ ] [1,x_1,\cdots,x_n,x_1^2,\cdots,x_ix_j,\cdots,x_n^2,\cdots] [1,x1,,xn,x12,,xixj,,xn2,]其中的一项或者几项,具体是几项视具体情况确定,这个的目标是保留原始信息同时要增加尽可能多的生成信息,所以一般往高维方向映射。
当然这个函数设计好以后,我们在支持向量机的对偶函数中其实计算的是 K ( x i , x j ) K(x_i,x_j) K(xi,xj),这个函数是上面映射函数的乘积,可能计算更加复杂,所以从方便对偶函数的计算角度出发,设计了专门的对偶核函数,不过对偶核函数是有要求的,需要对所有特征 x x x所构成的gram矩阵是半正定的。
而这种情况下我们可以设计方便计算的核函数,比如:
多项式核函数: K ( x , z ) = ( x ⋅ z + 1 ) p K(x,z)=(x\cdot z+1)^p K(x,z)=(xz+1)p,计算难度大大减小,而且这个多项式核函数对应的映射函数也比较好求:
K ( x , z ) = ( x ⋅ z + 1 ) 2 = ( x 1 z 1 + x 2 z 2 + 1 ) 2 = x 1 2 z 1 2 + 2 x 1 x 2 z 1 z 2 + 2 x 1 z 1 + x 2 2 z 2 2 + 2 x 2 z 2 + 1 = [ x 1 2 , 2 x 1 x 2 , 2 x 1 , x 2 2 , 2 x 2 , 1 ] ∗ [ z 1 2 , 2 z 1 z 2 , 2 z 1 , z 2 2 , 2 z 2 , 1 ] T \begin{align*} K(x,z)&=(x\cdot z+1)^2\\ &=(x_1z_1+x_2z_2+1)^2\\ &=x_1^2z_1^2+2x_1x_2z_1z_2+2x_1z_1+x_2^2z_2^2+2x_2z_2+1\\ &=[x_1^2,\sqrt{2}x_1x_2,\sqrt{2}x_1,x_2^2,\sqrt{2}x_2,1]*[z_1^2,\sqrt{2}z_1z_2,\sqrt{2}z_1,z_2^2,\sqrt{2}z_2,1]^T \end{align*} K(x,z)=(xz+1)2=(x1z1+x2z2+1)2=x12z12+2x1x2z1z2+2x1z1+x22z22+2x2z2+1=[x12,2 x1x2,2 x1,x22,2 x2,1][z12,2 z1z2,2 z1,z22,2 z2,1]T

相当于截取了泰勒展开式中的前几项。
换句话说,如果我们想将坐标映射为 [ 1 , x 1 , x 2 , x 1 2 , x 1 x 2 , x 2 2 ] [1,x_1,x_2,x_1^2,x_1x_2,x_2^2] [1,x1,x2,x12,x1x2,x22],然后利用映射后的坐标来计算 w [ 1 , x 1 , x 2 , x 1 2 , x 1 x 2 , x 2 2 ] T + b w[1,x_1,x_2,x_1^2,x_1x_2,x_2^2]^T+b w[1,x1,x2,x12,x1x2,x22]T+b来作为判别函数,那么这个分界面问题的对偶函数中 ϕ ( x i ) ϕ ( x j ) \phi(x_i)\phi(x_j) ϕ(xi)ϕ(xj)就是上面的 ( x ⋅ z + 1 ) p (x\cdot z+1)^p (xz+1)p的形式,也就是我们不用知道中间映射后的坐标,而可以直接计算 ( x i ⋅ x j + 1 ) p (x_i\cdot x_j+1)^p (xixj+1)p

高斯核函数; K ( x , z ) = exp ⁡ ( − ∥ x − z ∥ 2 2 σ 2 ) K(x,z)=\exp(-\frac{{\|x-z\|}^2}{2\sigma^2}) K(x,z)=exp(2σ2xz2),计算难度大大减小,但是这个核函数对应的映射函数不容易求出来。
K ( x , z ) = exp ⁡ ( − ( x 1 − z 1 ) 2 + ( x 2 − z 2 ) 2 2 σ 2 ) = exp ⁡ ( − x 1 2 + z 1 2 − 2 x 1 z 1 + x 2 2 + z 2 2 − 2 x 2 z 2 2 σ 2 ) = exp ⁡ ( − x 1 2 2 σ 2 ) exp ⁡ ( − z 1 2 2 σ 2 ) exp ⁡ ( − x 2 2 2 σ 2 ) exp ⁡ ( − z 2 2 2 σ 2 ) exp ⁡ ( 2 x 1 z 1 2 σ 2 ) exp ⁡ ( 2 x 2 z 2 2 σ 2 ) = exp ⁡ ( − x 1 2 2 σ 2 ) exp ⁡ ( − z 1 2 2 σ 2 ) exp ⁡ ( − x 2 2 2 σ 2 ) exp ⁡ ( − z 2 2 2 σ 2 ) [ 1 + 2 x 1 z 1 2 σ 2 + ⋯ + 1 n ! ( 2 x 1 z 1 2 σ 2 ) n + ⋯ ] [ 1 + 2 x 2 z 2 2 σ 2 + ⋯ + 1 n ! ( 2 x 2 z 2 2 σ 2 ) n + ⋯ ] = exp ⁡ ( − x 1 2 2 σ 2 ) exp ⁡ ( − z 1 2 2 σ 2 ) exp ⁡ ( − x 2 2 2 σ 2 ) exp ⁡ ( − z 2 2 2 σ 2 ) [ ∑ t = 0 + ∞ ∑ k = 0 + ∞ 1 t ! ( 2 x 1 z 1 2 σ 2 ) t 1 k ! ( 2 x 2 z 2 2 σ 2 ) k ] = exp ⁡ ( − x 1 2 2 σ 2 ) exp ⁡ ( − x 2 2 2 σ 2 ) [ 1 , x 1 σ , ⋯ , 1 n ! ( x 1 σ ) n , ⋯ , x 2 σ , x 1 x 2 σ 2 , ⋯ , 1 n ! ( x 1 n x 2 σ n + 1 ) , ⋯ , 1 t ! n ! x 1 t x 2 n σ t + n , ⋯ ] ∗ exp ⁡ ( − z 1 2 2 σ 2 ) exp ⁡ ( − z 2 2 2 σ 2 ) [ 1 , z 1 σ , ⋯ , 1 n ! ( z 1 σ ) n , ⋯ , z 2 σ , z 1 z 2 σ 2 , ⋯ , 1 n ! ( z 1 n z 2 σ n + 1 ) , ⋯ , 1 t ! n ! z 1 t z 2 n σ t + n , ⋯ ] \begin{align*} K(x,z)=&\exp(-\frac{(x_1-z_1)^2+(x_2-z_2)^2}{2\sigma^2})\\ =&\exp(-\frac{x_1^2+z_1^2-2x_1z_1+x_2^2+z_2^2-2x_2z_2}{2\sigma^2})\\ =&\exp(-\frac{x_1^2}{2\sigma^2})\exp(-\frac{z_1^2}{2\sigma^2})\exp(-\frac{x_2^2}{2\sigma^2})\exp(-\frac{z_2^2}{2\sigma^2})\exp(\frac{2x_1z_1}{2\sigma^2})\exp(\frac{2x_2z_2}{2\sigma^2})\\ =&\exp(-\frac{x_1^2}{2\sigma^2})\exp(-\frac{z_1^2}{2\sigma^2})\exp(-\frac{x_2^2}{2\sigma^2})\exp(-\frac{z_2^2}{2\sigma^2})[1+\frac{2x_1z_1}{2\sigma^2}+\cdots+\frac{1}{n!}(\frac{2x_1z_1}{2\sigma^2})^n+\cdots][1+\frac{2x_2z_2}{2\sigma^2}+\cdots+\frac{1}{n!}(\frac{2x_2z_2}{2\sigma^2})^n+\cdots]\\ =&\exp(-\frac{x_1^2}{2\sigma^2})\exp(-\frac{z_1^2}{2\sigma^2})\exp(-\frac{x_2^2}{2\sigma^2})\exp(-\frac{z_2^2}{2\sigma^2})[\sum_{t=0}^{+\infty}\sum_{k=0}^{+\infty}\frac{1}{t!}(\frac{2x_1z_1}{2\sigma^2})^t\frac{1}{k!}(\frac{2x_2z_2}{2\sigma^2})^k]\\ =&\exp(-\frac{x_1^2}{2\sigma^2})\exp(-\frac{x_2^2}{2\sigma^2})[1,\frac{x_1}{\sigma},\cdots,\sqrt{\frac{1}{n!}}(\frac{x_1}{\sigma})^n,\cdots,\frac{x_2}{\sigma},\frac{x_1x_2}{\sigma^2},\cdots,\sqrt{\frac{1}{n!}}(\frac{x_1^nx_2}{\sigma^{n+1}}),\cdots,\sqrt{\frac{1}{t!n!}}\frac{x_1^tx_2^n}{\sigma^{t+n}},\cdots]*\\ &\exp(-\frac{z_1^2}{2\sigma^2})\exp(-\frac{z_2^2}{2\sigma^2})[1,\frac{z_1}{\sigma},\cdots,\sqrt{\frac{1}{n!}}(\frac{z_1}{\sigma})^n,\cdots,\frac{z_2}{\sigma},\frac{z_1z_2}{\sigma^2},\cdots,\sqrt{\frac{1}{n!}}(\frac{z_1^nz_2}{\sigma^{n+1}}),\cdots,\sqrt{\frac{1}{t!n!}}\frac{z_1^tz_2^n}{\sigma^{t+n}},\cdots] \end{align*} K(x,z)======exp(2σ2(x1z1)2+(x2z2)2)exp(2σ2x12+z122x1z1+x22+z222x2z2)exp(2σ2x12)exp(2σ2z12)exp(2σ2x22)exp(2σ2z22)exp(2σ22x1z1)exp(2σ22x2z2)exp(2σ2x12)exp(2σ2z12)exp(2σ2x22)exp(2σ2z22)[1+2σ22x1z1++n!1(2σ22x1z1)n+][1+2σ22x2z2++n!1(2σ22x2z2)n+]exp(2σ2x12)exp(2σ2z12)exp(2σ2x22)exp(2σ2z22)[t=0+k=0+t!1(2σ22x1z1)tk!1(2σ22x2z2)k]exp(2σ2x12)exp(2σ2x22)[1,σx1,,n!1 (σx1)n,,σx2,σ2x1x2,,n!1 (σn+1x1nx2),,t!n!1 σt+nx1tx2n,]exp(2σ2z12)exp(2σ2z22)[1,σz1,,n!1 (σz1)n,,σz2,σ2z1z2,,n!1 (σn+1z1nz2),,t!n!1 σt+nz1tz2n,]

所以两个映射函数分别如上所示:
ϕ ( x ) = exp ⁡ ( − x 1 2 2 σ 2 ) exp ⁡ ( − x 2 2 2 σ 2 ) [ 1 , x 1 σ , ⋯ , 1 n ! ( x 1 σ ) n , ⋯ , x 2 σ , x 1 x 2 σ 2 , ⋯ , 1 n ! ( x 1 n x 2 σ n + 1 ) , ⋯ , 1 t ! n ! x 1 t x 2 n σ t + n , ⋯ ] \phi(x)=\exp(-\frac{x_1^2}{2\sigma^2})\exp(-\frac{x_2^2}{2\sigma^2})[1,\frac{x_1}{\sigma},\cdots,\sqrt{\frac{1}{n!}}(\frac{x_1}{\sigma})^n,\cdots,\frac{x_2}{\sigma},\frac{x_1x_2}{\sigma^2},\cdots,\sqrt{\frac{1}{n!}}(\frac{x_1^nx_2}{\sigma^{n+1}}),\cdots,\sqrt{\frac{1}{t!n!}}\frac{x_1^tx_2^n}{\sigma^{t+n}},\cdots] ϕ(x)=exp(2σ2x12)exp(2σ2x22)[1,σx1,,n!1 (σx1)n,,σx2,σ2x1x2,,n!1 (σn+1x1nx2),,t!n!1 σt+nx1tx2n,]

如果只看后面的向量的话,他就是泰勒展开式中各个项,但是它前面还乘上了系数 exp ⁡ ( − x 1 2 2 σ 2 ) exp ⁡ ( − x 2 2 2 σ 2 ) \exp(-\frac{x_1^2}{2\sigma^2})\exp(-\frac{x_2^2}{2\sigma^2}) exp(2σ2x12)exp(2σ2x22)缩放了一下。
换句话说,这个映射函数把原始特征映射为了一个无穷维的坐标,我们实际上做的是用这个映射后的坐标 exp ⁡ ( − x 1 2 2 σ 2 ) exp ⁡ ( − x 2 2 2 σ 2 ) [ 1 , x 1 σ , ⋯ , 1 n ! ( x 1 σ ) n , ⋯ , x 2 σ , x 1 x 2 σ 2 , ⋯ , 1 n ! ( x 1 n x 2 σ n + 1 ) , ⋯ , 1 t ! n ! x 1 t x 2 n σ t + n , ⋯ ] \exp(-\frac{x_1^2}{2\sigma^2})\exp(-\frac{x_2^2}{2\sigma^2})[1,\frac{x_1}{\sigma},\cdots,\sqrt{\frac{1}{n!}}(\frac{x_1}{\sigma})^n,\cdots,\frac{x_2}{\sigma},\frac{x_1x_2}{\sigma^2},\cdots,\sqrt{\frac{1}{n!}}(\frac{x_1^nx_2}{\sigma^{n+1}}),\cdots,\sqrt{\frac{1}{t!n!}}\frac{x_1^tx_2^n}{\sigma^{t+n}},\cdots] exp(2σ2x12)exp(2σ2x22)[1,σx1,,n!1 (σx1)n,,σx2,σ2x1x2,,n!1 (σn+1x1nx2),,t!n!1 σt+nx1tx2n,]去构成分界面 w exp ⁡ ( − x 1 2 2 σ 2 ) exp ⁡ ( − x 2 2 2 σ 2 ) [ 1 , x 1 σ , ⋯ , 1 n ! ( x 1 σ ) n , ⋯ , x 2 σ , x 1 x 2 σ 2 , ⋯ , 1 n ! ( x 1 n x 2 σ n + 1 ) , ⋯ , 1 t ! n ! x 1 t x 2 n σ t + n , ⋯ ] + b w\exp(-\frac{x_1^2}{2\sigma^2})\exp(-\frac{x_2^2}{2\sigma^2})[1,\frac{x_1}{\sigma},\cdots,\sqrt{\frac{1}{n!}}(\frac{x_1}{\sigma})^n,\cdots,\frac{x_2}{\sigma},\frac{x_1x_2}{\sigma^2},\cdots,\sqrt{\frac{1}{n!}}(\frac{x_1^nx_2}{\sigma^{n+1}}),\cdots,\sqrt{\frac{1}{t!n!}}\frac{x_1^tx_2^n}{\sigma^{t+n}},\cdots]+b wexp(2σ2x12)exp(2σ2x22)[1,σx1,,n!1 (σx1)n,,σx2,σ2x1x2,,n!1 (σn+1x1nx2),,t!n!1 σt+nx1tx2n,]+b作为分界面,其中 w w w为无穷维向量,那么这个分界面问题的对偶函数中 ϕ ( x i ) ϕ ( x j ) \phi(x_i)\phi(x_j) ϕ(xi)ϕ(xj)就是上面的 exp ⁡ ( − ( x 1 − z 1 ) 2 + ( x 2 − z 2 ) 2 2 σ 2 ) \exp(-\frac{(x_1-z_1)^2+(x_2-z_2)^2}{2\sigma^2}) exp(2σ2(x1z1)2+(x2z2)2)的形式,也就是我们不用知道中间映射后的坐标,而可以直接计算 exp ⁡ ( − ( x 1 − z 1 ) 2 + ( x 2 − z 2 ) 2 2 σ 2 ) \exp(-\frac{(x_1-z_1)^2+(x_2-z_2)^2}{2\sigma^2}) exp(2σ2(x1z1)2+(x2z2)2)

相关文章:

支持向量机(二)

文章目录 前言具体内容 前言 总算要对稍微有点难度的地方动手了,前面介绍的线性可分或者线性不可分的情况,都是使用平面作为分割面的,现在我们采用另一种分割面的设计方法,也就是核方法。 核方法涉及的分割面不再是 w x b 0 wx…...

Arrays.asList 和 null 类型

一、Arrays.asList 类型简析 Arrays.asList() 返回的List 是它的内部类&#xff0c;不能使用 retainAll() 取交集&#xff0c;导致元素的删除&#xff0c;会报错。 List<String> list Arrays.asList(value.split(",")); 替换为> List<String> list…...

《论文阅读》用提示和释义模拟对话情绪识别的思维过程 IJCAI 2023

《论文阅读》用提示和复述模拟对话情绪识别的思维过程 IJCAI 2023 前言简介相关知识prompt engineeringparaphrasing模型架构第一阶段第二阶段History-oriented promptExperience-oriented Prompt ConstructionLabel Paraphrasing损失函数前言 你是否也对于理解论文存在困惑?…...

【AI】机器学习——绪论

文章目录 1.1 机器学习概念1.1.1 定义统计机器学习与数据挖掘区别机器学习前提 1.1.2 术语1.1.3 特点以数据为研究对象目标方法——基于数据构建模型SML三要素SML步骤 1.2 分类1.2.1 参数化/非参数化方法1.2.2 按算法分类1.2.3 按模型分类概率模型非概率模型逻辑斯蒂回归 1.2.4…...

linux 查看端口占用

查看端口占用 使用lsof 可以使用lsof -i:端口号 来查看端口占用情况 lsof -i:8010COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEnginx 35653 zhanghe 10u IPv4 0xcac2e413ddf9c5b9 0t0 TCP *:8010 (LISTEN)nginx 35654 zhanghe 10u…...

modernC++手撸任意层神经网络22前向传播反向传播梯度下降等23代码补全的例子0901b

以下神经网络代码,请添加输入:{{1,0},{1,1}},输出{1,0};添加反向传播,梯度下降等训练! 以下神经网络代码,请添加输入:{{1,0},{1,1}},输出{1,0};添加反向传播,梯度下降等训练! #include <iostream> #include<vector> #include<Eigen/Dense> #include<rando…...

tkinter控件样式

文章目录 以按钮为例共有参数动态属性 tkinter系列&#xff1a; GUI初步&#x1f48e;布局&#x1f48e;绑定变量&#x1f48e;绑定事件&#x1f48e;消息框&#x1f48e;文件对话框&#x1f48e;控件样式扫雷小游戏&#x1f48e;强行表白神器 以按钮为例 tkinter对控件的诸…...

【linux命令讲解大全】042. 深入了解 which 命令:查找和显示命令的绝对路径

文章目录 which补充说明语法选项参数实例 从零学 python which 查找并显示给定命令的绝对路径 补充说明 which 命令用于查找并显示给定命令的绝对路径&#xff0c;环境变量 PATH 中保存了查找命令时需要遍历的目录。which 指令会在环境变量 $PATH 设置的目录里查找符合条件的…...

实战项目 在线学院之集成springsecurity的配置以及执行流程

一 后端操作配置 1.0 工程结构 1.1 在common下创建spring_security模块 1.2 pom文件中依赖的注入 1.3 在service_acl模块服务中引入spring-security权限认证模块 1.3.1 service_acl引入spring-security 1.3.2 在service_acl编写查询数据库信息 定义userDetailServiceImpl 查…...

【ARM CoreLink CCI-400 控制器简介】

文章目录 CCI-400 介绍 CCI-400 介绍 CCI&#xff08;Cache Coherent Interconnect&#xff09;是ARM 中 的Cache一致性控制器。 CCI-400 将 Interconnect 和coherency 功能结合到一个模块中。它支持多达两个ACE master 点的interface&#xff0c;例如&#xff1a; Cortex-A…...

Linux xargs命令继续学习

之前学习过Linux xargs&#xff0c;对此非常的不熟悉&#xff0c;下面继续学习一下&#xff1b; xargs 可以将管道或标准输入&#xff08;stdin&#xff09;数据转换成命令行参数&#xff0c;也能够从文件的输出中读取数据&#xff1b; xargs也可以给命令传递参数&#xff1b;…...

【广州华锐互动】数字孪生智慧楼宇3D可视化系统:掌握实时运行状态,优化运营管理

在过去的几年中&#xff0c;科技的发展极大地改变了我们的生活和工作方式。其中&#xff0c;三维数据可视化技术的出现&#xff0c;为我们提供了全新的理解和观察世界的方式。特别是在建筑行业&#xff0c;数字孪生智慧楼宇3D可视化系统的出现&#xff0c;让我们有机会重新定义…...

20230904工作心得:集合应该如何优雅判空?

1 集合判空 List<String> newlist null;//空指针if( !newlist.isEmpty()){newlist.forEach(System.out::println);}//空指针if(newlist.size()>0 && newlist!null){newlist.forEach(System.out::println);}//可行if(newlist!null && newlist.size()&…...

使用Python进行健身手表数据分析

健身手表(Fitness Watch)数据分析涉及分析健身可穿戴设备或智能手表收集的数据&#xff0c;以深入了解用户的健康和活动模式。这些设备可以跟踪所走的步数、消耗的能量、步行速度等指标。本文将带您完成使用Python进行Fitness Watch数据分析的任务。 Fitness Watch数据分析是健…...

什么是malloxx勒索病毒,服务器中malloxx勒索病毒了怎么办?

Malloxx勒索病毒是一种新型的电脑病毒&#xff0c;它通过加密用户电脑中的重要文件数据来威胁用户&#xff0c;并以此勒索钱财。这种病毒并不是让用户的电脑瘫痪&#xff0c;而是以非常独特的方式进行攻击。在感染了Malloxx勒索病毒后&#xff0c;它会加密用户服务器中的数据&a…...

CocosCreator3.8研究笔记(六)CocosCreator 脚本装饰器的理解

一、什么是装饰器&#xff1f; 装饰器是TypeScript脚本语言中的概念。 TypeScript的解释&#xff1a;在一些场景下&#xff0c;我们需要额外的特性来支持标注或修改类及其成员。装饰器&#xff08;Decorators&#xff09;为我们在类的声明及成员上通过元编程语法添加标注提供了…...

docker login harbor http login登录

前言 搭建的 harbor 仓库为 http 协议&#xff0c;在本地登录时出现如下报错&#xff1a; docker login http://192.168.xx.xx Username: admin Password: Error response from daemon: Get "https://192.168.xx.xx/v2/": dialing 192.168.xx.xx:443 matches static …...

day5 qt

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);timer_idthis->startTimer(100);//啓動一個定時器 每100ms發送一次信號ui->Edit1->setPlaceholderTex…...

【80天学习完《深入理解计算机系统》】第十三天 3.7 缓冲区溢出 attack lab

3.7 缓冲区溢出 && attack lab...

Hadoop生态之hive

一 概述与特点 之所以把Hive放在Hadoop生态里面去写,是因为它本身依赖Hadoop。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类 SQL 查询功能。 其本质是将 SQL 转换为 MapReduce/Spark 的任务进行运算,底层由 HDFS 来提供…...

AWS DynamoDB浅析

AWS DynamoDB是一个NOSQL数据库。 可以通过IAM直接控制权限&#xff0c;和AWS其他服务连用非常方便。 DynamoDB的几个概念 Partition Key&#xff1a;分区键。如果没有Sort key&#xff0c;那么Partition Key必须唯一&#xff0c;如有Sort key&#xff0c;Partition Key可以重…...

Linux安装ffmpeg

1 下载yasm wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz tar -zxvf yasm-1.3.0.tar.gz cd yasm-1.3.0 ./configure make && make install2 下载ffmpeg wget http://ffmpeg.org/releases/ffmpeg-3.1.3.tar.bz2 tar jxvf ffmpeg-3.1.3.tar.…...

(18)不重启服务动态停止、启动RabbitMQ消费者

我们在消费RabbitMQ消息的过程中&#xff0c;有时候可能会想先暂停消费一段时间&#xff0c;然后过段时间再启动消费者&#xff0c;这个需求怎么实现呢&#xff1f;我们可以借助RabbitListenerEndpointRegistry这个类来实现&#xff0c;它的全类名是org.springframework.amqp.r…...

数据仓库的流程

数据仓库完全用统计分析框架实现:Spark,MR 但是因为实际生产环境中,需求量非常大, 如果每个需求都采用独立c代码开发方式,重复计算会很多. 提高性能的方法: 1.减少数据量 2. 减少重复计算 例如RDD cache 可以减少重复计算,但是不安全,都在缓存中, persist 都放内存中,但是慢 而…...

MyBatis-Plus深入 —— 条件构造器与插件管理

前言 在前面的文章中&#xff0c;荔枝梳理了一个MyBatis-Plus的基本使用、配置和通用Service接口&#xff0c;我们发现在MyBatis-Plus的辅助增强下我们不再需要通过配置xml文件中的sql语句来实现基本的sql操作了&#xff0c;不愧是最佳搭档&#xff01;在这篇文章中&#xff0c…...

C语言结构体的初始化方式

逐个初始化字段&#xff1a;这是最直接的方式&#xff0c;你可以逐个为结构体的每个字段进行初始化。 struct Student { char name[50]; int age; float marks; }; struct Student student1 {"Alice", 20, 89.5}; 2.使用结构体字面值初始化&#xff1a;这种方…...

Vue生成多文件pdf准考证

这是渲染的数据 这是生成的pdf文件&#xff0c;直接可以打印 需要安装和npm依赖和引入封装的pdf.js文件 npm install --save html2canvas // 页面转图片 npm install jspdf --save // 图片转pdfpdf.js文件 import html2canvas from "html2canvas"; import jsPDF …...

Rust的derive思考

这几天在Yew的学习实践中&#xff0c;发现derive中的参数中包含了yew自己的东西&#xff0c;比如yew::Properties。习惯使用#[derive(Clone, Debug, PartialEq)]之后&#xff0c;发现还有新的成员&#xff0c;这让我好奇起来。 首先让我们来回顾一下derive是什么。 #[derive(…...

Python常用模块

文章目录 1. time&#xff1a;时间2. calendar&#xff1a;日历3. datetime&#xff1a;可以运算的时间4. sys&#xff1a;系统5. os&#xff1a;操作系统6. random&#xff1a;随机数7. json&#xff1a;序列化8. pickle&#xff1a;序列化9. logging 模块9.1 什么是logging模…...

Java“牵手”京东商品评论数据接口方法,京东商品评论接口,京东商品评价接口,行业数据监测,京东API实现批量商品评论内容数据抓取示例

京东平台商品评论数据接口是开放平台提供的一种API接口&#xff0c;通过调用API接口&#xff0c;开发者可以获取京东商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片、评论内容、评论日期、评论图片、追评内容等详细信息 。 获取商品评论接口API是一种用于获取…...

网站建设金手指稳定/百度首页排名优化服务

目录 第一部 Java入门 第二部 开发框架【知识深度升华】 第三部 【扩展知识广度】 第四部 【源码学习】 第一部 Java入门 &#xff08;根据你聪明智慧&#xff1a;建议快速游览大致了解都是有什么东东就行了&#xff09; https://www.nowcoder.com/stack/23 jav…...

山东东营疫情最新消息/网站排名优化外包公司

我们平时用printf函数打印整数&#xff0c;用的是%d。你可能会问&#xff1a;整型是int(英文单词integer的缩写)&#xff0c;为什么整型的格式说明符不是%i&#xff1f;这是因为计算机中对整数的表达&#xff0c;会很关注整数是用二进制、八进制、十进制还是十六进制的形式来表…...

如何自己建立网站/公司如何在百度宣传

Dubbo自定义Filter统一处理异常参考文章&#xff1a; &#xff08;1&#xff09;Dubbo自定义Filter统一处理异常 &#xff08;2&#xff09;https://www.cnblogs.com/gossip/p/11734654.html 备忘一下。...

做的网站怎样适配手机/广告联盟官网

知行软件已于 15~17 年成功助力星宇车灯对接 BMW、上汽大众、PLASTIC OMNIUM、广汽丰田及 VDL 等。2018 年知行与星宇再次合作&#xff0c;成功对接 BBA EDI 系统。 - EDI 需求概览 - - EDI 解决方案 - OFTP2.0 on Internet 支持 OFTP2.0 传输协议且通过 ODETTE 认证的 EDI 系…...

投简历网站/网站如何推广运营

1、安装 Scala brew install scala 2、查看是否安装成功及进入 Scala 命令 scala 若成功安装&#xff0c;界面为&#xff1a; 3、退出命令行模式 :quit 4、补充命令...

竞网做的网站怎么/宁波seo深度优化平台

动态规划思想是将大问题分解成小问题&#xff0c;然后解决所有的小问题&#xff0c;最后把解组合起来就得到大问题的解。这个和分治法思想很类似&#xff0c;但是这里的小问题是有重叠的&#xff0c;分治处理的小问题都是独立的&#xff0c;有重叠就会有重复计算&#xff0c;为…...