机器学习笔记之核方法(一)核方法介绍

news2024/10/6 20:28:58

机器学习笔记之核方法——核方法介绍

  • 引言
    • 回顾:支持向量机的对偶问题
    • 核方法思想介绍
      • 线性可分与线性不可分
      • 非线性带来高维转换
      • 对偶表示带来内积
    • 核函数
      • 核函数满足的条件(2022/11/23)

引言

本节将介绍核方法以及核函数

回顾:支持向量机的对偶问题

在支持向量机——引出对偶问题中介绍了将原问题 → \to 无约束原问题 → \to 对偶问题的转化过程。最终得到如下优化问题:
该公式位于‘西瓜书’123页最下方,详细推导过程见链接。
{ max ⁡ λ − 1 2 [ ∑ i = 1 N ∑ j = 1 N λ ( i ) λ ( j ) y ( i ) y ( j ) [ x ( i ) ] T x ( j ) ] + ∑ i = 1 N λ ( i ) s . t . { λ ( i ) ≥ 0 ∑ i = 1 N λ ( i ) y ( i ) = 0 \begin{cases} \mathop{\max}\limits_{\lambda} - \frac{1}{2} \left[\sum_{i=1}^N \sum_{j=1}^N \lambda^{(i)}\lambda^{(j)}y^{(i)}y^{(j)}\left[x^{(i)}\right]^Tx^{(j)}\right] + \sum_{i=1}^N \lambda^{(i)} \\ s.t. \begin{cases} \quad \lambda^{(i)} \geq 0 \\ \sum_{i=1}^N \lambda^{(i)}y^{(i)} = 0 \end{cases} \end{cases} λmax21[i=1Nj=1Nλ(i)λ(j)y(i)y(j)[x(i)]Tx(j)]+i=1Nλ(i)s.t.{λ(i)0i=1Nλ(i)y(i)=0
其中 x ( i ) , x ( j ) ( i , j = 1 , 2 , ⋯   , N ) x^{(i)},x^{(j)}(i,j =1,2,\cdots,N) x(i),x(j)(i,j=1,2,,N)均表示样本集合 X \mathcal X X的样本; y ( i ) , y ( j ) y^{(i)},y^{(j)} y(i),y(j)分别表示样本 x ( i ) , x ( j ) x^{(i)},x^{(j)} x(i),x(j)对应的标签结果; λ ( i ) , λ ( j ) \lambda^{(i)},\lambda^{(j)} λ(i),λ(j)表示样本 x ( i ) , x ( j ) x^{(i)},x^{(j)} x(i),x(j)对应的拉格朗日因子

可以看出, λ ( i ) , λ ( j ) , y ( i ) , y ( j ) \lambda^{(i)},\lambda^{(j)},y^{(i)},y^{(j)} λ(i),λ(j),y(i),y(j)均表示实数,而 [ x ( i ) ] T x ( j ) \left[x^{(i)}\right]^T x^{(j)} [x(i)]Tx(j)表示两样本向量 x ( i ) , x ( j ) x^{(i)},x^{(j)} x(i),x(j)内积结果。在线性分类任务的讨论中,我们假设样本集合 X = ( x ( 1 ) , x ( 2 ) , ⋯   , x ( N ) ) \mathcal X = (x^{(1)},x^{(2)},\cdots,x^{(N)}) X=(x(1),x(2),,x(N))线性可分的,也就是说:存在一条直线或者超平面(基于不同维度),能够将样本空间中的样本点正确划分

但在现实任务中,样本空间中样本可能不是线性可分的。即可能并不存在一个能够将两分类样本正确划分的直线/超平面。基于这种问题,需要引入核方法思想。

核方法思想介绍

线性可分与线性不可分

线性可分是指:在二分类线性分类任务中,使用一个线性函数将样本空间中的样本正确划分。这里的正确划分指的是划分过程中不存在任何错误。常见的线性可分算法有:

  • 感知机算法(Perceptron Algorithm,PLA):基于错误驱动方式,找到满足条件的参数结果
    W ^ = arg ⁡ min ⁡ W ∑ x ( i ) , y ( i ) ∈ D − y ( i ) ( W T x ( i ) + b ) \hat {\mathcal W} = \mathop{\arg\min}\limits_{\mathcal W} \sum_{x^{(i)},y^{(i)} \in \mathcal D} -y^{(i)}\left(\mathcal W^Tx^{(i)} + b\right) W^=Wargminx(i),y(i)Dy(i)(WTx(i)+b)
    针对这种无约束优化问题,使用梯度下降方法寻找最优参数的变化方向:
    W ( t + 1 ) ← W ( t ) − λ ∇ W L ( W , b ) \mathcal W^{(t+1)} \gets \mathcal W^{(t)} - \lambda \nabla_{\mathcal W}\mathcal L(\mathcal W,b) W(t+1)W(t)λWL(W,b)
  • 支持向量机(Support Vector Machine,SVM)。
    这里指的是硬间隔(Hard Margin) SVM算法。

相反,线性不可分是指使用线性函数进行划分时,会产生分类错误的现象。

  • 图像(右)中描述的是仅存在少量错误的情况,此时使用感知机算法会导致模型无法收敛;硬间隔SVM无论如何构建直线,都无法实现线性可分
    线性可分与线性不可分
    具有代表性的解决方法有软间隔SVM:
    { min ⁡ W , b 1 2 W T W + C ∑ i = 1 N ξ ( i ) s . t . { y ( i ) ( W T x ( i ) + b ) ≥ 1 − ξ ( i ) ξ ( i ) ≥ 0 \begin{cases} \mathop{\min}\limits_{\mathcal W,b} \frac{1}{2} \mathcal W^T\mathcal W + \mathcal C \sum_{i=1}^N \xi^{(i)} \\ s.t.\begin{cases} y^{(i)}\left(\mathcal W^Tx^{(i)} + b\right) \geq 1 - \xi^{(i)} \\ \xi^{(i)} \geq 0 \end{cases} \end{cases} W,bmin21WTW+Ci=1Nξ(i)s.t.{y(i)(WTx(i)+b)1ξ(i)ξ(i)0
    其中:
    • ξ ( i ) \xi^{(i)} ξ(i)表示当前错误分类的样本点 ( x ( i ) , y ( i ) ) \left(x^{(i)},y^{(i)}\right) (x(i),y(i))到超平面 y ( i ) ( W T x ( i ) + b ) = 1 y^{(i)}\left(\mathcal W^Tx^{(i)} + b\right) = 1 y(i)(WTx(i)+b)=1距离
    • 1 − ξ ( i ) 1 - \xi^{(i)} 1ξ(i)表示当前错误分类的样本点 ( x ( i ) , y ( i ) ) \left(x^{(i)},y^{(i)}\right) (x(i),y(i))分类直线 W T x ( i ) + b \mathcal W^Tx^{(i)} + b WTx(i)+b距离
  • 不同于上述因少量误差产生的线性不可分问题,真实情况可能是样本本身就是线性不可分问题。例如:
    sklearn中的make_circle样本集合。
    make_circle_sklearn

上述样本空间中的样本显然是非线性的,无法使用直线/超平面对上述两类样本进行划分。
基于上述的非线性可分问题,存在一种思路:将样本特征进行非线性转换,转换的目标是将非线性可分问题转化为线性可分问题

非线性带来高维转换

非线性带来高维转换 的言下之意是,将当前样本空间中无法线性可分的原因归结为样本空间维度过低。以二维特征的亦或问题为例:

二维空间亦或问题图像描述如下:
二维空间-亦或问题描述
基于上图的两类样本分布(蓝色样本点(0,1),(1,0);橙色样本点(0,0),(1,1)),我们没有办法使用一条直线 对样本分类进行正确划分。
如果在当前样本特征的基础上,添加一维新的特征
由于‘亦或问题’比较简单,可以直接将非线性转换的函数描述出来。并且这个非线性转换并不是唯一的,也可以通过其他的非线性转换方式进行描述。
x ( i ) = [ x 1 ( i ) , x 2 ( i ) , ( x 1 ( i ) − x 2 ( i ) ) 2 ] i = 1 , 2 , 3 , 4 x^{(i)} = \left[x_1^{(i)},x_2^{(i)},(x_1^{(i)} - x_2^{(i)})^2\right] \quad i=1,2,3,4 x(i)=[x1(i),x2(i),(x1(i)x2(i))2]i=1,2,3,4
基于新特征的样本点表示如下:
( 0 , 0 , 0 ) , ( 0 , 1 , 1 ) , ( 1 , 0 , 1 ) , ( 1 , 1 , 0 ) (0,0,0),(0,1,1),(1,0,1),(1,1,0) (0,0,0),(0,1,1),(1,0,1),(1,1,0)
对应三维图像表示如下:
核方法处理亦或问题
发现,原始样本点二维特征延伸至三维特征后,很容易地找到平面对样本点进行划分。
这里引用了Cover定理(Cover Theonem)的思想:将复杂的模式分类问题非线性地投射到高维空间将比投射到地位空间更容易线性可分。
同理,我们可以尝试对上述make_circle样本集合设计相应的核函数,具体代码表示如下:

  • 这里设计的核函数是基于高斯分布的核函数,并且两维度相互独立。非线性转换后的样本特征表示如下:
    x ( i ) = [ x 1 ( i ) , x 2 ( i ) , N ( μ 1 , σ ) + N ( μ 2 , σ ) ] μ k = 1 N ∑ i = 1 N x k ( i ) k = 1 , 2 \begin{aligned} x^{(i)} & = \left[x_1^{(i)},x_2^{(i)},\mathcal N(\mu_1,\sigma) + \mathcal N(\mu_2,\sigma)\right] \\ \mu_{k} & = \frac{1}{N} \sum_{i=1}^N x_k^{(i)} \quad k=1,2 \end{aligned} x(i)μk=[x1(i),x2(i),N(μ1,σ)+N(μ2,σ)]=N1i=1Nxk(i)k=1,2
  • 方差 σ \sigma σ作为超参数进行调整。
import matplotlib.pyplot as plt
import math
import numpy as np
from sklearn.datasets import make_circles

def kernel_function(input_space,mean,sigma):

    def pdf(x,mean,sigma):
        return (1 / (sigma * math.sqrt(2 * math.pi))) * math.exp(-0.5 * (((x - mean) ** 2)/(sigma ** 2)))
    return np.array([pdf(i,mean,sigma) for i in input_space])


def get_new_sample(x_space,sigma):
    mean_1 = np.mean(x_space[:,0])
    mean_2 = np.mean(x_space[:,1])
    kernel_1 = kernel_function(x_space[:,0],mean_1,sigma)
    kernel_2 = kernel_function(x_space[:,1],mean_2,sigma)
    kernel_space = kernel_1 + kernel_2
    kernel_space = np.expand_dims(kernel_space,axis=1)
    new_space = np.concatenate((x_space,kernel_space),axis=1)
    return new_space

def draw_make_circle():
    X_circle, Y_circle = make_circles(n_samples=200, noise=0.1, factor=0.1)
    new_sample = get_new_sample(X_circle,sigma=2)
    ax = plt.axes(projection="3d")
    ax.scatter(new_sample[:, 0],new_sample[:, 1],new_sample[:,2],marker="o",edgecolors='m', c=Y_circle)
    plt.show()

if __name__ == '__main__':
    draw_make_circle()

返回图像结果如下:
make_circle非线性转换

对偶表示带来内积

基于非线性带来高维转换的思路,针对线性不可分问题,将样本 x x x的特征进行非线性转换,从而将 x x x特征转化为高维特征
以数据集合 X \mathcal X X的某具体样本点 x ( i ) x^{(i)} x(i)为例。
x ( i ) → ϕ ( x ( i ) ) x^{(i)} \to \phi \left(x^{(i)}\right) x(i)ϕ(x(i))
支持向量机为例,因而特征空间中的划分超平面 对应模型可表示为:
f ( x ) = W T ϕ ( x ) + b f(x) = \mathcal W^T\phi(x) + b f(x)=WTϕ(x)+b
同理,得到的对偶问题可表示如下:
{ max ⁡ λ − 1 2 [ ∑ i = 1 N ∑ j = 1 N λ ( i ) λ ( j ) y ( i ) y ( j ) [ ϕ ( x ( i ) ) ] T ϕ ( x ( j ) ) ] + ∑ i = 1 N λ ( i ) s . t . { λ ( i ) ≥ 0 ∑ i = 1 N λ ( i ) y ( i ) = 0 \begin{cases} \mathop{\max}\limits_{\lambda} - \frac{1}{2} \left[\sum_{i=1}^N \sum_{j=1}^N \lambda^{(i)}\lambda^{(j)}y^{(i)}y^{(j)} \left[\phi \left(x^{(i)}\right)\right]^T\phi\left(x^{(j)}\right)\right] + \sum_{i=1}^N \lambda^{(i)} \\ s.t. \begin{cases} \quad \lambda^{(i)} \geq 0 \\ \sum_{i=1}^N \lambda^{(i)}y^{(i)} = 0 \end{cases} \end{cases} λmax21[i=1Nj=1Nλ(i)λ(j)y(i)y(j)[ϕ(x(i))]Tϕ(x(j))]+i=1Nλ(i)s.t.{λ(i)0i=1Nλ(i)y(i)=0

  • 其中原始对偶问题中 [ x ( i ) ] T x ( j ) [x^{(i)}]^T x^{(j)} [x(i)]Tx(j)表示 x ( i ) , x ( j ) ∈ R p x^{(i)},x^{(j)} \in \mathbb R^p x(i),x(j)Rp自身特征的内积

  • [ ϕ ( x ( i ) ) ] T ϕ ( x ( j ) ) \left[\phi \left(x^{(i)}\right)\right]^T\phi\left(x^{(j)}\right) [ϕ(x(i))]Tϕ(x(j))表示 x ( i ) , x ( j ) x^{(i)},x^{(j)} x(i),x(j)经过非线性转换得到的高维特征 的内积。

  • 上面介绍的亦或例子,相比于原始特征,仅增加了一个特征;但在真实环境中,样本 x x x经过转换得到的新特征 ϕ ( x ) \phi(x) ϕ(x),其特征空间维数可能远远超过了原始特征空间的维数 p p p,甚至是 无限维

    因此,首先求解 ϕ ( x ( i ) ) , ϕ ( x ( j ) ) \phi(x^{(i)}),\phi(x^{(j)}) ϕ(x(i)),ϕ(x(j))本身计算量极高。并且还要计算 [ ϕ ( x ( i ) ) ] T ϕ ( x ( j ) ) \left[\phi \left(x^{(i)}\right)\right]^T\phi\left(x^{(j)}\right) [ϕ(x(i))]Tϕ(x(j)),从而计算量更加庞大了

继续观察对偶问题的表达形式,实际上我们仅关心 [ ϕ ( x ( i ) ) ] T ϕ ( x ( j ) ) \left[\phi \left(x^{(i)}\right)\right]^T\phi\left(x^{(j)}\right) [ϕ(x(i))]Tϕ(x(j))内积的最终结果,而并不需要单个的 ϕ ( x ( i ) ) , ϕ ( x ( j ) ) \phi(x^{(i)}),\phi(x^{(j)}) ϕ(x(i)),ϕ(x(j))结果。因此,求解思路转化为:是否存在这样一种方法,避免求解 ϕ ( x ( i ) ) , ϕ ( x ( j ) ) \phi(x^{(i)}),\phi(x^{(j)}) ϕ(x(i)),ϕ(x(j)),从而直接求解内积 [ ϕ ( x ( i ) ) ] T ϕ ( x ( j ) ) \left[\phi \left(x^{(i)}\right)\right]^T\phi\left(x^{(j)}\right) [ϕ(x(i))]Tϕ(x(j))

核函数(Kernal Function)的引入就是为了解决该问题。

核函数

核函数 κ \kappa κ的定义表示如下:
核函数被定义的核心就是避免求解 ϕ ( x ) \phi(x) ϕ(x).
κ [ x ( i ) , x ( j ) ] = ⟨ ϕ ( x ( i ) ) , ϕ ( x ( j ) ) ⟩ = [ ϕ ( x ( i ) ) ] T ϕ ( x ( j ) ) \kappa\left[x^{(i)},x^{(j)}\right] = \left\langle\phi(x^{(i)}),\phi(x^{(j)})\right\rangle = \left[\phi \left(x^{(i)}\right)\right]^T\phi\left(x^{(j)}\right) κ[x(i),x(j)]=ϕ(x(i)),ϕ(x(j))=[ϕ(x(i))]Tϕ(x(j))
核函数带入,对偶问题最终可重写为:
{ max ⁡ λ − 1 2 [ ∑ i = 1 N ∑ j = 1 N λ ( i ) λ ( j ) y ( i ) y ( j ) [ ϕ ( x ( i ) ) ] T ϕ ( x ( j ) ) ] + ∑ i = 1 N λ ( i ) s . t . { λ ( i ) ≥ 0 ∑ i = 1 N λ ( i ) y ( i ) = 0 ⇒ { max ⁡ λ − 1 2 [ ∑ i = 1 N ∑ j = 1 N λ ( i ) λ ( j ) y ( i ) y ( j ) κ [ x ( i ) , x ( j ) ] ] + ∑ i = 1 N λ ( i ) s . t . { λ ( i ) ≥ 0 ∑ i = 1 N λ ( i ) y ( i ) = 0 \begin{aligned} & \begin{cases} \mathop{\max}\limits_{\lambda} - \frac{1}{2} \left[\sum_{i=1}^N \sum_{j=1}^N \lambda^{(i)}\lambda^{(j)}y^{(i)}y^{(j)} \left[\phi \left(x^{(i)}\right)\right]^T\phi\left(x^{(j)}\right)\right] + \sum_{i=1}^N \lambda^{(i)} \\ s.t. \begin{cases} \quad \lambda^{(i)} \geq 0 \\ \sum_{i=1}^N \lambda^{(i)}y^{(i)} = 0 \end{cases} \end{cases} \\ \Rightarrow & \begin{cases} \mathop{\max}\limits_{\lambda} - \frac{1}{2} \left[\sum_{i=1}^N \sum_{j=1}^N \lambda^{(i)}\lambda^{(j)}y^{(i)}y^{(j)} \kappa \left[x^{(i)},x^{(j)}\right]\right] + \sum_{i=1}^N \lambda^{(i)} \\ s.t. \begin{cases} \quad \lambda^{(i)} \geq 0 \\ \sum_{i=1}^N \lambda^{(i)}y^{(i)} = 0 \end{cases} \end{cases} \end{aligned} λmax21[i=1Nj=1Nλ(i)λ(j)y(i)y(j)[ϕ(x(i))]Tϕ(x(j))]+i=1Nλ(i)s.t.{λ(i)0i=1Nλ(i)y(i)=0λmax21[i=1Nj=1Nλ(i)λ(j)y(i)y(j)κ[x(i),x(j)]]+i=1Nλ(i)s.t.{λ(i)0i=1Nλ(i)y(i)=0
从而对上述优化问题进行求解,得到最优模型参数 W ∗ \mathcal W^* W
模型参数求解传送门
W ∗ = ∑ i = 1 N λ ( i ) y ( i ) ϕ ( x ( i ) ) \mathcal W^* = \sum_{i=1}^N \lambda^{(i)}y^{(i)}\phi(x^{(i)}) W=i=1Nλ(i)y(i)ϕ(x(i))
最终得到如下超平面模型表达式:
λ ( i ) , y ( i ) \lambda^{(i)},y^{(i)} λ(i),y(i)均是实数,其转置等于自身。
f ( x ) = ( W ∗ ) T ϕ ( x ) + b = [ ∑ i = 1 N λ ( i ) y ( i ) ϕ ( x ( i ) ) ] T ϕ ( x ) + b = ∑ i = 1 N λ ( i ) y ( i ) [ ϕ ( x ( i ) ) ] T ϕ ( x ) + b = ∑ i = 1 N λ ( i ) y ( i ) κ ( x , x ( i ) ) + b \begin{aligned} f(x) & = (\mathcal W^*)^T \phi(x) + b \\ & = \left[\sum_{i=1}^N \lambda^{(i)}y^{(i)}\phi(x^{(i)})\right]^T\phi(x) + b \\ & = \sum_{i=1}^N\lambda^{(i)}y^{(i)} \left[\phi(x^{(i)})\right]^T\phi(x) + b \\ & = \sum_{i=1}^N\lambda^{(i)}y^{(i)} \kappa(x,x^{(i)}) + b \end{aligned} f(x)=(W)Tϕ(x)+b=[i=1Nλ(i)y(i)ϕ(x(i))]Tϕ(x)+b=i=1Nλ(i)y(i)[ϕ(x(i))]Tϕ(x)+b=i=1Nλ(i)y(i)κ(x,x(i))+b
如果将核函数 κ ( ⋅ , ⋅ ) \kappa(\cdot,\cdot) κ(,)找出来,上述超平面表达式中, x ( i ) , y ( i ) , λ ( i ) x^{(i)},y^{(i)},\lambda^{(i)} x(i),y(i),λ(i)均是已知量,它就是一个关于 x x x的函数。这样就避免了一个一个求解 [ ϕ ( x ( i ) ) ] T ϕ ( x ) \left[\phi(x^{(i)})\right]^T\phi(x) [ϕ(x(i))]Tϕ(x)的情况。
这种‘避免求解 ϕ ( x ( i ) ) , ϕ ( x ) \phi(x^{(i)}),\phi(x) ϕ(x(i)),ϕ(x)从而直接求解 [ ϕ ( x ( i ) ) ] T ϕ ( x ) \left[\phi(x^{(i)})\right]^T\phi(x) [ϕ(x(i))]Tϕ(x)的思想’被称作核技巧(Kernal Trick)。
在支持向量机中,这种基于‘核函数’的展开式被称作‘支持向量展开式’(Support Vector Expansion)。

核函数满足的条件(2022/11/23)

首先,(Kernal)本质上式一个映射,关于两个样本空间 相关的映射:
κ ( x ( i ) , x ( j ) ) \kappa(x^{(i)},x^{(j)}) κ(x(i),x(j))
其中 x ( i ) , x ( j ) x^{(i)},x^{(j)} x(i),x(j)均是样本集合 X \mathcal X X中的元素,因而满足: x ( i ) , x ( j ) ∈ R p x^{(i)},x^{(j)} \in \mathbb R^p x(i),x(j)Rp
核函数 κ ( x ( i ) , x ( j ) ) \kappa(x^{(i)},x^{(j)}) κ(x(i),x(j))的表现形式是 x ( i ) , x ( j ) x^{(i)},x^{(j)} x(i),x(j)原始特征空间( p p p维)经过非线性转换得到的高维特征空间 ϕ ( x ( i ) ) , ϕ ( x ( j ) ) \phi(x^{(i)}),\phi(x^{(j)}) ϕ(x(i)),ϕ(x(j))的内积
这里假设'非线性转换'得到的 ϕ ( x ( i ) ) , ϕ ( x ( j ) ) \phi(x^{(i)}),\phi(x^{(j)}) ϕ(x(i)),ϕ(x(j))的特征维度是 m m m维,核函数 κ ( x ( i ) , x ( j ) ) \kappa(x^{(i)},x^{(j)}) κ(x(i),x(j))的特征空间维度表示如下。
这是视频 κ : X × X → R \kappa:\mathcal X \times \mathcal X \to \mathbb R κ:X×XR的完整描述,核函数的映射结果明显是一个实数,是一维特征空间中的一个点。
κ ( x ( i ) , x ( j ) ) = ⟨ ϕ ( x ( i ) ) , ϕ ( x ( j ) ) ⟩ = [ ϕ ( x ( i ) ) ] 1 × m T ϕ ( x ( j ) ) m × 1 ∈ R \begin{aligned} \kappa(x^{(i)},x^{(j)}) & = \left\langle\phi(x^{(i)}),\phi(x^{(j)})\right\rangle \\ & = \left[\phi(x^{(i)})\right]^T_{1 \times m} \phi(x^{(j)})_{m \times 1} \in \mathbb R \end{aligned} κ(x(i),x(j))=ϕ(x(i)),ϕ(x(j))=[ϕ(x(i))]1×mTϕ(x(j))m×1R

相关参考:
机器学习-周志华著
机器学习-核方法(1)-背景介绍

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

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

相关文章

Ubuntu sudo apt update 过程中遇到的报错解决

文章目录参考资料1. 前言2. 换源方式1. 方式1: 更换/etc/apt/sources.list文件里的源2. 方式2:在设置中software&updates(软件和更新)里进行换源3. 问题解决--移除失效的ppa参考资料 E: 仓库 “https://mirrors.aliyun.com/docker-ce/linux/ubuntu …

目标检测算法——YOLOv5/YOLOv7改进结合涨点Trick之ASFF(自适应空间特征融合)

>>>深度学习Tricks,第一时间送达<<< 🚀🚀🚀NEW!!!魔改YOLOv5/YOLOv7目标检测算法来啦 ~ 💡💡魔法搭配计算机视觉领域各类创新新颖且行之有效的网络结构,平均精度均值mAP涨点明显,实验效果也俱佳。有需要的小伙伴可以在CSDN后台留言+点赞收藏…

闲人闲谈PS之三十三——项目承诺成本管理

惯例闲话&#xff1a;学习很苦&#xff0c;坚持很酷——最近看到这句话&#xff0c;苦和酷放在一起&#xff0c;总有一种感觉&#xff0c;吃苦是为了耍酷。这恰恰是这句话的问题之处&#xff0c;苦是自己的&#xff0c;酷是外部环境对自己的评价。所以&#xff0c;苦这件事情&a…

k8s1.25版本集群部署(亲测有效)

1.实验环境准备 准备三台centos7虚拟机&#xff0c;用来部署k8s集群&#xff1a; master&#xff08;hadoop1&#xff0c;192.168.229.111&#xff09;配置&#xff1a; 操作系统&#xff1a;centos7.3以及更高版本都可以配置&#xff1a;4核cpu&#xff0c;4G内存&#xff…

【JavaScript流程控制-分支】

JavaScript流程控制-分支1 本节目标2 流程控制3 顺序流程控制4 分支流程控制if语句4.1 分支结构4.2 if语句4.2.1 语法结构4.2.2 执行流程4.3 if else语句(双分支语句)4.3.1 语法结构4.3.2 执行流程4.4 if else if语句(多分支语句)4.4.1 语法结构4.4.2 执行流程5 三元表达式5.1 …

蓝桥杯嵌入式第一篇 点亮LED灯开启成功之路

文章目录前言一、准备工作1.拿到开发板第一步看原理图2.下载STM32cubeMX二、开始点灯1.查看LED原理图2.cubeMX配置3.代码实现总结前言 从这篇文章开始将为大家带来最详细最全面的蓝桥杯嵌入式教学&#xff0c;本教程将使用STM32cubeMX教大家快速入门STM32。花最少的时间拿下国…

电镀废水末端除镍工艺,除镍树脂如何使用?

电镀废水的处理方案分析 电镀废水中含有铜、镍等金属物质&#xff0c;具有较高的回收价值。因此&#xff0c;为了减少环境污染&#xff0c;提高电镀企业的经济效率&#xff0c;一般会对电镀废水进行 回收性的处理&#xff0c;来回收金属铜、镍等。而从目前情况看&#xff0c;…

ipv6地址概述——了解ipv6与ipv4不同

目录 一 ipv4与ipv6 1.ipv4的概述 2.ipv4存在的问题 3.ipv6的概述 4.ipv4与ipv6的优点和特点 5.ipv6与ipv4的变化 ipv4包头 ipv6包头 6.ipv6的基本术语 个人简介&#xff1a;云计算网络运维专业人员&#xff0c;了解运维知识&#xff0c;掌握TCP/IP协议&#xff0c;每…

三菱机床联网

一、设备信息确认 1、确认型号 数控面板拍照确认&#xff1a; 此系统为&#xff1a;M70控制器 注&#xff1a;目前M70和M80&#xff0c;基本上都有网络通讯和采集功能。 2、确认通讯接口 网口常见位置&#xff0c;LAN标号&#xff0c;可通过这个确认&#xff1a; 1、数控…

云计算的一些常见安全风险

许多企业正在将业务转移到云端以提高效率并简化工作负载。虽然云计算可以为组织提供竞争优势&#xff0c;但重要的是不要在不了解所涉及的风险的情况下仓促采用云。无论您的组织是否已经开始迁移到云&#xff0c;有几个关键的安全注意事项需要牢记在心。下文是一些云计算的常见…

【SQLite】一、SQLite简介——MySQL的简洁版

作者主页&#xff1a;Designer 小郑 作者简介&#xff1a;浙江某公司软件工程师&#xff0c;负责开发管理公司OA、CRM业务系统&#xff0c;全栈领域优质创作者&#xff0c;CSDN学院、蓝桥云课认证讲师&#xff0c;开发过20余个前后端分离实战项目&#xff0c;主要发展方向为Vue…

PTA题目 寻找250

对方不想和你说话&#xff0c;并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。 输入格式&#xff1a; 输入在一行中给出不知道多少个绝对值不超过1000的整数&#xff0c;其中保证至少存在一个“250”。 输出格式&#xff1a; 在一行中输出第…

openEuler 通过Rook在k8s集群部署Ceph

openEuler 版本号: 2209 前置条件 k8s集群版本 kubectl version Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.12", GitCommit:"b058e1760c79f46a834ba59bd7a3486ecf28237d", GitTreeState:"clean&…

图片加水印怎么弄?小白都会的加水印方法

现在给图片添加水印很重要&#xff0c;因为我们辛苦拍摄的照片或视频很容易被其他人转发&#xff0c;而他们无需注明出处和原作者&#xff0c;因此很容易误导浏览者&#xff0c;让他们以为这些照片是“转载者”拍摄的。这样其实对原作者很不公平&#xff0c;如果不添加水印&…

C语言 9 —— 函数

把相同业务功能维度的代码有机的整合起来做成函数&#xff0c;这样做既可以方便反复调用&#xff0c;又可以在空间上节省代码行数。 函数的定义&#xff1a; 返回值类型 函数名(参数类型1 参数变量名1, ....参数类型N 参数变量N){ //此处参数为形参// 函数体.... } 如果不需…

【强化学习论文清单】AAAI-2022 | 人工智能CCF-A类会议(附链接)

人工智能促进会(AAAI)成立于1979年&#xff0c;前身为美国人工智能协会(American Association for Artificial Intelligence)&#xff0c;是一个非营利性的科学协会&#xff0c;致力于促进对思想和智能行为及其在机器中的体现的潜在机制的科学理解。AAAI旨在促进人工智能的研究…

【构建ML驱动的应用程序】第 5 章 :训练和评估模型

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

Linux 文件系统与inode,软硬链接

目录 磁盘的结构 磁盘的抽象&#xff08;虚拟&#xff0c;逻辑&#xff09;结构 分区 Block Group 块组&#xff1a; 分析&#xff1a; 文件名 vs inode编号 创建/删除/查看 一个文件&#xff0c;操作系统做了什么&#xff1f; 软硬链接 软连接 硬链接 对比&#xf…

Devart IBDac数据访问组件库

Devart IBDac数据访问组件库 IBDAC是一个完整的InterBase(和FireBird)数据访问组件库&#xff0c;用于将程序连接到FireBird、InterBase和Yaffil。该库有Dolphin、CBuilder、Lazarus和Free Pascal版本&#xff0c;可用于32/64位Windows、Mac OS X、iOS、Android、Linux和FreeBS…

Nacos Config--服务配置

目录 服务配置中心介绍 Nacos Config入门 Nacos Config深入 配置动态刷新 配置共享 nacos的几个概念 创建命名空间(Namespace) 命名空间 组 Nacos多环境切换 如何解决不同环境配置不同 如何解决不同环境配置相同 不同微服务相同配置共享 bootstrap 总结 服务配置…