统计学习方法 感知机

news2024/12/24 14:41:27

文章目录

  • 统计学习方法 感知机
    • 模型定义
    • 学习策略
    • 学习算法
      • 原始算法
      • 对偶算法
    • 学习算法的收敛性

统计学习方法 感知机

读李航的《统计机器学习》时,关于感知机的笔记。

感知机(perceptron)是一种二元分类的线性分类模型,属于判别模型,是 NN 和 SVM 的基础。

模型定义

感知机:输入空间 X ⊆ R n \mathcal{X}\subseteq \R^n XRn ,输出空间是 Y = {   1 ,   − 1   } \mathcal{Y}=\set{1,\,-1} Y={1,1} ;输入 x ∈ X x\in \mathcal{X} xX 表示实例的特征向量,输出 y ∈ Y y\in\mathcal{Y} yY 表示实例的类别。由输入空间到输出空间的如下函数:
f ( x ) = sign ( w ⋅ x + b ) f(x)=\text{sign}(w \cdot x+b) f(x)=sign(wx+b)
称为感知机。其中 w ∈ R n w \in \R^n wRn 称为权重, b ∈ R b\in\R bR 称为偏置。

线性方程 w ⋅ x + b w \cdot x+b wx+b 对应特征空间 R n \R^n Rn 中的一个超平面 S S S ,位于两边的点(特征向量)则被分为正、负两类:

请添加图片描述

学习策略

当训练数据是完全线性可分的,我们则可以找到一个超平面将正负类的数据完全分开。但数据不完全线性可分时,我们则要定义损失函数,找到一个感知机使得损失函数极小化。(但其实即使完全线性可分,也要定义损失函数,不然怎么学习 [乐.jpg])

很容易想到用分类错误的点的总数作为损失函数,但是这样对 w w w b b b 就不是连续可导的了,不好优化。所以我们选择所有误分类点到超平面 S S S 的总距离作为损失函数。

空间中任意一点 x 0 ∈ R n x_0\in \R^n x0Rn 到超平面 S S S 的距离为:
dis ( x 0 , S ) = 1 ∣ ∣ w ∣ ∣ ∣ w ⋅ x 0 + b ∣ \text{dis}(x_0,S)=\frac{1}{||w||}|w\cdot x_0+b| dis(x0,S)=∣∣w∣∣1wx0+b

  • ∣ ∣ w ∣ ∣ ||w|| ∣∣w∣∣ w w w L 2 L_2 L2 范数;

其次,对于误分类的数据 ( x i , y i ) (x_i,y_i) (xi,yi) 来说, y i y_i yi f ( x ) f(x) f(x) 符号相反,因此:
− y i ( w ⋅ x i + b ) > 0 -y_i(w\cdot x_i+b)\gt 0 yi(wxi+b)>0
我们利用这个大于零的性质,可以将误分类点到超平面的距离表示为(因为 y i y_i yi 只有可能是正负 1,所以乘上去也不会改变距离的大小):
dis ( x 0 , S ) = − 1 ∣ ∣ w ∣ ∣ y i ( w ⋅ x i + b ) \text{dis}(x_0,S)=-\frac{1}{||w||}y_i(w\cdot x_i+b) dis(x0,S)=∣∣w∣∣1yi(wxi+b)
因此,所有误分类点到超平面 S S S 的距离之和:
− 1 ∣ ∣ w ∣ ∣ ∑ x i ∈ M y i ( w ⋅ x i + b ) -\frac{1}{||w||}\sum_{x_i\in M} y_i(w\cdot x_i+b) ∣∣w∣∣1xiMyi(wxi+b)

  • M M M 为被误分类点的集合;

这里不考虑 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} ∣∣w∣∣1 ,即得到感知机的损失函数:
L ( w ,   b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) L(w,\,b)=-\sum_{x_i\in M} y_i(w\cdot x_i+b) L(w,b)=xiMyi(wxi+b)
去掉 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} ∣∣w∣∣1 对损失函数的优化至关重要, y i ( w ⋅ x i + b ) y_i(w\cdot x_i+b) yi(wxi+b) 被称为样本点的函数间隔,在 SVM 中会涉及到。

学习算法

感知机学习算法的原始形式和对偶形式与第7支待向量机学习法的原始形式和偶形式相对应。

原始算法

给定一个训练数据集:
T = { ( x 1 ,   y 1 ) ,   ( x 2 ,   y 2 ) ,   ⋯   ,   ( x N ,   y N ) } T=\{(x_1,\,y_1),\,(x_2,\,y_2),\,\cdots,\,(x_N,\,y_N)\} T={(x1,y1),(x2,y2),,(xN,yN)}
其中 x i ∈ X = R n x_i\in\mathcal{X}=\bold{R}^n xiX=Rn y i ∈ Y = { − 1 ,   1 } y_i\in\mathcal{Y}=\{-1,\,1\} yiY={1,1} i = 1 ,   2 ,   ⋯   ,   N i=1,\,2,\,\cdots,\,N i=1,2,,N ,求参数 w w w b b b ,使得以下损失函数极小化:
min ⁡ w ,   b L ( w ,   b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) \min_{w,\,b}L(w,\,b)=-\sum_{x_i\in M}y_i(w\cdot x_i +b) w,bminL(w,b)=xiMyi(wxi+b)
我们采用随机梯度下降法来学习参数 w w w b b b ,梯度为:
∇ w L ( w ,   b ) =   − ∑ x i ∈ M y i x i ∇ b L ( w ,   b ) =   − ∑ x i ∈ M y i \begin{align} \nabla_wL(w,\,b)=&\,-\sum\limits_{x_i\in M}y_ix_i \\ \nabla_bL(w,\,b)=&\,-\sum\limits_{x_i\in M}y_i \\ \end{align} wL(w,b)=bL(w,b)=xiMyixixiMyi
但学习的时候并不是一次使 M M M 中所有的误分类点都梯度下降,而是一次随机选取一个误分类点使其梯度下降。

算法:感知机学习算法的原始形式

输入:训练数据集 T T T ,学习率 η \eta η 0 < η ≤ 1 0 \lt\eta\leq 1 0<η1);

输出 w w w b b b ,感知机模型 f ( x ) = sign ( w ⋅ x + b ) f(x)=\text{sign}(w\cdot x+b) f(x)=sign(wx+b)

  1. 选取初值 w 0 w_0 w0 b 0 b_0 b0
  2. 在训练集中选取数据 ( x i ,   y i ) (x_i,\,y_i) (xi,yi)
  3. y i ( w ⋅ x i + b ) ≤ 0 y_i(w\cdot x_i+b) \leq 0 yi(wxi+b)0

w ←   w + η y i x i b ←   b + η y i \begin{align} w \leftarrow&\, w+\eta y_ix_i \\ b \leftarrow&\, b+\eta y_i \end{align} wbw+ηyixib+ηyi

  1. 若当前训练集中仍有误分类点,则跳转至 2. ,否则结束;

对偶算法

我们前面对误分类点修改参数时的形式为:
w ←   w + η y i x i b ←   b + η y i \begin{align} w \leftarrow&\, w+\eta y_ix_i \\ b \leftarrow&\, b+\eta y_i \end{align} wbw+ηyixib+ηyi
因此,我们可以认为模型参数是训练样本值的线性组合,即最后学习到的 w w w b b b 可以表示为:
w = ∑ i = 1 N α i y i x i b = ∑ i = 1 N α i y i \begin{array}{c} w=\sum\limits_{i=1}^N \alpha_iy_ix_i \\ b=\sum\limits_{i=1}^{N}\alpha_iy_i \end{array} w=i=1Nαiyixib=i=1Nαiyi
这里 α i ≥ 0 \alpha_i \geq 0 αi0 i = 1 , 2 , ⋯   , N i=1,2,\cdots,N i=1,2,,N)。

算法:感知机学习算法的对偶形式

输入:训练数据集 T T T ,学习率 η \eta η 0 < η ≤ 1 0 \lt\eta\leq 1 0<η1);

输出 α \alpha α b b b ,感知机模型 f ( x ) = sign ( ∑ j = 1 N α j y j x j ⋅ x + b ) f(x)=\text{sign}(\sum\limits_{j=1}^N \alpha_jy_jx_j\cdot x+b) f(x)=sign(j=1Nαjyjxjx+b)

  1. 初始化: α ← 0 \alpha \leftarrow 0 α0 b ← 0 b \leftarrow 0 b0
  2. 在训练集中选取数据 ( x i ,   y i ) (x_i,\,y_i) (xi,yi)
  3. y i ( ∑ j = 1 N α j y j x j ⋅ x + b ) ≤ 0 y_i(\sum\limits_{j=1}^N \alpha_jy_jx_j\cdot x+b) \leq 0 yi(j=1Nαjyjxjx+b)0

α i ←   α i + η b ←   b + η y i \begin{align} \alpha_i \leftarrow&\, \alpha_i+\eta \\ b \leftarrow&\, b+\eta y_i \end{align} αibαi+ηb+ηyi

  1. 若当前训练集中仍有误分类点,则跳转至 2. ,否则结束;

为了方便,可以预先将训练集中的实例间的内积计算出来并以矩阵的形式存储,即 Gram 矩阵:
G = [ x i ⋅ x j ] N × N \bold{G}=[x_i \cdot x_j]_{N\times N} G=[xixj]N×N

学习算法的收敛性

当数据集不可分时,显然上述算法会震荡。现在证明,对于线性可分数据集,感知机学习算法原始形式收敛,即经过有限次迭代就可以得到一个将数据集完全正确划分的分离超平面及感知机模型。

为了数学推导方面,我们将偏置 b b b 放入权重向量 w w w ,记作 w ^ = [ w t ,   b ] T \hat{w}=[w^t,\,b]^T w^=[wt,b]T 。同样将输入向量进行增广,得到 x ^ = [ x T ,   1 ] T \hat{x}=[x^T,\,1]^T x^=[xT,1]T ,显然:
w ^ ⋅ x ^ = w ⋅ x + b \hat{w}\cdot\hat{x}=w\cdot x+b w^x^=wx+b
Th 2.1(Novikoff) 设训练数据集 T T T 是线性可分的,则:

  1. 存在满足条件 ∣ ∣ w ^ o p t ∣ ∣ = 1 ||\hat{w}_{opt}||=1 ∣∣w^opt∣∣=1 的超平面 w ^ o p t ⋅ x ^ = 0 \hat{w}_{opt}\cdot \hat{x}=0 w^optx^=0 将训练数据集完全正确分开,且存在 γ > 0 \gamma >0 γ>0 ,对所有 i = 1 ,   2 ,   ⋯   ,   N i=1,\,2,\,\cdots,\,N i=1,2,,N ,都有:

y i ( w ^ o p t ⋅ x ^ i ) = y i ( w o p t ⋅ x i + b o p t ) ≥ γ y_i(\hat{w}_{opt}\cdot \hat{x}_{i})=y_i(w_{opt}\cdot x_{i}+b_{opt})\geq \gamma yi(w^optx^i)=yi(woptxi+bopt)γ

  1. R = max ⁡ 1 ≤ i ≤ N ∣ ∣ x ^ i ∣ ∣ R=\max\limits_{1\leq i\leq N}||\hat{x}_{i}|| R=1iNmax∣∣x^i∣∣ ,则感知机算法在训练数据集上的误分类次数 k k k 满足:

k ≤ ( R γ ) 2 k\leq \left(\frac{R}{\gamma}\right)^2 k(γR)2

证明:第一点较为简单。因为训练数据集线性可分,因此存在超平面 ( w o p t ,   b o p t ) (w_{opt},\,b_{opt}) (wopt,bopt) 可将数据集完全正确分开。只要令:
γ = min ⁡ i { y i ( w o p t ⋅ x i + b o p t ) } \gamma=\min_{i}\{ y_i(w_{opt}\cdot x_i+b_{opt}) \} γ=imin{yi(woptxi+bopt)}
就有:
y i ( w ^ o p t ⋅ x ^ i ) = y i ( w o p t ⋅ x i + b o p t ) ≥ γ y_i(\hat{w}_{opt}\cdot \hat{x}_{i})=y_i(w_{opt}\cdot x_{i}+b_{opt})\geq \gamma yi(w^optx^i)=yi(woptxi+bopt)γ
现在来看第二点,看起来还蛮神奇的。感知机算法从 w ^ 0 = 0 \hat{w}_0=0 w^0=0 开始,记每一次迭代得到的参数为 w ^ k \hat{w}_k w^k 。第 k k k 个参数下,记 ( x i ,   y i ) (x_i,\,y_i) (xi,yi) 是被误分类的实例,则条件是:
y i ( w ^ k − 1 ⋅ x ^ i ) = y i ( w k − 1 ⋅ x i + b k − 1 ) ≤ 0 y_i(\hat{w}_{k-1}\cdot \hat{x}_i)=y_i(w_{k-1}\cdot x_i + b_{k-1})\leq 0 yi(w^k1x^i)=yi(wk1xi+bk1)0
w w w b b b 的更新是:
w k ←   w k − 1 + η y i x i b k ←   b k − 1 + η y i \begin{align} w_k \leftarrow&\, w_{k-1}+\eta y_ix_i \\ b_k \leftarrow&\, b_{k-1}+\eta y_i \end{align} wkbkwk1+ηyixibk1+ηyi
即:
w ^ k = w ^ k − 1 + η y i x ^ i \hat{w}_k=\hat{w}_{k-1}+\eta y_i\hat{x}_i w^k=w^k1+ηyix^i
下面证明两个不等式:

① 由于我们是从 w ^ 0 = 0 \hat{w}_0=0 w^0=0 开始的,因此迭代过程中的参数应当从小到大越来越接近 w ^ o p t \hat{w}_{opt} w^opt ,即 w k w_{k} wk w o p t w_{opt} wopt 的内积越来越大:
$$
\begin{align}
\hat{w}k\cdot \hat{w}{opt} =&, \hat{w}{k-1}\cdot \hat{w}{opt}+\eta y_i\hat{w}{opt}\cdot\hat{x}i \
\geq &, \hat{w}
{k-1}\cdot \hat{w}
{opt}+\eta \gamma \
\geq &, \hat{w}{k-2}\cdot \hat{w}{opt}+2\eta \gamma \
\geq &, \cdots \
\geq &, k\eta \gamma

\end{align}
$$

  • 第二个大于等于是因为,我们已经假设了 γ \gamma γ 是最小的 y i w ^ o p t x ^ i y_i\hat{w}_{opt}\hat{x}_i yiw^optx^i ,因此任意 i i i 都有 y i w ^ o p t x ^ i ≥ γ y_i\hat{w}_{opt}\hat{x}_i\geq \gamma yiw^optx^iγ

即:
w ^ k ⋅ w ^ o p t ≥ k η γ \hat{w}_k\cdot \hat{w}_{opt}\geq k\eta \gamma w^kw^optkηγ
② 由于我们是从 w ^ 0 = 0 \hat{w}_0=0 w^0=0 开始的,因此迭代过程中的参数更新过大时,就会被后续的迭代给“拉”回来:
$$
\begin{align}
||\hat{w}k||2=&,||\hat{w}_{k-1}||2+2\eta y_i\hat{w}{k-1}\cdot \hat{x}i+\eta2||\hat{x}_i||2 \
\leq &, ||\hat{w}
{k-1}||2+\eta||\hat{x}_i||2 \
\leq &, ||\hat{w}{k-1}||^2+\eta R^2 \
\leq &, ||\hat{w}
{k-2}||^2+2\eta R^2 \
\leq &, \cdots \
\leq &, k\eta2R2

\end{align}
$$

  • 第一个等号是因为:

∣ ∣ w ^ k ∣ ∣ 2 =   w ^ k T w ^ k =   ( w ^ k − 1 + η y i x ^ i ) T ( w ^ k − 1 + η y i x ^ i ) =   ( w ^ k − 1 T + η y i x ^ i T ) ( w ^ k − 1 + η y i x ^ i ) =   w ^ k − 1 T w ^ k − 1 + η y i ( w ^ k − 1 T x ^ i + x ^ i T w ^ k − 1 ) + η 2 y i 2 x ^ i T x ^ i =   ∣ ∣ w ^ k − 1 ∣ ∣ 2 + 2 η y i w ^ k − 1 ⋅ x ^ i + η 2 ∣ ∣ x ^ i ∣ ∣ 2 (有   y i 2 = 1 ) \begin{align} ||\hat{w}_k||^2=&\,\hat{w}_k^T\hat{w}_k \\ =&\,(\hat{w}_{k-1}+\eta y_i\hat{x}_i)^T(\hat{w}_{k-1}+\eta y_i\hat{x}_i) \\ =&\,(\hat{w}_{k-1}^T+\eta y_i\hat{x}_i^T)(\hat{w}_{k-1}+\eta y_i\hat{x}_i) \\ =&\,\hat{w}_{k-1}^T\hat{w}_{k-1}+\eta y_i(\hat{w}_{k-1}^T\hat{x}_i+\hat{x}_i^T\hat{w}_{k-1})+\eta^2y_i^2\hat{x}_i^T\hat{x}_i \\ =&\,||\hat{w}_{k-1}||^2+2\eta y_i\hat{w}_{k-1}\cdot \hat{x}_i+\eta^2||\hat{x}_i||^2 \quad\text{(有$\,y_i^2=1$)} \end{align} ∣∣w^k2=====w^kTw^k(w^k1+ηyix^i)T(w^k1+ηyix^i)(w^k1T+ηyix^iT)(w^k1+ηyix^i)w^k1Tw^k1+ηyi(w^k1Tx^i+x^iTw^k1)+η2yi2x^iTx^i∣∣w^k12+2ηyiw^k1x^i+η2∣∣x^i2(yi2=1)

  • 第二个小于等于是因为我们假设 ( x i ,   y i ) (x_i,\,y_i) (xi,yi) 是被误分类的实例,因此 y i w ^ k − 1 ⋅ x ^ i < 0 y_i\hat{w}_{k-1}\cdot \hat{x}_i<0 yiw^k1x^i<0
  • 第三个小于等于是因为我们假设 R R R 是最大的特征向量的模,因此对于任意 i i i 都有 R ≥ ∣ ∣ x ^ i ∣ ∣ R \geq ||\hat{x}_i|| R∣∣x^i∣∣

即:
∣ ∣ w ^ k ∣ ∣ 2 ≤ k η 2 R 2 ||\hat{w}_k||^2\leq k\eta^2R^2 ∣∣w^k2kη2R2
综合不等式 ① 和 ② 得:
k η γ ≤ w ^ k ⋅ w ^ o p t ≤ ∣ ∣ w ^ k ∣ ∣   ∣ ∣ w ^ o p t ∣ ∣ ≤ k η R ⇒ k 2 γ 2 ≤ k R 2 \begin{array}{c} k\eta \gamma \leq \hat{w}_k\cdot \hat{w}_{opt} \leq ||\hat{w}_{k}||\,||\hat{w}_{opt}|| \leq \sqrt{k}\eta R \\ \Rightarrow k^2\gamma^2 \leq kR^2 \end{array} kηγw^kw^opt∣∣w^k∣∣∣∣w^opt∣∣k ηRk2γ2kR2

  • 第二个小于等于是柯西不等式, x ⋅ y = ∣ ∣ x ∣ ∣   ∣ ∣ y ∣ ∣   cos ⁡ θ ≤ ∣ ∣ x ∣ ∣   ∣ ∣ y ∣ ∣ x\cdot y=||x||\,||y||\,\cos\theta\leq ||x||\,||y|| xy=∣∣x∣∣∣∣y∣∣cosθ∣∣x∣∣∣∣y∣∣ ,其中 θ \theta θ 是两个向量的夹角。

于是:
k ≤ ( R γ ) 2 k\leq \left(\frac{R}{\gamma}\right)^2 k(γR)2
该定理表明,误分类次数 k k k 是有上界的,即训练集线性可分时,感知机学习算法原始形式迭代是收敛的。

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

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

相关文章

1024程序员节特辑 | OKR VS KPI谁更合适?

专栏集锦&#xff0c;赶紧收藏以备不时之需 Spring Cloud实战专栏&#xff1a;https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏&#xff1a;https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏&#xff1a;https://blog.…

预测性维护为何能够帮助企业降低设备维护成本?

预测性维护在企业设备管理中扮演着重要的角色&#xff0c;它通过实时监测设备状态和数据分析&#xff0c;能够提前预测潜在故障&#xff0c;并采取相应的维修措施&#xff0c;从而帮助企业降低设备维护成本。本文将介绍预测性维护的作用&#xff0c;探讨造成设备维护成本高的原…

板带纠偏控制系统伺服比例阀放大器

板带纠偏控制系统是集光、机、电、液四方面有机结合在一起的全闭环电液伺服系统&#xff0c;是用途广泛的机电一体化高新技术产品。 板带纠偏控制系统可广泛地应用于机械、冶金、造纸、橡胶、织带、纺织印染、电镀、塑膜胶片等诸多行业的不同种类的带材生产线的在线纠偏。 板…

UE5 ChaosVehicles载具换皮 (连载二)

1.导出SKM_SportsCar&#xff0c;删除模型&#xff0c;保留骨骼层级 2.导入新的汽车模型并合并成一个整体模型&#xff0c;调整上图红框中的四个快乐轮子对应的骨骼位置&#xff08;大致在快乐轮子的中心&#xff09;&#xff0c;骨骼角度归零。绑定并设置权重&#xff0c;快乐…

多线程进阶篇

多线程进阶篇 文章目录 多线程进阶篇1、常见的锁策略1) 乐观锁 vs 悲观锁2) 重量级锁 vs 轻量级锁3) 自旋锁 vs 挂起等待锁4) 读写锁 vs 互斥锁5) 公平锁 vs 非公平锁6) 可重入锁 vs 不可重入锁 2、死锁1) 死锁的三种典型情况:2) 如何解决死锁问题3) 死锁产生的必要条件 3、Syn…

数据结构:一篇拿捏十大排序(超详细版)

排序的概念&#xff1a; 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff0c;若经…

浅谈AI人体姿态识别技术的先进性及安防视频监控应用场景

随着计算机视觉技术和安防监控技术的不断发展&#xff0c;基于AI算法的人体姿态识别技术也得到了广泛的应用。然而&#xff0c;传统的安防监控系统通常只局限于简单的视频监控等功能&#xff0c;无法准确地识别人体的姿态&#xff0c;使得一些安防监控存在着一定的漏洞和不足之…

中国人民大学与加拿大女王大学金融硕士项目——开启全球金融视野,锻造未来领袖

你是否曾梦想过站在国际金融的巅峰&#xff0c;洞察全球经济的脉搏&#xff0c;引领企业的创新与发展&#xff1f;如果你对金融充满热情&#xff0c;渴望在全球化的环境中锻炼自己&#xff0c;那么&#xff0c;中国人民大学与加拿大女王大学金融硕士项目便是你的转折点。 中国…

Confluence使用教程

1、如何创建空间 可以把空间理解成一个gitlab仓库&#xff0c;空间之间相互独立&#xff0c;一般建议按照部门&#xff08;小组的人太少&#xff0c;没必要创建空间&#xff09;或者按照项目分别创建空 2、confluence可以创建两种类型的文档&#xff1a;页面和博文 从内容上来…

SICP-- 元语言抽象--Scheme的变形--惰性求值

正则序和应用序 应用序&#xff1a;在过程应用时&#xff0c;提供给Scheme的所有参数都需要完成求值 正则序&#xff1a;将把对过程参数的求值延后到需要这些实际参数的值的时候。 将过程参数的求值拖延到最后的可能时刻被称为 惰性求值 如果在某个参数还没有完成求值之前就…

Apache Jmeter测压工具快速入门

Jmeter测压工具快速入门 一、Jmeter介绍二、Jmeter On Mac2.1 下载2.2 安装2.2.1 环境配置2.2.2 初始化设置 2.3 测试2.3.1 创建JDBC Connection Configuration2.3.2 创建线程组2.3.3 创建JDBC Request2.3.4 创建结果监控2.3.4 运行结果 2.4 问题记录2.4.1 VM option UseG1GC异…

查询企业信息的四种方法

在工作中或者对于找工作的求职人来说&#xff0c;怎么查看企业的信息呢&#xff1f;可能很多人会想到各种查查类软件&#xff0c;但是这类软件需要会员或者付费才能查看&#xff0c;对于没有会员的人来说&#xff0c;有没有其他查询企业的方法呢&#xff1f;答案肯定是有的&…

AI也可以​算命和占卜?一定要试试这个模型

01 模型介绍 Mistral Trismegistus 7B&#xff1a;专为玄学、神秘学、超自然和灵异感兴趣的人设计的模型。 专门用于处理与神秘学、灵性、超自然、占卜、炼金术、宗教、冥想等相关的问题和任务。该数据集包含大约35000个指令响应对&#xff0c;覆盖了数百个与神秘学有关的子…

安装visual studio报错“无法安装msodbcsql“

在安装visual studio2022时安装完成后提示无法安装msodbcsql, 查看日志文件详细信息提示&#xff1a;指定账户已存在。 未能安装包“msodbcsql,version17.2.30929.1,chipx64,languagezh-CN”。 搜索 URL https://aka.ms/VSSetupErrorReports?qPackageIdmsodbcsql;PackageActi…

[ Windows ] ping IP + Port 测试 ip 和 端口是否通畅

开发过程中经常会黑窗口中手动测试一下计划请求的目标ip和端口是否通畅&#xff0c;测试方式如下&#xff1a; 一、单纯测试ip是否能够 ping 通&#xff0c;这个比较熟悉了&#xff0c;运行 cmd 打开黑窗口 输入如下指令&#xff0c;能够如下提示信息&#xff0c;表示端口是通…

五分钟学会搭建悟空CRM内网穿透,实现公网访问企业内网,提升工作效率!

文章目录 前言1. 无需公网IP&#xff0c;使用cpolar实现悟空CRM远程访问2. 通过公网来访问公司内网悟空CRM3. 设置固定连接公网地址 前言 悟空CRM是一款开源的客户关系管理系统&#xff0c;以"客户关系一对一理论"为基础&#xff0c;通过对企业业务流程的重组来整合…

不会写代码同学的福音——AI 代码生成器 Amazon CodeWhisperer(通过注释写代码)

Amazon CodeWhisperer 是一个以机器学习为动力的代码生成器&#xff0c;直接在集成开发环境&#xff08;IDE&#xff09;中为开发者提供实时代码建议。它是一个通用的工具&#xff0c;可以用于 IDE 支持的任何编程语言。 大家可以通过下面的链接进入注册并使用&#xff1a; AI …

智能水电表对于普通居民来说有哪些好处?

随着科技的发展&#xff0c;智能水电表已经逐渐成为家庭生活中不可或缺的一部分。智能水电表的改造不仅可以提高居民的生活质量&#xff0c;还能为环保事业做出贡献。接下来&#xff0c;小编来为大家详细的介绍下智能水电表对于普通居民来说有哪些好处吧&#xff01; 一、节能减…

RISC-V声名鹊起,究竟为何?

近期&#xff0c;高通、恩智浦、Nordic、博世和英飞凌等宣布联手组建一家芯片新公司&#xff0c;目标是通过支持下一代硬件开发而推动RISC-V在全球范围内实现。该公司将支持基于RISC-V的兼容产品、提供参考架构并帮助建立行业广泛使用的解决方案&#xff0c;应用重点包括汽车、…

我用低代码平台,简单搭建了一套管理系统

目录 一、什么是低代码 应用场景分析&#xff1a; a. 帮助成熟的软件产品&#xff0c;低成本的支持个性化需求&#xff08;协助乙方快速解决甲方需求&#xff09; b. 帮助甲方企业&#xff0c;低成本的快速搭建全新的应用系统&#xff0c;让业务人员也能自主搭建数字化工具&…