文章目录

  • 支持向量机(SVM)的原理推导及解释
    • 1.线性可分支持向量机(linear support vector machine in linearly separable case)
    • 2.线性支持向量机(linear support vector machine)
    • 3.非线性支持向量机(non-linear support vector machine)

支持向量机(SVM)的原理推导及解释

支持向量机的本质:选出最优的分类超平面(标准:离超平面最近距离的样本点最远的超平面)。
假定超平面方程WTx+b=0\mathbf{W}^{\mathbf{T}}\mathbf{x}+\mathbf{b}=0WTx+b=0,则样本数据点x到该超平面的距离表示为:∣WTx+b∣|\mathbf{W}^{\mathbf{T}}\mathbf{x}+\mathbf{b}|∣WTx+b∣。而判断WTx+b\mathbf{W}^{\mathbf{T}}\mathbf{x}+\mathbf{b}WTx+b与标记y符号是否一致得到分类结果:一致,分类正确;否则,分类错误。

于是,我们采用y(WTx+b)\mathbf{y}\left( \mathbf{W}^{\mathbf{T}}\mathbf{x}+\mathbf{b} \right)y(WTx+b)替代∣WTx+b∣|\mathbf{W}^{\mathbf{T}}\mathbf{x}+\mathbf{b}|∣WTx+b∣表示样本点到超平面的距离。【当然,这里会有读者思考,如果分类错误,则y(WTx+b)\mathbf{y}\left( \mathbf{W}^{\mathbf{T}}\mathbf{x}+\mathbf{b} \right)y(WTx+b)为负值,没错,我们假定所有的分类标签都是正确的->找到最优的超平面。】

函数距离di=yi(wTxi+b)\mathbf{d}_{\mathbf{i}}=\mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right)di​=yi​(wTxi​+b) (i为第i个样本点),而样本总数据集D的函数间隔d定义为D中所有样本数据点到超平面的最小函数间隔值,d=min⁡di\mathbf{d}=\min \mathbf{d}_{\mathbf{i}}d=mindi​。

但是,函数间隔也存在明显的缺点:若同比例缩放其参数向量w和偏置量b,会改变间隔di的取值。s∗wTx+s∗b=0\mathbf{s}*\mathbf{w}^{\mathbf{T}}\mathbf{x}+\mathbf{s}*\mathbf{b}=0s∗wTx+s∗b=0,di=s∗yi(wTxi+b)\mathbf{d}_{\mathbf{i}}=\mathbf{s}*\mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right)di​=s∗yi​(wTxi​+b),超平面的方向由w决定,位置由w、x和b决定,这里超平面的方向位置不变,但是di却发生了变化。于是,我们引入了几何间隔:
di_g=yi(wTxi+b)∣∣w∣∣=di∣∣w∣∣\mathbf{d}_{\mathbf{i}\_g}=\frac{\mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right)}{||\mathbf{w}||}=\frac{\mathbf{d}_{\mathbf{i}}}{||\mathbf{w}||}di_g​=∣∣w∣∣yi​(wTxi​+b)​=∣∣w∣∣di​​

1.线性可分支持向量机(linear support vector machine in linearly separable case)

  • 核心:硬间隔最大化(hard margin maximization)

  • 数据对象:线性可分数据

  • 要求:必须所有的正例和负例分类标签正确(超平面受边界数据影响大)

  • 寻找参数w和b,使得D中所有样本数据点到超平面的最小函数间隔值d最大(这里设定d=1)。

  • 求解问题如下:max⁡w,b1∣∣w∣∣s.t.yi(wTxi+b)⩾1,i=1,2....n转换为:min⁡w,b12∣∣w∣∣2s.t.yi(wTxi+b)−1⩾0,i=1,2....n\text{求解问题如下:} \\ \underset{\mathbf{w},\mathbf{b}}{\max}\frac{1}{||\mathbf{w}||}\,\, \\ \mathbf{s}.\mathbf{t}. \mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right) \geqslant 1,\mathbf{i}=1,2....\mathbf{n} \\ \text{转换}为\text{:} \\ \underset{\mathbf{w},\mathbf{b}}{\min}\frac{1}{2}||\mathbf{w}||^2\,\, \\ \mathbf{s}.\mathbf{t}. \mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right) -1\geqslant 0,\mathbf{i}=1,2....\mathbf{n} 求解问题如下:w,bmax​∣∣w∣∣1​s.t.yi​(wTxi​+b)⩾1,i=1,2....n转换为:w,bmin​21​∣∣w∣∣2s.t.yi​(wTxi​+b)−1⩾0,i=1,2....n

  • 对于约束优化问题:min⁡f(x)s.t.gj(x)⩽0,j=1,2,...,m若f(x)和gj(x)都为凸函数,则此问题为凸规划。\text{对于约束优化问题:} \\ \min \mathbf{f}\left( \mathbf{x} \right) \\ \mathbf{s}.\mathbf{t}. \mathbf{g}_{\mathbf{j}}\left( \mathbf{x} \right) \leqslant 0,\mathbf{j}=1,2,...,\mathbf{m} \\ \text{若}\mathbf{f}\left( \mathbf{x} \right) \text{和}\mathbf{g}_{\mathbf{j}}\left( \mathbf{x} \right) \text{都}为\text{凸函数,则此问题}为\text{凸规划。} 对于约束优化问题:minf(x)s.t.gj​(x)⩽0,j=1,2,...,m若f(x)和gj​(x)都为凸函数,则此问题为凸规划。

  • 凸规划的性质:1.若给定一点x0,则集合R={x∣f(x)⩽f(x0)}为凸集。2.可行域R={x∣gj(x)⩽0,j=1,2,...,m}为凸集合。3.凸规划的任何局部最优解就是全局最优解。\text{凸规划的性质:} \\ 1.\text{若给定一点}\mathbf{x}_0\text{,则集合}\mathbf{R}=\left\{ \mathbf{x}|\mathbf{f}\left( \mathbf{x} \right) \leqslant \mathbf{f}\left( \mathbf{x}_0 \right) \right\} 为\text{凸集。} \\ 2.\text{可行域}\mathbf{R}=\left\{ \mathbf{x}|\mathbf{g}_{\mathbf{j}}\left( \mathbf{x} \right) \leqslant 0,\mathbf{j}=1,2,...,\mathbf{m} \right\} 为\text{凸集合。} \\ 3.\text{凸规划的任何}局\text{部最优解就}是\text{全}局\text{最优解。} 凸规划的性质:1.若给定一点x0​,则集合R={x∣f(x)⩽f(x0​)}为凸集。2.可行域R={x∣gj​(x)⩽0,j=1,2,...,m}为凸集合。3.凸规划的任何局部最优解就是全局最优解。

硬间隔最大化(HMM)学习算法流程:

输入:线性可分训练数据集T={(x1,y1),(x2,y2),...,(xn,yn)},其中xϵXϵRn,yϵYϵ{1,−1}\mathbf{T}=\left\{ \left( \mathbf{x}_1,\mathbf{y}_1 \right) ,\left( \mathbf{x}_2,\mathbf{y}_2 \right) ,...,\left( \mathbf{x}_{\mathbf{n}},\mathbf{y}_{\mathbf{n}} \right) \right\} \text{,其中}\mathbf{x\epsilon X\epsilon R}^{\mathbf{n}},\mathbf{y\epsilon Y\epsilon }\left\{ 1,-1 \right\} T={(x1​,y1​),(x2​,y2​),...,(xn​,yn​)},其中xϵXϵRn,yϵYϵ{1,−1}

输出:最大间隔分离超平面和分类决策函数

  • 构造并求解约束最优化问题,求得w*和b*
    min⁡w,b12∣∣w∣∣2s.t.yi(wTxi+b)−1⩾0,i=1,2....n\underset{\mathbf{w},\mathbf{b}}{\min}\frac{1}{2}||\mathbf{w}||^2\,\, \\ \mathbf{s}.\mathbf{t}. \mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right) -1\geqslant 0,\mathbf{i}=1,2....\mathbf{n} w,bmin​21​∣∣w∣∣2s.t.yi​(wTxi​+b)−1⩾0,i=1,2....n

  • 得到分离超平面:
    W∗T+b∗=0\mathbf{W}^{*\mathbf{T}}+\mathbf{b}^*=0 W∗T+b∗=0

  • 分类决策函数:
    f(xi)=sgn(W∗Txi+b∗)\mathbf{f}\left( \mathbf{x}_{\mathbf{i}} \right) =sgn \left( \mathbf{W}^{*\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b}^* \right) f(xi​)=sgn(W∗Txi​+b∗)

使用拉格朗日乘子法求解凸规划:

  • 引入拉格朗日乘子αi≥0得到拉格朗日函数:
    L(w,b,α)=12∣∣w∣∣2−∑i=1mαi(yi(wTxi+b)−1)\mathbf{L}\left( \mathbf{w},\mathbf{b},\mathbf{\alpha } \right) =\frac{1}{2}||\mathbf{w}||^2-\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}\left( \mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right) -1 \right)} L(w,b,α)=21​∣∣w∣∣2−i=1∑m​αi​(yi​(wTxi​+b)−1)

  • 上式可以转换为(因为gj(x)⩾0\mathbf{g}_{\mathbf{j}}\left( \mathbf{x} \right) \geqslant 0gj​(x)⩾0,所以是,所以是,所以是max⁡αi⩾0\underset{\mathbf{\alpha }_{\mathbf{i}}\geqslant 0}{\max}αi​⩾0max​):
    min⁡w,bθ(w)=min⁡w,bmax⁡αi⩾0L(w,b,α)\underset{\mathbf{w},\mathbf{b}}{\min}\mathbf{\theta }\left( \mathbf{w} \right) =\underset{\mathbf{w},\mathbf{b}}{\min}\underset{\mathbf{\alpha }_{\mathbf{i}}\geqslant 0}{\max}\mathbf{L}\left( \mathbf{w},\mathbf{b},\mathbf{\alpha } \right) w,bmin​θ(w)=w,bmin​αi​⩾0max​L(w,b,α)

  • 满足以下KTT条件时,上式等价于max⁡αi⩾0min⁡w,bL(w,b,α)\underset{\mathbf{\alpha }_{\mathbf{i}}\geqslant 0}{\max}\underset{\mathbf{w},\mathbf{b}}{\min}\mathbf{L}\left( \mathbf{w},\mathbf{b},\mathbf{\alpha } \right)αi​⩾0max​w,bmin​L(w,b,α):
    {αi⩾0,yif(xi)⩾1,αi(yif(xi)−1)=0\left\{ \begin{array}{c} \mathbf{\alpha }_{\mathbf{i}}\geqslant 0\text{,}\\ \mathbf{y}_{\mathbf{i}}\mathbf{f}\left( \mathbf{x}_{\mathbf{i}} \right) \geqslant 1,\\ \mathbf{\alpha }_{\mathbf{i}}\left( \mathbf{y}_{\mathbf{i}}\mathbf{f}\left( \mathbf{x}_{\mathbf{i}} \right) -1 \right) =0\\ \end{array} \right. ⎩⎨⎧​αi​⩾0,yi​f(xi​)⩾1,αi​(yi​f(xi​)−1)=0​

  • 令L(w,b,α)对w和b的偏导为零可得:
    w=∑i=1mαiyixi,∑i=1mαiyi=0\mathbf{w}=\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}\mathbf{y}_{\mathbf{i}}\mathbf{x}_{\mathbf{i}}\text{,}}\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}\mathbf{y}_{\mathbf{i}}=0} w=i=1∑m​αi​yi​xi​,i=1∑m​αi​yi​=0

  • 代回原式,进一步简化目标函数,转化为优化αi\mathbf{\alpha }_{\mathbf{i}}αi​,总共m个αi\mathbf{\alpha }_{\mathbf{i}}αi​:
    min⁡α12∑i=1m∑j=1mαiαjyiyjxiTxj−∑i=1mαis.t.∑i=1mαiyi=0,αi⩾0,i=1,2,...,m\underset{\mathbf{\alpha }}{\min}\frac{1}{2}\sum_{\mathbf{i}=1}^{\mathbf{m}}{\sum_{\mathbf{j}=1}^{\mathbf{m}}{\begin{array}{c} \mathbf{\alpha }_{\mathbf{i}}\mathbf{\alpha }_{\mathbf{j}}\mathbf{y}_{\mathbf{i}}\mathbf{y}_{\mathbf{j}}\mathbf{x}_{\mathbf{i}}^{\mathbf{T}}\mathbf{x}_{\mathbf{j}}-\sum_{\mathbf{i}=1}^{\mathbf{m}}{\begin{array}{c} \begin{array}{c} \mathbf{\alpha }_{\mathbf{i}}\\ \end{array}\\ \end{array}}\\ \end{array}}} \\ \mathbf{s}.\mathbf{t}.\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}\mathbf{y}_{\mathbf{i}}=0},\mathbf{\alpha }_{\mathbf{i}}\geqslant 0,\mathbf{i}=1,2,...,\mathbf{m} αmin​21​i=1∑m​j=1∑m​αi​αj​yi​yj​xiT​xj​−∑i=1m​αi​​​​s.t.i=1∑m​αi​yi​=0,αi​⩾0,i=1,2,...,m

  • 使用序列最小化算法SMO求解,假定已经得到最优化参数向量α∗\mathbf{\alpha }^*α∗,则:
    w∗=∑i=1mαi∗yixi\mathbf{w}^*=\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}^{*}\mathbf{y}_{\mathbf{i}}\mathbf{x}_{\mathbf{i}}\,\, } w∗=i=1∑m​αi∗​yi​xi​
    而由WTxi+bi=yi\mathbf{W}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b}_{\mathbf{i}}=\mathbf{y}_{\mathbf{i}}WTxi​+bi​=yi​得:
    bj∗=yj−∑i=1mαi∗yixiTxj,且αj≠0\mathbf{b}_{\mathbf{j}}^{*}=\mathbf{y}_{\mathbf{j}}-\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}^{*}\mathbf{y}_{\mathbf{i}}\mathbf{x}_{\mathbf{i}}^{\mathbf{T}}\mathbf{x}_{\mathbf{j}},}\text{且}\mathbf{\alpha }_{\mathbf{j}}\ne 0 bj∗​=yj​−i=1∑m​αi∗​yi​xiT​xj​,且αj​​=0

  • 最终的分类决策函数:
    f(xj)=sgn(∑i=1mαi∗yixiTxj+b∗)\mathbf{f}\left( \mathbf{x}_{\mathbf{j}} \right) =sgn \left( \sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}^{*}\mathbf{y}_{\mathbf{i}}\mathbf{x}_{\mathbf{i}}^{\mathbf{T}}\mathbf{x}_{\mathbf{j}}}+\mathbf{b}^* \right) f(xj​)=sgn(i=1∑m​αi∗​yi​xiT​xj​+b∗)

  • 分析KKT条件的yif(xi)⩾1\mathbf{y}_{\mathbf{i}}\mathbf{f}\left( \mathbf{x}_{\mathbf{i}} \right) \geqslant 1yi​f(xi​)⩾1和αi(yif(xi)−1)=0\mathbf{\alpha }_{\mathbf{i}}\left( \mathbf{y}_{\mathbf{i}}\mathbf{f}\left( \mathbf{x}_{\mathbf{i}} \right) -1 \right) =0αi​(yi​f(xi​)−1)=0:
    whenyif(xi)>1⟹αi=0\mathbf{when}\,\,\mathbf{y}_{\mathbf{i}}\mathbf{f}\left( \mathbf{x}_{\mathbf{i}} \right) >1\Longrightarrow \mathbf{\alpha }_{\mathbf{i}}=0 whenyi​f(xi​)>1⟹αi​=0
    即:支持向量机具有稀疏性,训练完成后,大部分的训练样本都不需要保留,最终模型仅与支持向量有关。

  • 然后使用SMO算法求解优化参数αi,iϵ{1,2,...,m}\mathbf{\alpha }_{\mathbf{i}},\mathbf{i\epsilon }\left\{ 1,2,...,\mathbf{m} \right\}αi​,iϵ{1,2,...,m}:

    第一步:选取一对αi\mathbf{\alpha }_{\mathbf{i}}αi​和和和αj\mathbf{\alpha }_{\mathbf{j}}αj​进行更新。

    第二步:固定αi\mathbf{\alpha }_{\mathbf{i}}αi​和和和αj\mathbf{\alpha }_{\mathbf{j}}αj​以外的参数,仅考虑αi\mathbf{\alpha }_{\mathbf{i}}αi​和和和αj\mathbf{\alpha }_{\mathbf{j}}αj​求解对偶问题,则对偶问题的约束变为:
    ∑i=1mαiyi=0变 为→αiyi+αjyj=−∑k≠i,jmαkyk,αi⩾0,αj⩾0\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}\mathbf{y}_{\mathbf{i}}=0}\underrightarrow{\text{ 变 } 为 } \mathbf{\alpha }_{\mathbf{i}}\mathbf{y}_{\mathbf{i}}+\mathbf{\alpha }_{\mathbf{j}}\mathbf{y}_{\mathbf{j}}=-\sum_{\mathbf{k}\ne \mathbf{i},\mathbf{j}}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{k}}\mathbf{y}_{\mathbf{k}}\text{,}}\mathbf{\alpha }_{\mathbf{i}}\geqslant 0,\mathbf{\alpha }_{\mathbf{j}}\geqslant 0 i=1∑m​αi​yi​=0 变 为​αi​yi​+αj​yj​=−k​=i,j∑m​αk​yk​,αi​⩾0,αj​⩾0
    第三步:通过第二步得出的αi\mathbf{\alpha }_{\mathbf{i}}αi​和αj\mathbf{\alpha }_{\mathbf{j}}αj​的等式关系,选取保留其中一者,例如αi\mathbf{\alpha }_{\mathbf{i}}αi​=g(=g(=g(αj\mathbf{\alpha }_{\mathbf{j}}αj​)代入目标函数:
    min⁡α12∑i=1m∑j=1mαig(αj)yiyjxiTxj−∑i=1mαis.t.αi⩾0,i=1,2,...,m\underset{\mathbf{\alpha }}{\min}\frac{1}{2}\sum_{\mathbf{i}=1}^{\mathbf{m}}{\sum_{\mathbf{j}=1}^{\mathbf{m}}{\begin{array}{c} \mathbf{\alpha }_{\mathbf{i}}\mathbf{g}\left( \mathbf{\alpha }_{\mathbf{j}} \right) \mathbf{y}_{\mathbf{i}}\mathbf{y}_{\mathbf{j}}\mathbf{x}_{\mathbf{i}}^{\mathbf{T}}\mathbf{x}_{\mathbf{j}}-\sum_{\mathbf{i}=1}^{\mathbf{m}}{\begin{array}{c} \begin{array}{c} \mathbf{\alpha }_{\mathbf{i}}\\ \end{array}\\ \end{array}}\\ \end{array}}} \\ \mathbf{s}.\mathbf{t}.\mathbf{\alpha }_{\mathbf{i}}\geqslant 0,\mathbf{i}=1,2,...,\mathbf{m} αmin​21​i=1∑m​j=1∑m​αi​g(αj​)yi​yj​xiT​xj​−∑i=1m​αi​​​​s.t.αi​⩾0,i=1,2,...,m
    第四步:针对上式再次求解该目标函数的凸优化问题,得到αi\mathbf{\alpha }_{\mathbf{i}}αi​和αj\mathbf{\alpha }_{\mathbf{j}}αj​的更新值, 然后求解出w * 和 b *。

例题:

  • 给定正例x1=(3,3),x2=(4,3),负例x3=(1,1),计算支 持向量、分类决策函数和分类超平面方程。

2.线性支持向量机(linear support vector machine)

  • 核心:软间隔最大化(soft margin maximization)
  • 数据对象:近似线性可分数据(大部分数据线性可分,有些不可分

训练数据中有一些特异点(outlier),不能满足函数间隔大于等于1的约束条件,引入一个松弛变量

支持向量机(SVM)的原理推导及解释相关推荐

  1. 支持向量机SVM算法原理及应用(R)

    支持向量机SVM算法原理及应用(R) 2016年08月17日 16:37:25 阅读数:22292更多 个人分类: 数据挖掘实战应用 版权声明:本文为博主原创文章,转载请注明来源. https://b ...

  2. EM算法的原理推导及解释

    文章目录 EM算法的原理推导及解释 前置知识:极大似然估计(Maximum Likelihood) 核心部分:期望最大化算法(Expectation Maximum) 实例:EM求解"三硬币 ...

  3. Adaboost算法的原理推导及解释

    文章目录 Adaboost算法的原理推导及解释 前置知识:Boosting概述 Boosting方法的基本思想 Boosting方法的的学习方法 核心部分:Adaboost算法的原理推导和解释 Ada ...

  4. 支持向量机SVM详细原理,Libsvm工具箱详解,svm参数说明,svm应用实例,神经网络1000案例之15

    目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 SVM应用实例,基于SVM的股票价格预测 支持向量机SVM的详细原理 SVM的定义 ...

  5. 支持向量机SVM算法原理笔记2

    上篇博客介绍了当样本集是线性可分情况下的SVM算法原理.接下来介绍不存在一个划分超平面可以正确分类的问题,比如说"异或问题". 对于此类问题,可以将样本空间映射到更高维度空间,这样 ...

  6. 支持向量机 (SVM)分类器原理分析与基本应用

    转自:穆晨 阅读目录 前言 预备术语 算法原理 如何计算最优超平面 使用SMO - 高效优化算法求解 α 值 非线性可分情况的大致解决思路 小结 回到顶部 前言 支持向量机,也即SVM,号称分类算法, ...

  7. 支持向量机SVM算法原理

    SVM 的英文叫 Support Vector Machine,中文名为支持向量机.它是常见的一种分类方法,在机器学习中,SVM 是有监督的学习模型. 什么是有监督的学习模型呢?它指的是我们需要事先对 ...

  8. 支持向量机SVM算法原理笔记1

    最近在学习李航编写的<统计学习方法>一书,看到SVM这一章时遇到了一些困难,在翻阅很多资料之后对其有了一定的理解,所以打算写篇博客来记录一下,后面如果有时间也会把前面几章中的算法加以整理. ...

  9. 【算法原理】支持向量机SVM算法原理

  10. python支持向量机SVM (sklearn)

    python支持向量机SVM (sklearn) 文章目录 python支持向量机SVM (sklearn) 原理概述 代码 导入库 生成数据集 核心代码 线性不可分的情况 核函数 重要参数C(软间隔 ...

最新文章

  1. JS document
  2. 2020 前端开源领域技术展望
  3. SAP Spartacus master branch for 4.0 无法使用 yarn build
  4. Web前端基础---CSS样式--盒子模型--浮动与定位
  5. python中isort的使用
  6. Linux各发行版本 优缺点 简介
  7. SAP License:AM-资产冻结与停用
  8. DSP之有限字长效应
  9. c# 读取写入excel单元格(包括对excel的一些基本操作)
  10. 人性的弱点【我要喜欢你】
  11. 临平职高计算机分数线,权威发布!余杭区2017年各类高中招生第一批次录取分数线划定!...
  12. d2crub学习2 算合计
  13. 光流与Lucas-Kanade 光流法
  14. 在java中使用RBL服务器(中国反垃圾邮件联盟的CBL+使用)
  15. 2年乘坐南航2次,却攒了48000里程,我是怎样做到的?(2)
  16. 2019-CSP赛后总结
  17. android表格可以编辑,手机wps中如何编辑表格
  18. Matlab代码:计及三方市场主体接入的园区综合能源系统能量管理
  19. python中print无法打印在控制台输出_Pycharm Python控制台不打印输出
  20. 基于HTML5+PHP+MySQL的毕业设计选题管理系统

热门文章

  1. cruzer php sandisk 闪迪u盘量产工具_闪迪sandisk U盘不量产修复方法教程
  2. 格局打开:NFT持有者决定IP天花板
  3. JASS随机物品系统
  4. C语言 使用DFT得到信号幅度谱
  5. Windows取证分析基础知识大全
  6. 软件测试-xx银行面试经验过程详细版
  7. 工作流软件哪个好?介绍几款知名的工作流软件
  8. 紧密中心度(Closeness Centrality)
  9. php speex,开源语音格式speex教程
  10. 计算机测色配色应用,计算机测色及配色.doc