【机器学习原理】SVM支持向量机分类算法
文章目录
- 一、支持向量机:线性分类器的“王者”
- 1. 距离
- 2. 支持向量
- 3. 从更高维度看“线性不可分”
- 二、支持向量机分类的算法原理
- 1. 基本思路
- (1) 最大间隔
- (2) 高维映射
- (3) 核函数
- (4) 支持向量机的真正运行机制
- (5) 核技巧
- 2. 数学解析
- (1) 点到超平面的距离
- (2) 间隔最大化
- (3) 核函数
- 3. 具体步骤
- 三、在Python中使用支持向量机分类算法
- 四、支持向量机分类算法的使用场景
一、支持向量机:线性分类器的“王者”
- 最大间隔
- 高维映射
- 核方法
1. 距离
我们已经从用线性回归套S型马甲(logistic回归)、物以类聚(K近邻)、统计(朴素贝叶斯)和if-else(决策树)等角度思考了分类问题。
回想一下就知道,对数据点的分类实际并不涉及任何“移动”操作,原因也不难想见。数据点的“位置”实质是在不同维度有着不同现实含义的信息,我们当然不可能为了分类而改变这些信息的值。
譬如很常见的中国象棋,我们知道棋子分为红色和黑色两种,开局都要整整齐齐地排列在棋盘上。棋盘中央有一道“楚河汉界”,正好把这两种不同颜色的棋子分开。如果我们的任务是画一条直线把不同颜色的棋子分类,显然轻而易举。既然楚河汉界是红黑两种棋子之间的分割地带,只要找到这条空白地带,然后沿着其中轴画一条线,就一定能把两类棋子分开。
能够对当前数据点进行正确分隔的直线有许多,可是选择哪条最好呢?也许我们本能地就会选择沿中轴画线,可是为什么呢?我们中国人做事都是讲究留有余地的,数据分类也是如此。虽然棋盘上的棋子摆得整齐,但我们说过,自然中的数据可是会随机波动的,如果分隔线不留余地,那么它将对噪声非常敏感。数据出现一点点扰动泛化则误差会变得很大,无法有效进行正确分类,学术上称“鲁棒性很差”。那么怎么提高鲁棒性呢?也很简单,即尽可能地多留点儿余地,而且是要给正负类两边都多留点,使得分割线距离两边都达到最大间隔。
2. 支持向量
支持向量机是一种机器学习算法,其中涉及一个很重要的角色叫“支持向量”,这也是该算法的名字由来。
支持向量机还有一个重要概念叫“间隔(margin)”。回顾刚才的分类,我们的目的是要把两堆不同类的棋子用一条直线隔开,而对这条直线我们也有要求,就是要距离最远。不过,这条空白地带怎么找呢?我们可以俯视整个棋盘,可机器只能进行数值计算,没有这种几何成像能力,必须得先数值化了才能运作。不过好办,我们知道,红色棋子和黑色棋子之间既然有空白地带,那就说明棋子与棋子之间有距离。不过这也有讲究,红色的棋子距离黑色棋子有远有近,就拿黑色的“卒”作为参照物吧,红色的“兵”肯定是离它最近的,而相比之下,红色的“帅”则要远很多。这就是间隔。不难想象,在任何分类任务中,只要找到两种不同的类之间的间隔,就能把两个类分开。如图8-1所示。
让间隔最大化,或者形象一点,让间隔变得“最胖”,就是支持向量机的目标。间隔分为两种,一种叫硬间隔,一种叫软间隔。特别顽固、一点也不通融的是硬间隔,知道会有划错但希望尽可能少的则是软间隔。
3. 从更高维度看“线性不可分”
高维映射是支持向量机最让人注目的部分,也是数学在机器学习算法里能够达到的巅峰。数学上有一种思路,即遇到新的难题时通常分两步解决。第一步,将新问题转化成已经解决的旧问题;第二步,完成转化后,通过老方法加以解决。我们要解决的问题就是,怎样将线性不可分变得线性可分,然后再按老办法寻找最大间隔。
让线性不可分变为线性可分,这不是矛盾吗?不矛盾。线性不可分只是在当前的维度下线性不可分,但如果增加了维度,原本不可分也就可分了。还是以刚才的围棋为例,顾名思义,围棋棋子都是黑白子互相包围在一起,属于线性不可分。但假设有一个武林高手暗运掌力,忽然快速往棋盘上一拍,让白子黑子都垂直往上飞起,同时让黑子飞高一点,白子则相对低一些,这样,平面无法线性区分的黑白子在进入立体空间,多了高度这个维度之后就体现出了区别。这时,只要往飞升的黑白子之间塞入一张薄纸,就把两种棋子分开了(见图8-2)。二维称“线”,三维称“面”,超过三维的就不另外改名字了,统一称“超平面”。
这个解释不但未说清楚,反而引入了两个很让人困扰的问题。一个理论层面的质疑——为什么映射到高维就能保证正负类能够上下分开?一个是应用层面的问题——这个高维空间要怎么找?变成高维空间容易,增加一个维度就能达到提升空间维度,一直增加下去也就成为高维空间,可是肯定不是简单地增加维度就能分开,还得给原有数据点在新的空间安排位置吧,那么怎么安排才合适呢?
我们把问题形象化,为这个“你中有我,我中有你”想象一个具体的样子。不如就想象为一根铁丝,上面串了三枚五角星,我们的目标是用一条直线分出中间的五角星。显然这是一个线性不可分问题。无论直线怎么摆放,中间的五角星一定都会至少与一枚侧边的五角星在一起,从而无法正确区分。不过,对于这个看似不可能的任务,只要稍微弯一下铁丝,使铁丝形成一个U型,这时中间的五角星处在了低端,而两边的五角星被抬高,再往中间插入一条直线,就能正确区分二者了。见图8-3。
既然是线性不可分,那么可以推想需要区别的两类数据点处于一种“你中有我或者我中有你”的状态,最极端的就是一类数据被另一类“包围”,如果用红色和绿色区分这两类数据,图像就变成了“万绿丛中一点红”,在这种情况下显然不可能用任何一条直线来划分二者,也就是无法使用线性方法进行分类(如图8-4左图)。现在我们进行高维映射。高维映射其实是非常具体和实在的方法,没必要神秘化,这里我们选择肉眼可见的方法,即把高维映射想象成在二维空间中倒扣上一只肚子朝上的漏斗,二维空间就变成了三维空间,我们把漏斗移动到红色类(正方形)的数据上方,这时两种颜色的数据就出现了高度差,这时就可以通过插入一块平板分隔二者,也就是可以采用线性的方式进行非线性数据的区分了(如图8-4右图所示)。
总结一下,非线性数据之所以可以用线性方法区分,是因为给原本只有“左右”区别的五角星增加了“上下”维度,出现了线性可分的差别。从另一个角度看,这也是一种用映射方法来解决问题的案例。直线有直线方程,弧线有弧线方程,只需要通过一个映射,就能使得原本线性排列的数据呈弧线排列。对于机器学习用映射来解决问题我们并不陌生,回忆一下,Logistics回归里的“S型马甲”所用的就是这种手法。这就是增加维度来解决线性不可分问题的关键,知道当前分布是什么样子,也知道想要达到的分布是什么样子的,那么,就只要选择合适的映射函数了,也就解决了第二个问题。
二、支持向量机分类的算法原理
1. 基本思路
(1) 最大间隔
支持向量机说到底就是一种“线性分类器”,它以“间隔”作为损失的度量,目标通过不断调整多维的“直线”——超平面,使得间隔最大化。所谓“支持向量”,就是所有数据点中直接参与计算使得间隔最大化的几个数据点,这是支持向量机的得名由来,也是支持向量机的全部核心算法。
(2) 高维映射
其核心就是通过映射,把线性不可分的数据变成线性可分,具体来说就是增加维度,如把原本排成一条直线的正负样本点“掰弯”,或者给原本平铺在同一平面上互相包围的正负样本点添加一个“漏勺”,也就是加了一维高度值,使得非线性分布出现了线性可分的差异,从而最终达到分离正负类的目的,实现用线性分类器对非线性可分样本点进行分类的效果。
(3) 核函数
核函数不是一种函数,而是一类功能性函数,能够在支持向量机中完成高维映射这种功能的函数都称为核函数,也就是说,只要数学函数满足要求,就都可以被用作核函数。不过,无论哪种核函数,其最根本的目的就是完成高维映射,具体完成两项工作,一是增加空间的维度,二是完成对现有数据从原空间到高维空间的映射。
也就是说,核函数和高维映射虽然在讲解时拆分成两个概念,其实都是一个过程,二者可以看作因和果的关系。我们必须首先选定一款核函数,才能通过核函数将数据集进行映射,从而得到高维映射的结果。
(4) 支持向量机的真正运行机制
真正的支持向量机是由间隔最大化和高维映射两大部件组成。间隔最大化是目标,支持向量机的损失函数依靠间隔计算,能让间隔达到最大的就是支持向量机要“学习”的过程。
高维映射用于解决线性不可分问题,可以理解为对数据的“预处理”。对于那些你中有我、间不容发的非线性分布数据,首先通过核函数映射至高维,映射后的数据集呈线性分布,为使用线性方法分类创造了条件。
使用支持向量机进行分类经过三个步骤:
- 选取一个合适的数学函数作为核函数。
- 使用核函数进行高维映射,数据点在映射后由原本的线性不可分变为线性可分。
- 间隔最大化,用间隔作为度量分类效果的损失函数,最终找到能够让间隔最大的超平面,分类也就最终完成了。
(5) 核技巧
在支持向量机中,涉及“核”的术语实际上有三个,分别是核函数、核方法(KernelMethod)和核技巧(Kernel Trick)。核方法和核技巧就是提出需求,核函数则是给出解答。换而言之,核函数是一石二鸟,实际上是完成了两项独立的任务。
- 任务一是完成核方法提出的要求,就是如何将低维非线性数据映射成高维数据,从而变成线性可分。
- 任务二是完成核技巧提出的要求,之所以称为“技巧”,是因为核技巧主要是提高核方法的计算效率。
计算间隔涉及向量点积运算,如果先进行高维映射再进行向量点积运算,这会导致运算量激增,尤其是高维向量运算,由于参加运算的维度增加了,运算量也会显著增加。
核技巧简化了这个过程:只需要输入原始向量就能通过核技巧计算直接得到正确的点积结果,而不用把两个向量分别完成高维映射,再进行点积运算,即将两项工作用数学技巧一次就完成。由于无论是目标函数还是决策函数都只涉及输入样本与样本之间的内积,这一运算特点使得我们在实际使用支持向量机算法进行学习时,不需要显式地完成高维映射操作,只需要事先定义核函数即可得到等价的结果,还避免了高维向量的运算,明显提高了运算效果。能够同时满足核方法和核技巧两项要求,才是核函数完整的工作内容。
2. 数学解析
(1) 点到超平面的距离
支持向量机以“间隔”作为损失函数,支持向量机的学习过程就是使得间隔最大化的过程,想了解支持向量机的运转机制,首先就得知道间隔怎么计算。而支持向量机对间隔的定义其实很简单,就是作为支持向量的点到超平面的距离的和,这里的距离就是最常见的几何距离。我们用wx+b来表示超平面,点到三维平面的距离有现成的公式可以套用:
d=∣Ax0+By0+Cz0+D∣A2+B2+C2(8-1)d=\frac{|Ax_0+By_0+Cz_0+D|}{\sqrt{A^2+B^2+C^2}}\tag{8-1}d=A2+B2+C2∣Ax0+By0+Cz0+D∣(8-1)
类似的,对于点到N维超平面的距离r,可以用以下公式计算:
γ(i)=(wTx(i)+b)∥w∥(8-2)\gamma^{(i)}=\frac{(w^Tx^{(i)}+b)}{\|w\|}\tag{8-2}γ(i)=∥w∥(wTx(i)+b)(8-2)
其中被除数wx(i)+bwx^{(i)}+bwx(i)+b是超平面的表达式,除数∥w∥\|w\|∥w∥就是我们前面所讲的L2范式的简略写法。点到N维超平面的距离的公式计算很简单,形式上与点到三维平面的公式类似,其实当w是三维向量时,二者就是等价的。支持向量机就使用这条公式来计算点到超平面的距离。
(2) 间隔最大化
支持向量机使用y=1表示正类的分类结果,使用y=-1表示负类的分类结果,既然y=wx+b要么大于或等于1,要么小于或等于-1,间隔是由正负类最近的两个数据点,也就是支持向量决定,因此间隔距离也就可以表示为2∥w∥\frac{2}{\|w\|}∥w∥2(见图8-5)。
我们的目的就是间隔最大化。2是一个常数,所以最大化间隔距离可以表示如下:
max1∥w∥s.t.,yi(wTxi+b)≥1,i=1,⋯,n(8-3)max\frac{1}{\|w\|}\ s.t.,y_i(w^Tx_i+b)\geq1,i=1,\cdots,n\tag{8-3}max∥w∥1 s.t.,yi(wTxi+b)≥1,i=1,⋯,n(8-3)
右边的s.t.表示suject to,意思是受到约束,我们把之前的条件写上,相当于“在……的条件下”,使得左边式子最大。分母越小,分数越大,所以左式也可以表示如下:
min12∥w∥2(8-4)min\frac{1}{2}\|w\|^2\tag{8-4}min21∥w∥2(8-4)
这个式子看起来计算很简单,就是求极值,但要注意后面多了个约束条件,问题就稍微变复杂了。这里不具体展开,只需要记得可以用拉格朗日乘子法转化成如下拉格朗日函数:
L(w,b,a)=12∥w∥2+∑i=1mαi[1−yi(wTxi+b)](8-5)L(w,b,a)=\frac{1}{2}\|w\|^2+\sum^m_{i=1}\alpha_i[1-y_i(w^Tx_i+b)]\tag{8-5}L(w,b,a)=21∥w∥2+i=1∑mαi[1−yi(wTxi+b)](8-5)
其中α被称为“拉格朗日乘子”。上式分别对w和b求导,并令导数为0,右式可转化为下式:
∑i=1mαi−∑i=1m∑j=1mαiαjyiyjxiTxj(8-6)\sum^m_{i=1}\alpha_i - \sum^m_{i=1}\sum^m_{j=1}\alpha_i\alpha_jy_iy_jx^T_ix_j\tag{8-6}i=1∑mαi−i=1∑mj=1∑mαiαjyiyjxiTxj(8-6)
这时问题就变成了:
maxα∑i=1mαi−∑i=1m∑j=1mαiαjyiyjxiTxj(8-7)\underset{\alpha}{max}\sum^m_{i=1}\alpha_i - \sum^m_{i=1}\sum^m_{j=1}\alpha_i\alpha_jy_iy_jx^T_ix_j\tag{8-7}αmaxi=1∑mαi−i=1∑mj=1∑mαiαjyiyjxiTxj(8-7)
约束条件为:
s.t.∑i=1mαiyi=0αi≥0(8-8)\begin{aligned}& s.t.\ \sum^m_{i=1}\alpha_iy_i=0\\ &\alpha_i\geq0\\\tag{8-8}\end{aligned}s.t. i=1∑mαiyi=0αi≥0(8-8)
这个式子通常用二次规划算法SMO(Sequential Minimal Optimization)算法求解。上面的式子转化包含大量复杂的数学概念和运算,这里只需要注意两点,一是支持向量机使用拉格朗日乘子法搭配SMO算法求得间隔最大,二是转化式的末尾为计算xiTxjx^T_ix_jxiTxj,也就是两个向量的内积。正因为间隔最大化可以转化为向量内积的运算,才使得高维映射可以通过核技巧进行优化。
(3) 核函数
高维映射实际上也是一种函数映射,在支持向量机中,通常采用符号φ来表示这个将数据映射到高维空间的函数,向量xi经过高维映射后就变成了φ(x)i,这时超平面的表达式也就相应变成了wTφ(xi)+b。
根据上述间隔最大化的拉格朗日函数,我们知道需要进行两个向量的内积运算,那么映射后的内积运算为φ(xi)Tφ(xj) 。映射后向量变成高维向量,运算量将明显增加,直接运算会导致效率明显下降。
不过,我们也已经观察到,在间隔最大化的运算中只使用了高维向量内积运算的结果,而没有单独使用高维向量,也就是说,如果能较为简单地求出高维向量的内积,同样可以满足求解间隔最大化的条件。我们可以假设存在函数K,能够满足以下条件:
这里的函数K就是我们前面一再介绍的核函数。有了核函数,所有涉及φ(xi)Tφ(xj)的内积运算都可以通过K(xi,xj)简单求出,这也就是为什么核函数需要一边完成核方法的高维映射,一边又要完成核技巧的求内积结果。对于已知的映射函数φ,核函数是很容易计算的,但在大多数情况下,使用支持向量机时并不知道映射函数φ的具体形式,好在数学家已经证明,在这种情况下数学函数只需要满足几个条件,就同样可以作为核函数,也就确保了核函数的存在性。
3. 具体步骤
使用支持向量机算法,具体需要三步:
- 选择核函数。
- 核函数完成高维映射并完成计算间隔所需的内积运算,求得间隔。
- 使用SMO等算法使得间隔最大。
三、在Python中使用支持向量机分类算法
在Scikit-Learn库中,支持向量机算法族都在sklearn.svm包中,当前版本一共有8个类。看起来也与其他机器学习算法族一样似乎有不少变种,其实并不太一样,支持向量机算法总的来说就一种,只是在核函数上有不同的选择,以及用于解决不同的问题,包括分类问题、回归问题和无监督学习问题中的异常点检测,具体为:
- LinearSVC类:基于线性核函数的支持向量机分类算法。
- LinearSVR类:基于线性核函数的支持向量机回归算法。
- SVC类:可选择多种核函数的支持向量机分类算法,通过“kernel”参数可以传入“linear”选择线性函数、传入“polynomial”选择多项式函数、传入“rbf”选择径向基函数、传入“sigmoid”选择Logistics函数作为核函数,以及设置“precomputed”使用预设核值矩阵。默认以径向基函数作为核函数。
- SVR类:可选择多种核函数的支持向量机回归算法。
- NuSVC类:与SVC类非常相似,但可通过参数“nu”设置支持向量的数量。
- NuSVR类:与SVR类非常相似,但可通过参数“nu”设置支持向量的数量。
- OneClassSVM类:用支持向量机算法解决无监督学习的异常点检测问题。
支持向量机分类算法可以通过SVC类调用使用,用法如下:
from sklearn.datasets import load_iris
from sklearn.svm import SVC
import warningswarnings.filterwarnings("ignore")
X, y = load_iris(return_X_y=True)
clf = SVC().fit(X, y)
# 默认为径向基rbf,可通过kernel查看
print(clf.kernel)
print(clf.predict(X))
print(clf.score(X, y))
===============================================
rbf
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 22 2]
0.9866666666666667
四、支持向量机分类算法的使用场景
算法使用案例
国内安全软件厂商360推出的使用面很广的安全软件360杀毒和360安全卫士中都包含了一款名为“QVM人工智能引擎”的杀毒引擎,官方宣称QVM引擎无须频繁升级病毒库,就可以自主查杀各类变种木马病毒。QVM全名“Qihoo SupportVector Machine”,其实已明确表示用的就是支持向量机,推测原理为首先通过海量的病毒库训练支持向量机模型,然后再在用户本地对当前进程/文件是否有害进行分类判别。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- Python数据结构之环形队列
Python数据结构之环形队列 环形队列:主要解决假溢出现象;公式: rear front -1 添加数据 rear (rear1) % MAX_SIZE 删除数据 front (front1) % MAX_SIZE 判断空: rear front 判断满 : (rear1) % MAX_SIZE front 判断数据个数: (rear - front MAX_…...
2024/5/4 2:54:46 - SemaphorerCountDownLatchCyclicBarrieReentrantReadWriteLock-学习
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…...
2024/4/13 18:00:47 - Unity 3D系列 摄像机围绕主角进行旋转、缩放
一、开发环境 Unity版本: 2020.1.0f1 二、建立摄像机结构 1、结构如下图 2、将CameraZoomContainer的Position X坐标设置为12,如图 3、将CameraUpAndDown的Rotation Z坐标设置为30,如图: 三、实现摄像机的跟随、旋转、缩放 1、…...
2024/4/13 18:00:52 - JWT 工作原理及其应用 从0~0.5 快速整合SpringBoot以及Mybatis 二刷绝对适合你~
📑本篇内容:JWT 工作原理及其应用 从0~0.5 快速整合SpringBoot以及Mybatis 二刷绝对适合你! 📘 文章专栏:前端知识(后端需掌握知识点) 前后端分离项目(Vue SpringBoot)…...
2024/4/13 18:00:52 - Failed to start bean ‘documentationPluginsBootstrapper‘使用Swagger3.0.0版本造成的问题
springboot项目Swagger入门 首先需要导入maven依赖 <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>3.0.0</version></dependency><dependency><groupId>io.…...
2024/4/18 14:09:58 - Doxygen、hhc生成chm格式文档
开源库中很多帮助文档是html格式,需要通过Doxgen生成 生成后有一系列文件,再通过hhc.exe打包成chm,就能方便拷贝到移动设备查看,比如IOS的chm sharp 下载Doxygen https://www.doxygen.nl/download.html 只需要下载其中的 binarie…...
2024/4/13 18:00:52 - 15.三数之和
nSum 系列问题的核心思路就是排序 双指针。 先给数组从小到大排序,然后双指针 lo 和 hi 分别在数组开头和结尾,这样就可以控制 nums[lo] 和 nums[hi] 这两数之和的大小: 如果你想让它俩的和大一些,就让 lo,如果你想…...
2024/4/13 18:00:57 - 死锁产生的原因及解决办法
分享链接:死锁,死锁的四个必要条件以及处理策略_wenlijunliujuan的专栏-CSDN博客_死锁的四个必要条件一、什么是死锁二、死锁与饥饿三、资源的类型3.1 可重用资源和消耗性资源3.1.1 可重用资源(永久性资源)3.1.2 消耗性资源&#…...
2024/4/7 20:15:12 - 阿里云域名DDNS解析到动态IP
DDNS(Dynamic Domain Name Server,动态域名服务)是将用户的动态IP地址映射到一个固定的域名解析服务上。 本教程详细介绍如何使用Alibaba Cloud SDK for Java实现动态域名解析(DDNS)。 前提条件 在使用本教程前&…...
2024/4/7 20:15:11 - 【第二天】【ROS操作系统】【3】ROS-Roboware Studio的安装(ROS melodic)
【第二天】【ROS操作系统】【3】ROS-Roboware Studio的安装(ROS melodic)0 参考文章1 安装包下载2 安装,按照参考文章走3 问题0 参考文章 https://blog.csdn.net/weixin_37801425/article/details/106946390 1 安装包下载 链接:…...
2024/4/13 18:01:07 - 5.4 编程案例:有两个班的同学,分别是10个人和5个人,分别求这两个班的平均分
本次案例是从学习C语言开始到现在的一个小挑战,因为本次案例涉及到的知识点是自学习到现在的一些重要知识点和零碎知识点。 数据的类型、流程控制语句、数组的定义和初始化、数组的遍历、数组的打印、函数的定义和调用等 在这个案例中,我才用的思路是分别…...
2024/4/13 18:02:03 - SSM框架 --- Spring IoC
框架概述 所谓的框架其实就是程序的架子,在这个程序的架子中,搭建起程序的基本的骨架,针对程序的通用问题给出了便捷的解决方案,可以使开发人员 基于框架快速开发具体的应用程序。 常见的框架 SSH: Struts2 (Web层) / Spring (S…...
2024/5/4 1:40:54 - Cocos2d-x 3,androidapp开发教程
CatmullRomBy类 :这是一个按照笛卡尔曲线移动目标点的动作. ** ** – ActionCatmullRom – 笛卡尔曲线运动 local function ActionCatmullRom() local layer cc.Layer:create() initWithLayer(layer) centerSprites(2) – 设置精灵位置 tamara:setPosition…...
2024/4/7 20:15:09 - 数据分析课程笔记(一)简介、jupyter和conda、matplotlib
数据分析课程笔记数据分析简介数据分析流程jupyter和conda的使用condajupyter notebookmatplotlib什么是matplotlib基本要点设置图片大小调整X或者Y轴上的刻度设置中文显示折线图实例双折线图实例常用统计图数据分析简介 什么是数据分析 数据分析是用适当的方法对收集来的大量…...
2024/4/13 18:02:08 - Canvas加动画,实现火柴人跳绳效果,移动端混合开发框架
50); canvas.drawPath(path, paint); 3.quadTo 用于绘制二阶贝塞尔曲线,从上一个点开始,绘制二阶Bezier曲线(x1,y1)为控制点, (x2,y2)为终点如果之前没有调用过 moveTo(),则默认从 (0,0)作为起点绘制。 /** 从上一个点开始&…...
2024/4/20 16:51:10 - 命令 模式
命令模式 命令模式基本介绍 命令模式(Command Pattern):在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个, 我们只需在程序运行时指定…...
2024/4/7 20:15:03 - http 报文格式、状态码
HTTP 报文格式 HTTP 报文由请求行、首部、实体组成,首部和实体之间由 CRLF(回车换行符) 分隔开。 请求报文格式: <method> <request-URL> <version> <headers> <entity-body>请求方法、请求 URL、…...
2024/4/14 20:33:04 - 不可变集合和Stream流介绍,获取流、收集流
不可变集合(Set、List、Map) 什么是不可变集合? 不可变集合,就是不可被修改的集合 集合的数据项在创建的时候提供,并且在整个生命周期中都不可改变,否则报错! 举个例子:网页上的一些敏感数据并不想让用户…...
2024/4/13 18:02:03 - K8s系列之:DaemonSet在每个Node上调度一个Pod
K8s系列之:DaemonSet在每个Node上调度一个PodDaemonSet用于管理在集群中每个Node上仅运行一份Pod副本实例。 这种用法适合一些有这种需求的应用。 在每个Node上运行一个GlusterFS存储或者Ceph存储的Daemon进程。在每个Node上运行一个日志采集程序,例如…...
2024/4/13 18:01:48 - 前端面试2022
常用函数:https://blog.csdn.net/mus123/article/details/106499506 这一次我应聘的岗位是前端开发工程师。成为一名优秀的程序员是我的追求,为此在研究生阶段我很早就结合岗位要求进行了准备。今年6月到8月份,我在武汉金山办公软件有限公司…...
2024/4/7 20:15:02
最新文章
- SSM整合-前后端分离-项目环境搭建 (上)
整合SSM 项目基础环境搭建项目介绍创建项目项目全局配置web.xmlSpringMVC配置配置Spring和MyBatis, 并完成整合创建表, 使用逆向工程生成Bean, XxxMapper和XxxMapper.xml注意事项和细节说明 实现功能01-搭建Vue前端工程需求分析/图解代码实现搭建Vue前端工程vue3项目目录结构梳…...
2024/5/4 3:51:58 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 游戏引擎架构01__引擎架构图
根据游戏引擎架构预设的引擎架构来构建运行时引擎架构 ...
2024/5/1 13:06:15 - 最新在线工具箱网站系统源码
内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 系统内置高达72种站长工具、开发工具、娱乐工具等功能。此系统支持本地调用API,同时还自带免费API接口, 是一个多功能性工具程序,支持后台管理、上…...
2024/5/3 2:32:18 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/1 17:30:59 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/2 16:16:39 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/29 2:29:43 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/3 23:10:03 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/30 9:43:09 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/2 15:04:34 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/29 20:46:55 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/30 22:21:04 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/1 4:32:01 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/4 2:59:34 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/30 9:42:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/2 9:07:46 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/30 9:42:49 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57