模式识别与机器学习-判别式分类器

模式识别与机器学习-判别式分类器

  • 生成式模型和判别式模型的区别
  • 线性判别函数
    • 多分类情况
      • 多分类情况1
      • 多分类情况2
      • 多分类情况3
    • 例题
  • 广义线性判别函数
    • 实例
  • 分段线性判别函数
  • Fisher线性判别
  • 感知机算法
    • 例:
    • 感知机多类别分类

谨以此博客作为学习期间的记录

生成式模型和判别式模型的区别

生成式模型关注如何生成整个数据的分布,而判别式模型则专注于学习如何根据给定输入预测输出标签或数值。在实践中多数判别式模型要优于生成式模型。

在这里插入图片描述

线性判别函数

对于一个两类问题来说,就是如何找到一条线(高维空间中是超平面)去将两类不同的样本分割开来。

若x是二维模式样本 x = [ x 1 x 2 ] T x = \begin{bmatrix} x_1 \\ x_2 \end{bmatrix}^T x=[x1x2]T,其中 x 1 x_1 x1 x 2 x_2 x2是其坐标分量。
在这里插入图片描述
d ( x ) = w 1 x 1 + w 2 x 2 + w 3 = 0 d(x) = w_1x_1 + w_2x_2 + w_3 = 0 d(x)=w1x1+w2x2+w3=0
其中, x 1 x_1 x1 x 2 x_2 x2为坐标变量, w 1 w_1 w1 w 2 w_2 w2 w 3 w_3 w3为参数方程。当一个未知类别的模式代入 d ( x ) d(x) d(x) 时:

  • d ( x ) > 0 d(x) > 0 d(x)>0,则 样本属于 w 1 w_1 w1
  • d ( x ) < 0 d(x) < 0 d(x)<0,则 样本属于 w 2 w_2 w2
    此时, d ( x ) = 0 d(x) = 0 d(x)=0 称为判别函数。

n维线性判别函数的一般形式可以表示为: d ( x ) = w T x + w 0 = 0 d(\mathbf{x}) = \mathbf{w}^T \mathbf{x} + w_0 = 0 d(x)=wTx+w0=0
其中, x = [ x 1 , x 2 , … , x n ] T \mathbf{x} = [x_1, x_2, \dots, x_n]^T x=[x1,x2,,xn]T 表示 n 维模式样本, w = [ w 1 , w 2 , … , w n ] T \mathbf{w} = [w_1, w_2, \dots, w_n]^T w=[w1,w2,,wn]T 是权重向量, w 0 w_0 w0 是偏置项或阈值。通过这个判别函数,可以将样本空间分割成不同的类别区域。

多分类情况

在二分类问题中,只需要根据判别函数 d ( x ) d(x) d(x)的正负即可将样本划分为不同的类别。但是在多分类问题中,情况较为复杂,有以下三种处理方式:

多分类情况1

用线性判别函数将属于 ω i ω_i ωi类的模式与不属于 ω i ω_i ωi类的模式分开,用多个判别函数来完成分类任务,每一个判别函数 d i ( x ) d_i(x) di(x)只有一个任务,那就是这个样本是否属于 w i w_i wi类。
判别情况通常可以表示为:

  • d i ( x ) > 0 d_i(x) > 0 di(x)>0,则样本 x x x 被判定为属于 ω i ω_i ωi 类。
  • d i ( x ) < 0 d_i(x) < 0 di(x)<0,则样本 x x x 被判定为不属于 ω i ω_i ωi 类。
    在这里插入图片描述

多分类情况2

用多个判别函数来完成分类任务,判别函数 d i j ( x ) d_{ij}(x) dij(x)会判断样本x属于 w i w_i wi还是 w j w_j wj.
对一个三类情况, d 12 ( x ) = 0 对一个三类情况,d_{12}(x)=0 对一个三类情况,d12(x)=0仅能分开 ω 1 ω_1 ω1 ω 2 ω_2 ω2类,不能分开 ω 1 ω_1 ω1 ω 3 ω_3 ω3类。

要分开 M M M类模式,共需 M ( M − 1 ) 2 \frac{M(M-1)}{2} 2M(M1)个判别函数。

不确定区域:若所有 d i j ( x ) d_{ij}(x) dij(x),找不到 d i j ( x ) > 0 d_{ij}(x)>0 dij(x)>0的情况。
在这里插入图片描述

多分类情况3

在这种情况下,判别函数可以分解 d i j ( x ) = d i ( x ) − d j ( x ) d_{ij}(x) = d_i(x) - d_j(x) dij(x)=di(x)dj(x),其实 d i ( x ) d_i(x) di(x)可以理解为样本x距离类别 w i w_i wi的相似度,哪个 d i ( x ) d_i(x) di(x)大,x就离哪个类别近。
在这里插入图片描述
在这里插入图片描述

例题

Q1:
一个 10 类的模式识别问题中,有 3 类单独满足多类情况 1,其余的类别满足多类情况 2。问该模式识别问题所需判别函数的最少数目是多少?

A1:
将其余的类别满足多类情况 2的暂时先看为一类,这样的话需要4个判别函数就可以将 w 1 , w 2 , w 3 , { w 4 , w 5 , w 6 , w 7 , w 8 , w 9 , w 10 } w1,w2,w3,\{w4,w5,w6,w7,w8,w9,w10\} w1,w2,w3,{w4,w5,w6,w7,w8,w9,w10}划分开来,而要想将 w 4 , w 5 , w 6 , w 7 , w 8 , w 9 , w 10 w4,w5,w6,w7,w8,w9,w10 w4,w5,w6,w7,w8,w9,w10划分开,需要 7 ∗ ( 7 − 1 ) 2 = 21 \frac{7*(7-1)}{2} = 21 27(71)=21,因此一共需要21+4 = 25个判别函数。

Q2:
一个三类问题,其判别函数如下: d 1 ( x ) = − x 1 , d 2 ( x ) = x 1 + x 2 − 1 , d 3 ( x ) = x 1 − x 2 − 1 d_1(x) = -x_1,d_2(x) = x_1+x_2-1,d_3(x) = x_1-x_2-1 d1(x)=x1,d2(x)=x1+x21,d3(x)=x1x21

  1. 设这些函数是在多类情况 1 条件下确定的,绘出其判别界面和每一个模式类别的区域
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  2. 设为多类情况 2,并使: d 12 ( x ) = d 1 ( x ) , d 13 ( x ) = d 2 ( x ) , d 23 ( x ) = d 3 ( x ) d_{12}(x)= d_1(x), d_{13}(x)= d_2(x), d_{23}(x)= d_3(x) d12(x)=d1(x),d13(x)=d2(x),d23(x)=d3(x)。绘出其判别界面和多类情况 2 的区域
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  3. d 1 ( x ) , d 2 ( x ) 和 d 3 ( x ) d_1(x), d_2(x)和 d_3(x) d1(x),d2(x)d3(x)是在多类情况 3 的条件下确定的,绘出其判别界面和每类的区域。

如果属于类别 w 1 w_1 w1,那么 d 1 ( x ) d_1(x) d1(x)是三个判别函数中最大的,有 − x 1 > x 1 + x 2 − 1 − x 1 > x 1 − x 2 − 1 -x_1 > x_1+x_2 - 1\\ -x_1>x_1-x_2-1 x1>x1+x21x1>x1x21
化简之后有:
2 x 1 + x 2 − 1 < 0 2 x 1 − x 2 − 1 < 0 2x_1+x_2 - 1<0\\ 2x_1-x_2 - 1<0\\ 2x1+x21<02x1x21<0
同理:
如果属于类别 w 2 w_2 w2,那么 d 2 ( x ) d_2(x) d2(x)是三个判别函数中最大的,有 x 1 + x 2 − 1 > − x 1 x 1 + x 2 − 1 > x 1 − x 2 − 1 x_1+x_2 - 1>-x_1\\ x_1+x_2 - 1>x_1-x_2-1 x1+x21>x1x1+x21>x1x21
化简之后有:
2 x 1 + x 2 − 1 > 0 x 2 > 0 2x_1+x_2 - 1>0\\ x_2>0\\ 2x1+x21>0x2>0
同理:
如果属于类别 w 3 w_3 w3,那么 d 3 ( x ) d_3(x) d3(x)是三个判别函数中最大的,有 x 1 − x 2 − 1 > − x 1 x 1 − x 2 − 1 > x 1 + x 2 − 1 x_1-x_2 - 1>-x_1\\ x_1-x_2 - 1>x_1+x_2-1 x1x21>x1x1x21>x1+x21
化简之后有:
2 x 1 − x 2 − 1 > 0 x 2 < 0 2x_1-x_2 - 1>0\\ x_2<0\\ 2x1x21>0x2<0
在这里插入图片描述

广义线性判别函数

基本思想:可以在线性判别函数的基础上添加一些非线性特征,从而具有更好的表达能力。
若有一个训练用的模式集 { x } \{x\} {x},在模式空间 x x x 中线性不可分,但在模式空间 x ∗ x^* x 中线性可分。其中 x ∗ x^* x 的各个分量是 x x x 的单值实函数, x ∗ x^* x 的维数 k k k 高于 x x x 的维数 n n n,即若取
x ∗ = ( f 1 ( x ) , f 2 ( x ) , … , f k ( x ) ) , k > n x^* = (f_1(x), f_2(x), \dots, f_k(x)), \quad k > n x=(f1(x),f2(x),,fk(x)),k>n
则分类界面在 x ∗ x^* x 中是线性的,在 x x x 中是非线性的。此时只要将模式 x x x 进行非线性变换,使之变换后得到维数更高的模式 x ∗ x^* x,就可以用线性判别函数来进行分类。
此时广义线性判别函数可以表达为:
d ( x ) = w 1 f 1 ( x ) + w 2 f 2 ( x ) + . . . + w k f k ( x ) + w k + 1 d(x) = w_1f_1(x)+w_2f_2(x)+...+w_kf_k(x)+w_{k+1} d(x)=w1f1(x)+w2f2(x)+...+wkfk(x)+wk+1

实例

f i ( x ) f_i(x) fi(x) r r r次多项式, x x x是n维的情况。
在这里插入图片描述
Q3:
两类模式,每类包括 5 个 3 维不同的模式向量,且良好分布。如果它们是线性可分的,问权向量至少需要几个系数分量?假如要建立二次的多项式判别函数,又至少需要几个系数分量?(设模式的良好分布不因模式变化而改变。)

系数分量的个数为: C n + r r C_{n+r}^{r} Cn+rr

如果线性可分: C 4 1 = 4 C_{4}^{1} = 4 C41=4

如果建立二次判别函数: C 3 + 2 2 = 10 C_{3+2}^{2} = 10 C3+22=10

分段线性判别函数

在有些非线性可分场景下,可以使用二次判别函数,另一种处理方式是使用分段线性函数去逼近这个二次函数。
在这里插入图片描述

Fisher线性判别

在低维空间里解析上或计算上行得通的方法,在高维空间里往往行不通。因此,降低维数有时就会成为处理实际问题的关键。
思想:根据实际情况找到一条最好的、最易于分类的投影线。将点投影到这条线上实现降维。
在这里插入图片描述
y n = W T x n y_n = W^Tx_n yn=WTxn这样就实现了从n维样本到一维的变换。关键在于如何确定W,从而使类内样本间隔尽可能小,类间样本间隔尽可能大。
在这里插入图片描述
最终求解得到的最优参数 w ∗ = S w − 1 ( m 1 − m 2 ) w*=S_w^{-1} (m_1-m_2) w=Sw1(m1m2)

感知机算法

感知器算法实质上是一种赏罚过程

  • 对正确分类的模式则“赏”,实际上是“不罚”,即权向量不变。
  • 对错误分类的模式则“罚”,使w(k)加上一个正比于 x k x_k xk的分量。
  • 当用全部模式样本训练过一轮以后,只要有一个模式是判别错误的,则需要进行下一轮迭代,即用全部模式样本再训练一次。
  • 如此不断反复直到全部模式样本进行训练都能得到正确的分类结果为止。

在这里插入图片描述

例:

  • 用感知器算法求下列模式分类的解向量 w w w :
    ω 1 : { ( 0 0 0 ) T , ( 1 0 0 ) T , ( 1 0 1 ) T , ( 1 1 0 ) T } ω 2 : { ( 0 0 1 ) T , ( 0 1 1 ) T , ( 0 1 0 ) T , ( 1 1 1 ) T } \begin{aligned} & \omega_1:\left\{\left(\begin{array}{lll} 0 & 0 & 0 \end{array}\right)^{\mathrm{T}},\left(\begin{array}{lll} 1 & 0 & 0 \end{array}\right)^{\mathrm{T}},\left(\begin{array}{lll} 1 & 0 & 1 \end{array}\right)^{\mathrm{T}},\left(\begin{array}{lll} 1 & 1 & 0 \end{array}\right)^{\mathrm{T}}\right\} \\ & \omega_2:\left\{\left(\begin{array}{lll} 0 & 0 & 1 \end{array}\right)^{\mathrm{T}},\left(\begin{array}{lll} 0 & 1 & 1 \end{array}\right)^{\mathrm{T}},\left(\begin{array}{lll} 0 & 1 & 0 \end{array}\right)^{\mathrm{T}},\left(\begin{array}{lll} 1 & 1 & 1 \end{array}\right)^{\mathrm{T}}\right\} \\ & \end{aligned} ω1:{(000)T,(100)T,(101)T,(110)T}ω2:{(001)T,(011)T,(010)T,(111)T}

先将样本点写为增广形式
w 1 : { ( 0 , 0 , 0 , 1 ) , ( 1 , 0 , 0 , 1 ) , ( 1 , 0 , 1 , 1 ) , ( 1 , 1 , 0 , 1 ) } w 2 : { ( 0 , 0 , 1 , 1 ) , ( 0 , 1 , 1 , 1 ) , ( 0 , 1 , 0 , 1 ) , ( 1 , 1 , 1 , 1 ) } w_1:\{(0,0,0,1),(1,0,0,1),(1,0,1,1),(1,1,0,1)\}\\ w_2:\{(0,0,1,1),(0,1,1,1),(0,1,0,1),(1,1,1,1)\} w1:{(0,0,0,1),(1,0,0,1),(1,0,1,1),(1,1,0,1)}w2:{(0,0,1,1),(0,1,1,1),(0,1,0,1),(1,1,1,1)}

将属于 w 2 w_2 w2的样本统一乘上-1,得到 w 2 : { ( 0 , 0 , − 1 , − 1 ) , ( 0 , − 1 , − 1 , − 1 ) , ( 0 , − 1 , 0 , − 1 ) , ( − 1 , − 1 − 1 , − 1 ) } w_2:\{(0,0,-1,-1),(0,-1,-1,-1),(0,-1,0,-1),(-1,-1-1,-1)\} w2:{(0,0,1,1),(0,1,1,1),(0,1,0,1),(1,11,1)}

初始化 w 0 = ( 0 , 0 , 0 , 0 ) , C = 1 w_0 = (0,0,0,0),C = 1 w0=(0,0,0,0),C=1

w 0 ∗ ( 0 , 0 , 0 , 1 ) = 0 , w 1 = w 0 + C ∗ ( 0 , 0 , 0 , 1 ) = ( 0 , 0 , 0 , 1 ) w 1 ∗ ( 1 , 0 , 0 , 1 ) = 1 , w 2 = w 1 = ( 0 , 0 , 0 , 1 ) w 2 ∗ ( 1 , 0 , 1 , 1 ) = 1 , w 3 = w 2 = ( 0 , 0 , 0 , 1 ) w 3 ∗ ( 1 , 1 , 0 , 1 ) = 1 , w 4 = w 3 = ( 0 , 0 , 0 , 1 ) w 4 ∗ ( 0 , 0 , − 1 , − 1 ) = − 1 , w 5 = w 4 + C ∗ ( 0 , 0 , − 1 , − 1 ) = ( 0 , 0 , − 1 , 0 ) w 5 ∗ ( 0 , − 1 , − 1 , − 1 ) = 1 , w 6 = w 5 = ( 0 , 0 , − 1 , 0 ) w 6 ∗ ( 0 , − 1 , 0 , − 1 ) = 0 , w 7 = w 6 + C ∗ ( 0 , − 1 , 0 , − 1 ) = ( 0 , − 1 , − 1 , − 1 ) w 7 ∗ ( − 1 , − 1 , − 1 , − 1 ) = 3 , w 8 = w 7 = ( 0 , − 1 , − 1 , − 1 ) . . . w 39 = ( 2. , − 2. , − 2. , 1 ) d = 2 x 1 − 2 x 2 − 2 x 3 + x 4 w_0 * (0,0,0,1) = 0,\qquad w_1 = w_0 + C*(0,0,0,1) = (0,0,0,1)\\ w_1*(1,0,0,1) = 1,\qquad w_2 = w_1 = (0,0,0,1)\\ w_2*(1,0,1,1) = 1,\qquad w_3 = w_2 = (0,0,0,1)\\ w_3*(1,1,0,1) = 1,\qquad w_4 = w_3 = (0,0,0,1)\\ w_4*(0,0,-1,-1) = -1,\qquad w_5 = w_4 + C*(0,0,-1,-1) = (0,0,-1,0)\\ w_5*(0,-1,-1,-1) = 1,\qquad w_6 = w_5 = (0,0,-1,0)\\ w_6*(0,-1,0,-1) = 0,\qquad w_7 = w_6+C*(0,-1,0,-1) = (0,-1,-1,-1)\\ w_7*(-1,-1,-1,-1) = 3,\qquad w_8 = w_7 = (0,-1,-1,-1)\\ ...\\ w_{39} = (2., -2., -2., 1)\\ d = 2x_1-2x_2-2x_3+x_4 w0(0,0,0,1)=0,w1=w0+C(0,0,0,1)=(0,0,0,1)w1(1,0,0,1)=1,w2=w1=(0,0,0,1)w2(1,0,1,1)=1,w3=w2=(0,0,0,1)w3(1,1,0,1)=1,w4=w3=(0,0,0,1)w4(0,0,1,1)=1,w5=w4+C(0,0,1,1)=(0,0,1,0)w5(0,1,1,1)=1,w6=w5=(0,0,1,0)w6(0,1,0,1)=0,w7=w6+C(0,1,0,1)=(0,1,1,1)w7(1,1,1,1)=3,w8=w7=(0,1,1,1)...w39=(2.,2.,2.,1)d=2x12x22x3+x4

  • 编写求解上述问题的感知器算法程序 (选做)
import numpy as np# 定义样本集
w1_samples = np.array([[0, 0, 0, 1], [1, 0, 0, 1], [1, 0, 1, 1], [1, 1, 0, 1]])
w2_samples = np.array([[0, 0, -1, -1], [0, -1, -1, -1], [0, -1, 0, -1], [-1, -1, -1, -1]])# 合并样本并初始化增广形式
X = np.vstack((w1_samples, w2_samples))# 初始权重向量和参数设置
w = np.zeros(X.shape[1])  # 初始权重向量
C = 1  # 正则化参数
converged = False  # 收敛标志# 迭代更新权重向量
iteration = 0
while not converged:converged = Truefor i in range(X.shape[0]):if np.dot(w, X[i]) <= 0:  # 判断误分类点w = w + C * X[i]  # 更新权重向量converged = False  # 存在误分类点,未收敛print(f"Iteration {iteration + 1}: w = {w}")iteration += 1print(f"\nConverged at iteration {iteration}: Final w = {w}")

输出结果:

Iteration 1: w = [0. 0. 0. 1.]
Iteration 2: w = [0. 0. 0. 1.]
Iteration 3: w = [0. 0. 0. 1.]
Iteration 4: w = [0. 0. 0. 1.]
Iteration 5: w = [ 0.  0. -1.  0.]
Iteration 6: w = [ 0.  0. -1.  0.]
Iteration 7: w = [ 0. -1. -1. -1.]
Iteration 8: w = [ 0. -1. -1. -1.]
Iteration 9: w = [ 0. -1. -1.  0.]
Iteration 10: w = [ 1. -1. -1.  1.]
Iteration 11: w = [ 1. -1. -1.  1.]
Iteration 12: w = [ 1. -1. -1.  1.]
Iteration 13: w = [ 1. -1. -2.  0.]
Iteration 14: w = [ 1. -1. -2.  0.]
Iteration 15: w = [ 1. -1. -2.  0.]
Iteration 16: w = [ 1. -1. -2.  0.]
Iteration 17: w = [ 1. -1. -2.  1.]
Iteration 18: w = [ 1. -1. -2.  1.]
Iteration 19: w = [ 2. -1. -1.  2.]
Iteration 20: w = [ 2. -1. -1.  2.]
Iteration 21: w = [ 2. -1. -2.  1.]
Iteration 22: w = [ 2. -1. -2.  1.]
Iteration 23: w = [ 2. -2. -2.  0.]
Iteration 24: w = [ 2. -2. -2.  0.]
Iteration 25: w = [ 2. -2. -2.  1.]
Iteration 26: w = [ 2. -2. -2.  1.]
Iteration 27: w = [ 2. -2. -2.  1.]
Iteration 28: w = [ 2. -2. -2.  1.]
Iteration 29: w = [ 2. -2. -2.  1.]
Iteration 30: w = [ 2. -2. -2.  1.]
Iteration 31: w = [ 2. -2. -2.  1.]
Iteration 32: w = [ 2. -2. -2.  1.]
Iteration 33: w = [ 2. -2. -2.  1.]
Iteration 34: w = [ 2. -2. -2.  1.]
Iteration 35: w = [ 2. -2. -2.  1.]
Iteration 36: w = [ 2. -2. -2.  1.]
Iteration 37: w = [ 2. -2. -2.  1.]
Iteration 38: w = [ 2. -2. -2.  1.]
Iteration 39: w = [ 2. -2. -2.  1.]
Iteration 40: w = [ 2. -2. -2.  1.]Converged at iteration 40: Final w = [ 2. -2. -2.  1.]

感知机多类别分类

在这里插入图片描述
用多类感知器算法求下列模式的判别函数:
ω 1 : ( − 1 , − 1 ) T , ω 2 : ( 0 , 0 ) T , ω 3 : ( 1 , 1 ) T ω_1: (-1, -1)^T, ω_2: (0, 0)^T, ω_3: (1, 1)^T ω1:(1,1)Tω2:(0,0)Tω3:(1,1)T

将样本写为增广形式 ω 1 : ( − 1 , − 1 , 1 ) T , ω 2 : ( 0 , 0 , 1 ) T , ω 3 : ( 1 , 1 , 1 ) T ω_1: (-1, -1,1)^T, ω_2: (0, 0,1)^T, ω_3: (1, 1,1)^T ω1:(1,1,1)Tω2:(0,0,1)Tω3:(1,1,1)T

初始化 d 1 ( x ) = ( 0 , 0 , 0 ) , d 2 ( x ) = ( 0 , 0 , 0 ) , d 3 ( x ) = ( 0 , 0 , 0 ) d_1(x) = (0,0,0),d_2(x) = (0,0,0),d_3(x) = (0,0,0) d1(x)=(0,0,0),d2(x)=(0,0,0),d3(x)=(0,0,0)

d 1 ∗ w 1 = 0 , d 2 ∗ w 1 = 0 , d 3 ∗ w 1 = 0 , d 1 = d 1 + w 1 = ( − 1 , − 1 , 1 ) , d 2 = d 2 − w 1 = ( 1 , 1 , − 1 ) , d 3 = d 3 − w 1 = ( 1 , 1 , − 1 ) d 1 ∗ w 2 = 1 , d 2 ∗ w 2 = − 1 , d 3 ∗ w 3 = − 1 , d 1 = d 1 − w 2 = ( − 1 , − 1 , 0 ) , d 2 = d 2 + w 2 = ( 1 , 1 , 0 ) , d 3 = d 3 − w 2 = ( 1 , 1 , − 2 ) d 1 ∗ w 3 = − 2 , d 2 ∗ w 3 = 2 , d 3 ∗ w 3 = 0 , d 1 = ( − 1 , − 1 , 0 ) , d 2 = d 2 − w 3 = ( 0 , 0 , − 1 ) , d 3 = d 3 + w 3 = ( 2 , 2 , − 1 ) d 1 ∗ w 1 = 2 , d 2 ∗ w 1 = − 1 , d 3 ∗ w 1 = − 5 , d 1 = ( − 1 , − 1 , 0 ) , d 2 = ( 0 , 0 , − 1 ) , d 3 = ( 2 , 2 , − 1 ) d 1 ∗ w 2 = 0 , d 2 ∗ w 2 = − 1 , d 3 ∗ w 2 = − 1 , d 1 = d 1 − w 2 = ( − 1 , − 1 , − 1 ) , d 2 = d 2 + w 2 = ( 0 , 0 , 0 ) , d 3 = d 3 − w 2 = ( 2 , 2 , − 2 ) d 1 ∗ w 3 = − 3 , d 2 ∗ w 3 = 0 , d 3 ∗ w 3 = 2 , d 1 = ( − 1 , − 1 , − 1 ) , d 2 = ( 0 , 0 , 0 ) , d 3 = ( 2 , 2 , − 2 ) d 1 ∗ w 1 = 1 , d 2 ∗ w 1 = 0 , d 3 ∗ w 1 = − 6 , d 1 = ( − 1 , − 1 , − 1 ) , d 2 = ( 0 , 0 , 0 ) , d 3 = ( 2 , 2 , − 2 ) d 1 ∗ w 2 = − 1 , d 2 ∗ w 2 = 0 , d 3 ∗ w 2 = − 2 , d 1 = ( − 1 , − 1 , − 1 ) , d 2 = ( 0 , 0 , 0 ) , d 3 = ( 2 , 2 , − 2 ) d_1*w_1 = 0,\quad d_2*w_1 = 0,\quad d_3*w_1 = 0,\quad d_1 = d_1 + w_1 = (-1,-1,1),\quad d_2 = d_2 - w_1 = (1,1,-1),\quad d_3 = d_3 - w_1 = (1,1,-1)\\ d_1*w_2 = 1,\quad d_2*w_2 = -1,\quad d_3*w_3 = -1,\quad d_1 = d_1 - w_2 = (-1,-1,0),\quad d_2 = d_2 + w_2 = (1,1,0),\quad d_3 = d_3 - w_2 = (1,1,-2)\\ d_1*w_3 = -2,\quad d_2*w_3 = 2,\quad d_3*w_3 = 0,\quad d_1 = (-1,-1,0),\quad d_2 = d_2 - w_3 = (0,0,-1),\quad d_3 = d_3 + w_3 = (2,2,-1)\\ d_1*w_1 = 2,\quad d_2*w_1 = -1,\quad d_3*w_1 = -5,\quad d_1 = (-1,-1,0),\quad d_2 = (0,0,-1),\quad d_3 = (2,2,-1)\\ d_1*w_2 = 0,\quad d_2*w_2 = -1,\quad d_3*w_2 = -1,\quad d_1 =d_1 - w_2 = (-1,-1,-1),\quad d_2 = d_2 + w_2 = (0,0,0),\quad d_3 =d_3 -w_2 = (2,2,-2)\\ d_1*w_3 = -3,\quad d_2*w_3 = 0,\quad d_3*w_3 = 2,\quad d_1 = (-1,-1,-1),\quad d_2 = (0,0,0),\quad d_3 = (2,2,-2)\\ d_1*w_1= 1,\quad d_2*w_1= 0,\quad d_3*w_1 = -6,\quad d_1 = (-1,-1,-1),\quad d_2 = (0,0,0),\quad d_3 = (2,2,-2)\\ d_1*w_2= -1,\quad d_2*w_2= 0,\quad d_3*w_2 = -2,\quad d_1 = (-1,-1,-1),\quad d_2 = (0,0,0),\quad d_3 = (2,2,-2)\\ d1w1=0,d2w1=0,d3w1=0,d1=d1+w1=(1,1,1),d2=d2w1=(1,1,1),d3=d3w1=(1,1,1)d1w2=1,d2w2=1,d3w3=1,d1=d1w2=(1,1,0),d2=d2+w2=(1,1,0),d3=d3w2=(1,1,2)d1w3=2,d2w3=2,d3w3=0,d1=(1,1,0),d2=d2w3=(0,0,1),d3=d3+w3=(2,2,1)d1w1=2,d2w1=1,d3w1=5,d1=(1,1,0),d2=(0,0,1),d3=(2,2,1)d1w2=0,d2w2=1,d3w2=1,d1=d1w2=(1,1,1),d2=d2+w2=(0,0,0),d3=d3w2=(2,2,2)d1w3=3,d2w3=0,d3w3=2,d1=(1,1,1),d2=(0,0,0),d3=(2,2,2)d1w1=1,d2w1=0,d3w1=6,d1=(1,1,1),d2=(0,0,0),d3=(2,2,2)d1w2=1,d2w2=0,d3w2=2,d1=(1,1,1),d2=(0,0,0),d3=(2,2,2)
因此最终
d 1 = − x 1 − x 2 − 1 d 2 = 0 d 3 = 2 x 1 + 2 x 2 − 2 d_1 = -x_1 - x_2 - 1\\ d_2 = 0\\ d_3 = 2x_1+2x_2-2 d1=x1x21d2=0d3=2x1+2x22

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

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

相关文章

跨境电商:平台选择的艺术与科学

一、平台类型与特点 亚马逊&#xff1a;作为全球最大的电商平台之一&#xff0c;亚马逊拥有庞大的用户群体和完善的物流体系。它以优质的服务和高效的配送著称&#xff0c;但竞争也相对激烈。eBay&#xff1a;eBay是一个全球性的在线拍卖和购物网站&#xff0c;它的市场覆盖面…

关于蚁剑(AntSword)的溯源反制

中国蚁剑(AntSword) RCE漏洞 此漏洞在AntSword2.7.1版本上修复 &#xff0c;所以适用于AntSword2.7.1以下版本。 下面介绍被低版本蚁剑攻击后如何进行溯源反打 以物理机为攻击机&#xff0c;虚拟机kali模拟受害者&#xff0c;之后使用kali进行溯源反制 物理机内网ip地址&…

【前端基础】——原型与原型链详解,看一篇即可【图文版】

前言 本文旨在通过图文的方式&#xff0c;一步步回顾原型链的整个流程是如何运作的&#xff0c;如果你刚好在电脑旁边&#xff0c;不妨跟着我的思路&#xff0c;一起走一遍敲一遍代码流程&#xff0c;你会发现原型链并没有你想的那么复杂。 new关键字 我们先看这一个代码&am…

【温故而知新】vue运用之探讨下单页面应用(SPA)与多页面应用(MPA)

一、概念 1.单页面应用SPA(Single page application) Vue单页面应用是一种采用Vue.js框架开发的Web应用程序,它仅有一个HTML文件,通过前端路由实现页面的切换和渲染。与传统的多页面应用相比,Vue单页面应用在用户体验和开发效率方面有着明显的优势。 在Vue单页面应用中…

【JavaEE】多线程(7) -- 线程池的概念和简单实现

目录 1.线程池是什么 2.标准库中的线程池 2.1ThreadPoolExecutor 2.2构造方法参数介绍 2.3拒绝策略(面试易考) 2.4Executor的使用 3.实现线程池 1.线程池是什么 线程池是一种用来管理线程的机制&#xff0c;它可以有效地控制线程的创建、复用和销毁&#xff0c;从而提高程…

vscode括号颜色突然变成白色的了,怎么解决

更新版本后发现vscode的各种括号都变成了白色&#xff0c;由于分色括号已经使用习惯&#xff0c;突然变成白色非常不舒服&#xff0c;尝试多次后&#xff0c;为大家提供一下几种解决方式&#xff0c;希望能帮到同样受到此种困惑的你&#xff1a; 第一种&#xff1a; 首先打开…

07-C++ 异常

异常 1. 概念 异常事件&#xff08;如&#xff1a;除 0 溢出&#xff0c;数组下标越界&#xff0c;所要读取的文件不存在,空指针&#xff0c;内存不足等等&#xff09; 在C 语言对错误的处理是两种方法&#xff1a; 一是使用整型的 返回值标识错误&#xff1a;二是使用 errno…

Spring系列学习四、Spring数据访问

Spring数据访问 一、Spring中的JDBC模板介绍1、新建SpringBoot应用2、引入依赖&#xff1a;3、配置数据库连接&#xff0c;注入dbcTemplate对象&#xff0c;执行查询&#xff1a;4&#xff0c;测试验证&#xff1a; 二、整合MyBatis Plus1&#xff0c;在你的项目中添加MyBatis …

基于uibot知网文论采集机器人设计与实现

摘要 人工智能技术的不断更新迭代为财务数据自动化处理带来了新的机遇和挑战&#xff0c;如何通过人工智能等新兴技术来优化现有的财务流程&#xff0c; 创造更多的企业价值&#xff0c;成为财务信息自动化处理是目前的重点研究方向。机器人流 程自动化作为一种新型的自动化技…

SpringBoot项目部署及多环境

1、多环境 2、项目部署上线 原始前端 / 后端项目宝塔Linux容器容器平台 3、前后端联调 4、项目扩展和规划 多环境 程序员鱼皮-参考文章 本地开发&#xff1a;localhost&#xff08;127.0.0.1&#xff09; 多环境&#xff1a;指同一套项目代码在把不同的阶段需要根据实际…

三个故事,谈谈小米汽车技术发布会

都说新年新气象&#xff0c;随着年末消费旺季到来&#xff0c;汽车市场越来越热闹了。 继蔚来12月23日公布旗舰车型ET9&#xff0c;华为26日发布问界M9&#xff0c;小米汽车首款量产车型SU7终于正式亮相。 12月28日&#xff0c;在小米汽车技术发布会上&#xff0c;小米创办人…

【STM32】STM32学习笔记-TIM输出比较(15)

00. 目录 文章目录 00. 目录01. 输出比较简介02. PWM简介03. 输出比较通道(高级)04. 输出比较通道(通用)05. 输出比较模式06. PWM基本结构07. PWM参数计算08. 舵机简介09. 舵机硬件电路10. 直流电机及驱动简介11. 直流电机硬件电路12. 附录 01. 输出比较简介 OC&#xff08;Ou…

paypal实操常见问题——绑卡篇

1、绑美金提款卡的时候卡号类型怎么选&#xff1f; PayPal在绑定美金提现卡的时候&#xff0c;页面里会出来两个选项&#xff0c;一个是“关联借记卡或信用卡”&#xff0c;一个是“关联银行账户” “关联借记卡或信用卡”这个选项是消费的时候用来付款的卡&#xff1b; “关…

如何使用ArcGIS Pro自动矢量化建筑

相信你在使用ArcGIS Pro的时候已经发现了一个问题&#xff0c;那就是ArcGIS Pro没有ArcScan&#xff0c;在ArcGIS Pro中&#xff0c;Esri确实已经移除了ArcScan&#xff0c;没有了ArcScan我们如何自动矢量化地图&#xff0c;从地图中提取建筑等要素呢&#xff0c;这里为大家介绍…

验证 Mixtral-8x7B-Instruct-v0.1 和 LangChain SQLDatabaseToolkit 的集成效果

验证 Mixtral-8x7B-Instruct-v0.1 和 LangChain SQLDatabaseToolkit 的集成效果 0. 背景1. 验证环境说明2. 验证开始2-1. 准备测试数据库2-2. 读取环境配置信息2-3. 导入依赖包2-3. 创建 SQLDatabaseToolkit 对象和 AgentExecutor 对象2-4. 第1个测试 - 描述一个表2-5. 第2个测…

【动态规划精选题目】3、简单多状态模型

此动态规划系列主要讲解大约10个系列【后续持续更新】 本篇讲解简单多状态模型中的9道经典题&#xff0c;会在讲解题目同时给出AC代码 目录 1、按摩师 2、力扣198:打家劫舍1 3、打家劫舍II 4、删除并获得点数 5、 粉刷房子 6、力扣309:买卖股票的最佳时机含冷冻期 7、 买…

Spring-4-代理

前面提到过&#xff0c;在Spring中有两种类型的代理&#xff1a;使用JDK Proxy类创建的JDK代理以及使用CGLIB Enhancer类创建的基于CGLIB的代理。 你可能想知道这两种代理之间有什么区别&#xff0c;以及为什么 Spring需要两种代理类型。 在本节中&#xff0c;将详细研究代理…

基于策略模式和简单工厂模式实现zip、tar、rar、7z四种压缩文件格式的解压

推荐语 这篇技术文章深入探讨了基于策略模式和简单工厂模式实现四种常见压缩文件格式的解压方法。通过阅读该文章&#xff0c;你将了解到如何利用这两种设计模式来实现灵活、可扩展的解压功能&#xff0c;同时适应不同的压缩文件格式。如果你对设计模式和文件处理感兴趣或刚好…

【JavaEE进阶】 @RequestMapping注解

文章目录 &#x1f384;什么是RequestMapping 注解&#x1f333;RequestMapping 使⽤&#x1f332;RequestMapping 是GET还是POST请求&#xff1f;&#x1f6a9;使用Postman构造POST请求 ⭕总结 &#x1f384;什么是RequestMapping 注解 在Spring MVC 中使⽤ RequestMapping 来…

基于Mapify的在线艺术地图设计

地图是传递空间信息的有效载体&#xff0c;更加美观、生动的地图产品也是我们追求目标。 那么&#xff0c;我们如何才能制出如下图所示这样一幅艺术性较高的地图呢&#xff1f;今天我们来一探究竟吧&#xff01; 按照惯例&#xff0c;现将网址给出&#xff1a; https://www.m…