机器学习——线性回归篇

news2024/11/26 2:35:30

基本概念

在这里插入图片描述
什么是回归预测?什么是分类预测?

模型输入变量预测结果应用
回归预测实值离散一个连续值域上的任意值预测值的分布情况
分类预测实值离散两个或多个分类将输入变量分类到不同类别

思考一个问题:分类问题是否可以转变为回归问题?

回答:当然可以!

例子:检测癌症患者患病概率,检查值可能是40%、50%、60%等连续值,但是如果我们给定一个划分标准,如高于50%的检查值认定为患病,那么我们就把一个回归问题转化成了分类问题。

什么是线性?

  • 可加性,又称叠加性
    • f(x+y)=f(x)+f(y)
  • 齐次性,又称均匀性
    • f(ax)=af(x),其中a为与x无关的常数
  • f(x,y)=f(ax+by)=af(x)+bf(y)

什么是线性回归(LinearRegression)?

顾名思义:用一条线来进行回归预测。

例子:已知房屋面积和房屋价格的对应关系,100平60w;120平70w;130平75w。根据对应的散列点在二维空间描绘出来得到下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M97b9Dlj-1685858452095)(C:\Users\liyi0\AppData\Roaming\Typora\typora-user-images\image-20230601085044975.png)]

线性回归在这种背景下的工作就是寻找一条直线,尽可能的拟合这些离散点。

什么是拟合?

专业的来说:针对数据(x1,y1)、(x2,y2),…,(xn,yn),确定一个函数f(x)使得尽可能的准确表达这些变量间的关系。

拟合不一定是百分百的,如上图的这些离散点,根据两点确定一条直线的原则,你无法找到一条能够完全穿过这些点的直线,因此不同人可能会找到不同的直线,如下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这么多条线,我们的应该选取哪一条作为最终的f(x)呢?针对这个问题,我们引入了一个评判指标——损失函数

什么是损失函数(loss function)?

首先我们明确一个概念:

图上这条直线上的点称为预测点,图上这些离散的点称为真实点。既然是预测就会存在误差,这里我们把真实值和预测值之间的差值称为——残差

残差公式:
e = y − y ^ e = y - \hat y e=yy^
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VzQhEmg3-1685858452100)(C:\Users\liyi0\AppData\Roaming\Typora\typora-user-images\image-20230601091424515.png)]

对于单个具体点我们可以用残差来衡量评估标准,但对于图中所有的点,我们要进行整体评估,因此数学上一般将所有点的残差的平方加和等到一个总和

残差平方和公式(SSE):
Q = ∑ i = 1 n ( y i − y ^ i ) 2 = ∑ i = 1 n ( y i − ( β ^ 0 + β ^ 1 x i ) ) 2 Q = \sum_{i=1}^{n}(y_i-\hat y_i)^2=\sum_{i=1}^{n}(y_i-(\hat \beta_0+\hat \beta_1x_i))^2 Q=i=1n(yiy^i)2=i=1n(yi(β^0+β^1xi))2
我们可以通过这个SSE公式来评估我们的直线的误差,不断动态调整我们的直线,尽可能逼近最小误差

这个时候又会有另外一个疑问,误差评判标准是唯一不变的吗?

针对这个问题,马克思曾说过:要具体问题具体分析。因此损失函数的选择不是唯一的,但是有些函数常常会被我们用到,举例如下:

  • 均方误差MSE

1 n ∑ i = 1 n ( y i − y ^ i ) 2 \frac{1}{n}\sum_{i=1}^{n}(y_i-\hat y_i)^2 n1i=1n(yiy^i)2

  • 均方根误差RMSE

1 n ∑ i = 1 n ( y i − y ^ i ) 2 \sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat y_i)^2} n1i=1n(yiy^i)2

  • 平均绝对误差MAE

1 n ∑ i = 1 n ∣ y i − y ^ i ∣ \frac{1}{n}\sum_{i=1}^{n}|y_i-\hat y_i| n1i=1nyiy^i

  • 根均方百分比误差RMSPE

1 n ∑ i = 1 n ( y i − y ^ i y i ) 2 \frac{1}{n}\sqrt{\sum_{i=1}^{n}(\frac{y_i-\hat y_i}{y_i})^2} n1i=1n(yiyiy^i)2

由于篇幅有限加上初期接触,这里不再过多拓展,更多详情在损失函数拓展篇

这个时候就会有人说,是不是我选择了一个好的损失函数,并且使其损失值最小化。我的模型就可以在工业应用中有着优秀表现呢?

答案可能是不一定的,还是那句话具体问题要具体分析,因此我们引入了另外一个评估角度——评价指标

什么是评价指标(evaluation metric)?

既然要去评价一个东西,那必须多维度全方面的去评估,因此机器学习中给出了一些常用的评价指标。

这里我们以“二分类”问题为例,所谓二分类就是把一个东西分成两类,看各自分类的正确率和错误率。

  • Confusion Matrix(混淆矩阵)
真实情况预测结果
正例反例
正例(P)TP(真正例)FN(假反例)
反例(N)FP(假正例)TN(真反例)

  • Accuracy(准确率)

真实情况和预测结果一致的样本占总样本的比例
A c c u r a c y = T P + T N P + N Accuracy =\frac{TP+TN}{P+N} Accuracy=P+NTP+TN

  • Precision(精准率)(又称查准率)

被分为正例中真实情况为正例的比例
P r e c i s i o n = T P T P + F P Precision =\frac{TP}{TP+FP} Precision=TP+FPTP

  • Recall(召回率)(又称查全率)

真实情况中正例被正确分类的比例
R e c a l l = T P T P + F N Recall =\frac{TP}{TP+FN} Recall=TP+FNTP

  • F1 Score(F1分数)

F1值是评估二元分类模型性能中精准性和召回率综合效果的指标
F 1 = 2 ⋅ P r e c i s i o n ⋅ R e c a l l P r e c i s i o n + R e c a l l = 2 T P 2 T P + T P + F N F_1 =\frac{2·Precision·Recall}{Precision+Recall}=\frac{2TP}{2TP+TP+FN} F1=Precision+Recall2PrecisionRecall=2TP+TP+FN2TP

  • AUC(ROC曲线下面积)

AUC的值可以表示为预测模型对于随机选择一个正样本和一个负样本能够给出正确的分类预测的概率大小。因此AUC的值越大,说明模型的分类效果越优秀

ROC曲线以真阳性率为纵坐标,以假阳性率为横坐标绘制的性能评价曲线。

其中真阳性率为
T P P \frac{TP}{P} PTP
假阳性率为
F P N \frac{FP}{N} NFP
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EUeiADSa-1685858452101)(C:\Users\liyi0\AppData\Roaming\Typora\typora-user-images\image-20230601110704055.png)]

ROC曲线越靠近左上角,说明其对应模型越可靠。ROC曲线下面的面积(Area Under Curve, AUC)越大,模型越可靠。

  • R-squared(R平方)

R方,决定系数,又称拟合优度,通常用来描述数据对模型拟合程度的好坏,表示自变量X对因变量Y的解释程度。R方的取值在[0,1]之间,越接近1,说明回归拟合效果越好。比如R方=0.5,那么说明自变量可以解释因变量50%的变化原因。

R 2 = 1 − ∑ i = 1 n ( y i − y ^ i ) 2 ∑ i = 1 n ( y i − y ˉ i ) 2 = 1 − S S E S S T = S S R S S T R^2 = 1-\frac{\sum_{i=1}^{n}(y_i-\hat y_i)^2}{\sum_{i=1}^{n}(y_i-\bar y_i)^2} = 1-\frac{SSE}{SST}=\frac{SSR}{SST} R2=1i=1n(yiyˉi)2i=1n(yiy^i)2=1SSTSSE=SSTSSR
在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hF6hryV9-1685858452102)(C:\Users\liyi0\AppData\Roaming\Typora\typora-user-images\image-20230601112430309.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t0j0jC6w-1685858452104)(C:\Users\liyi0\AppData\Roaming\Typora\typora-user-images\image-20230601112350131.png)]

具体内容

针对前面的铺垫内容,我们来开始对线性模型的具体学习,一般我们在实际应用中待检测的物体都有多种属性,根据多个属性值x来确定最终的结果值y。用数学描述如下:
在这里插入图片描述

线性回归模型:
f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w d x d + b f(x)=w_1x_1+w_2x_2+...+w_dx_d+b f(x)=w1x1+w2x2+...+wdxd+b
向量形式:
f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b

将问题抽象成数学公式后,就转化成了对w、b值进行求解的数学问题,那如何求解出w和b呢?

上一节讲到的损失函数就是重要的解题依据,我们采用均方误差最小化的形式来使f(x)无限逼近真实值,从而确定w和b

首先对于单个属性值的预测结果
f ( x i ) = w x i + b 使得 f ( x i ) ∽ y i f(x_i)=wx_i+b 使得 f(x_i)\backsim y_i f(xi)=wxi+b使得f(xi)yi

使得均方误差最小化:(因为1/m是固定值,不影响最后结果可以省去)
( w ∗ , b ∗ ) = a r g m i n ∑ i = 1 m ( f ( x i ) − y i ) 2 = a r g m i n ∑ i = 1 m ( y i − w x i − b ) 2 = a r g m i n E ( w , b ) (w^*,b^*)=argmin\sum_{i=1}^{m}(f(x_i)-y_i)^2=argmin\sum_{i=1}^{m}(y_i-wx_i-b)^2=argminE_{(w,b)} (w,b)=argmini=1m(f(xi)yi)2=argmini=1m(yiwxib)2=argminE(w,b)

  • 应用:最小二乘法:找到一条直线,使得所有样本到直线上的欧式距离之和最小

分别对w、b求导可得

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-isy8O584-1685858452106)(C:\Users\liyi0\AppData\Roaming\Typora\typora-user-images\image-20230602182910621.png)]

∂ E ( w , b ) ∂ w = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) \frac{\partial E_{(w,b)} }{\partial w}=2(w\sum_{i=1}^{m}x_i^2-\sum_{i=1}^{m}(y_i-b)x_i) wE(w,b)=2(wi=1mxi2i=1m(yib)xi)

∂ E ( w , b ) ∂ b = 2 ( m b − ∑ i = 1 m ( y i − w x i ) ) \frac{\partial E_{(w,b)}}{\partial b}=2(mb-\sum_{i=1}^{m}(y_i-wx_i)) bE(w,b)=2(mbi=1m(yiwxi))

令导数值为0得到w、b表达式

多元线性回归

上述我们对单个属性对应的单个w和b进行计算,但是在实际应用中,样本数据中可能会有多个属性,他们共同影响着最终的预测值f(x),因此我们要把一维的情况拓展到多维,得到更一般的表达式:
f ( x i ) = w T x i + b , 使得 f ( x i ) ∽ y i f(x_i)=w^Tx_i+b,使得f(x_i)\backsim y_i f(xi)=wTxi+b,使得f(xi)yi

将w和

吸收入向量中:
w ^ = ( w 1 w 2 ⋮ w d b ) = ( w b ) \hat{w}=\left( \begin{matrix} w_{1} \\ w_{2} \\ \vdots \\ w_{d} \\ b \\ \end{matrix} \right) = \left( \begin{matrix} w \\ b \\ \end{matrix} \right) w^= w1w2wdb =(wb)

X = [ x 11 x 12 ⋯ x 1 d 1 x 21 x 22 ⋯ x 2 d 1 ⋮ ⋮ ⋱ ⋮ ⋮ x m 1 x m 2 ⋯ x m d 1 ] = [ x 1 T 1 x 2 T 1 ⋮ ⋮ x m T 1 ] = [ X 1 X 2 ⋮ X m ] X = \left[ \begin{matrix} x_{11} & x_{12} & \cdots & x_{1d} & 1 \\ x_{21} & x_{22} & \cdots & x_{2d} & 1 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ x_{m1} & x_{m2} & \cdots & x_{md} & 1 \\ \end{matrix} \right] = \left[ \begin{matrix} x_1^T & 1 \\ x_2^T & 1 \\ \vdots & \vdots \\ x_m^T & 1 \\ \end{matrix} \right] = \left[ \begin{matrix} X_1\\ X_2\\ \vdots \\ X_m\\ \end{matrix} \right] X= x11x21xm1x12x22xm2x1dx2dxmd111 = x1Tx2TxmT111 = X1X2Xm

所有样本点对应的真实值:
y = ( y 1 y 2 ⋮ y m ) y = \left( \begin{matrix} y_{1} \\ y_{2} \\ \vdots \\ y_{m} \\ \end{matrix} \right) y= y1y2ym
对于单个样本的预测值可以如下式子表示:
f ( x 1 ) = x 1 T ⋅ w + b = X 1 ⋅ w ^ f(x_1) = x_1^T · w + b = X_1·\hat{w} f(x1)=x1Tw+b=X1w^
所有样本的预测值可以如下式子表示:
f ( x ) = X w ^ f(x) = X\hat{w} f(x)=Xw^
因此多元情况下的差值函数也类似于单元,可以利用向量进行运算。
差 值 2 = ( y i − f ( x i ) ) 2 = ( y − X w ^ ) 2 = ( y − X w ^ ) T ( y − X w ^ ) 差值² = (y_i-f(x_i))^2 = (y-X\hat{w})^2=(y-X\hat{w})^T(y-X\hat{w}) 2=(yif(xi))2=(yXw^)2=(yXw^)T(yXw^)
利用最小二乘法来找到合适的w、b值
( w ∗ , b ∗ ) = w ^ ∗ = a r g m i n ( y − X w ^ ) T ( y − X w ^ ) (w^*,b^*)=\hat{w}^*=argmin(y-X\hat{w})^T(y-X\hat{w}) (w,b)=w^=argmin(yXw^)T(yXw^)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wo62c97U-1685858452108)(C:\Users\liyi0\AppData\Roaming\Typora\typora-user-images\image-20230602182938877.png)]

∂ E w ^ ∂ w ^ = 2 X T ( X w ^ − y ) \frac{\partial E_{\hat{w}}}{\partial \hat{w}} = 2X^T(X\hat{w}-y) w^Ew^=2XT(Xw^y)

w ^ ∗ = ( X T X ) − 1 X T y \hat{w}^* = (X^TX)^{-1}X^Ty w^=(XTX)1XTy

f ( x ^ i ) = X w ^ = x ^ i ( X T X ) − 1 X T y f(\hat{x}_i) = X\hat{w} = \hat{x}_i(X^TX)^{-1}X^Ty f(x^i)=Xw^=x^i(XTX)1XTy

阅读到这里我们要去思考一个问题,就是对于X^TX这个矩阵,它是否一定可逆呢?

答案是不一定的,因此可能在实际求解中,w有多个值,均可以使差值最小化。

拓展知识:
∂ ( x T A x ) ∂ x = A x + A T x ,其中 A 是常数矩阵 \frac{\partial (x^T A x)}{\partial x}=Ax+A^Tx,其中A是常数矩阵 x(xTAx)=Ax+ATx,其中A是常数矩阵

∂ ( x T α ) ∂ x = ∂ ( α T x ) ∂ x = α ,其中 a 为常数向量 \frac{\partial(x^T \alpha)}{\partial x}=\frac{\partial(\alpha^Tx)}{\partial x}=\alpha,其中a为常数向量 x(xTα)=x(αTx)=α,其中a为常数向量

广义线性模型

针对之前学习的线性回归模型思考几个问题:

  • x与y之间的变化不是线性的,存在非线性关系还可以像之前那样定义吗?
  • 预测数据和真实之间的差值不是常数,且随x变化,如何来界定呢?
  • 线性回归假设在因变量正态分布的前提上,导致因变量必须是连续的,若是离散值如何处理呢?

因此在原来线性回归的基础上又衍生出了种类繁多的线性类模型。

在线性回归基础上,在等号的左边或右边加上了一个函数,从而能够让模型更好的捕捉一般规律,此时该模型就被称为广义线性模型,该函数就被称为联系函数。
广义线性模型的提出初衷上还是为了解决非线性相关的预测问题。

y = g − 1 ( w T x + b ) 其中 g ( ⋅ ) 是联系函数 y = g^{-1}(w^Tx+b) 其中g(·)是联系函数 y=g1(wTx+b)其中g()是联系函数

实战解析(讲的很好)

逻辑回归模型(对数几率回归)

事先申明,虽然它叫逻辑“回归”,但是它的主要任务是进行二分类。

几率(odd)与对数几率

几率不是概率,而是一个事件发生与不发生的概率的比值。假设某件事发生的概率为p,则该件事不发生的概率为1-p,则该事件的几率:
o d d ( p ) = p 1 − p odd(p)=\frac{p}{1-p} odd(p)=1pp
在几率的基础上取e为底的对数,怎么这件事的对数几率(logit):
l o g i t ( p ) = l n p 1 − p logit(p)=ln\frac{p}{1-p} logit(p)=ln1pp
对数几率模型

如果我们将对数几率看成是一个函数,并将其作为联系函数,则该广义线性模型为:
g ( y ) = l n y 1 − y = w ^ T ⋅ x ^ g(y)=ln\frac{y}{1-y}=\hat w^T·\hat x g(y)=ln1yy=w^Tx^
可以将其反解出来:
在这里插入图片描述

我们将其抽象成数学公式的话,其实可以表示为:
f ( z ) = 1 1 + e − z f(z) =\frac{1}{1+e^{-z}} f(z)=1+ez1
那我们将这个图像绘制出来看看它的特性:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LblcXVZi-1685858452114)(C:\Users\liyi0\AppData\Roaming\Typora\typora-user-images\image-20230603112413160.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BPq9iCMi-1685858452116)(C:\Users\liyi0\AppData\Roaming\Typora\typora-user-images\image-20230603112455478.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IrcjbcRe-1685858452117)(C:\Users\liyi0\AppData\Roaming\Typora\typora-user-images\image-20230603225320507.png)]

读到这里大家可能会产生疑问:

  • 为什么非得探讨对数的情况?指数、绝对值情况不可以吗?

  • 为什么最后是sigmoid函数,不可以是其他的函数吗?

拓展了解广义线性回归

数学基础:伯努利分布、极大似然估计、高斯(正态)分布、梯度下降

引入了sigmoid函数,我们可以做什么?

我们假设有一个分类任务,我们要求出正例和反例各自的概率,不妨假设预测函数就是sigmoid函数,具体示例如下:
h θ ( x ) = g ( θ T x ) = 1 1 + e − θ T x θ = ( w ; b ) h_{\theta}(x)=g({\theta}^Tx)=\frac{1}{1+e^{{-\theta}^Tx}} \\ \theta = (w;b) hθ(x)=g(θTx)=1+eθTx1θ=(w;b)

正例: P ( y = 1 ∣ x ; θ ) = h θ ( x ) 反例: P ( y = 0 ∣ x ; θ ) = 1 − h θ ( x ) 整合: P ( y ∣ x ; θ ) = ( h θ ( x ) ) y ( 1 − h θ ( x ) ) 1 − y 二分类任务 y 只取 0 , 1 正例:P(y=1|x;\theta)=h_{\theta}(x) \\ 反例:P(y=0|x;\theta)=1-h_{\theta}(x) \\ 整合:P(y|x;\theta)=(h_{\theta}(x))^y(1-h_{\theta}(x))^{1-y}\\ 二分类任务y只取0,1 正例:P(y=1∣x;θ)=hθ(x)反例:P(y=0∣x;θ)=1hθ(x)整合:P(yx;θ)=(hθ(x))y(1hθ(x))1y二分类任务y只取0,1

似然函数:
L ( θ ) = ∏ i = 1 m P ( y i ∣ x i ; θ ) = ∏ i = 1 m ( h θ ( x i ) ) y i ( 1 − h θ ( x i ) ) 1 − y i L(\theta)=\prod_{i=1}^mP(y_i|x_i;\theta) =\prod_{i=1}^m(h_{\theta}(x_i))^{y_i}(1-h_{\theta}(x_i))^{1-y_i} L(θ)=i=1mP(yixi;θ)=i=1m(hθ(xi))yi(1hθ(xi))1yi

概率的连乘会使最后数据过小无法有效计算,想办法消去连乘,便引进了对数似然函数:
l ( θ ) = l o g L ( θ ) = ∑ i = 1 m ( y i l o g h θ ( x i ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) ) l(\theta)=logL(\theta)=\sum_{i=1}^{m}(y_ilogh_\theta(x_i)+(1-y_i)log(1-h_\theta(x_i))) l(θ)=logL(θ)=i=1m(yiloghθ(xi)+(1yi)log(1hθ(xi)))
此时要求对数似然函数的最大值:但是求最大是一个梯度上升的问题,我们平常所熟悉的是梯度下降的问题,那就要进行问题的转化。
J ( θ ) = − 1 m l ( θ ) J(\theta)=- \frac{1}{m}l(\theta) J(θ)=m1l(θ)
利用梯度下降方法求出迭代方向(即导数值)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DlulRH3J-1685858452118)(C:\Users\liyi0\AppData\Roaming\Typora\typora-user-images\image-20230603225351181.png)]

x i j 表示第 i 个样本的第 j 个特征 x_i^j 表示第i个样本的第j个特征 xij表示第i个样本的第j个特征
参数更新:
θ j : = θ j − α 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) x i j \theta_j :=\theta_j-\alpha\frac{1}{m}\sum_{i=1}^{m}(h_\theta(x_i)-y_i)x_i^j θj:=θjαm1i=1m(hθ(xi)yi)xij
这个式子中的α表示更新的步长(学习率),后面表示方向。方向乘以步长表示我要更新的内容

拓展:多分类的softmax

类别不平衡问题

什么时候需要去处理类别不平衡的问题:在这里插入图片描述

当一个样本中的“小类”比样本中的“大类”更为重要时才需要对类别不平衡进行处理。在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

推荐讲解:周志华老师西瓜书

本文为机器学习入门篇,暂时不对复杂问题进行探讨。对于中间提到的公式最好是手动推导!

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

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

相关文章

百度商业AI技术创新大赛启动-63万元奖金!

随着生成式AI在全球范围的热议,AIGC前沿技术也在快速迭代,正如百度CEO李彦宏所说“人工智能发生了方向性改变,从辨别式AI走向生成式AI,生成式AI会带来极大的效率提升”。而这一领域的发展,将推动AI产品应用深化&#x…

两个震子如何调整发送信号时间差来调整波束

ΔΦ 2π/λdsinθ 这个式子中 d是振子的距离不变 λ是波长可以根据频率知道...所以要控制θ 就要控制两个振子的相位差 也就是控制振子a与振子b的时间差就能控制θ 30mhz的带宽与相位偏差的影响 ΔΦ 2π/λdsinθ 频率900hmz 波长300/9000.333 频率930hmz 波长300/9300…

t-SNE(t-stochastic neighourhood embedding) 数据降维及可视化

文章目录 算法原理示例一示例二 算法原理 t-SNE 的基本思想是将高维数据映射到低维空间,同时保留数据间的局部结构。具体而言,给定一个高维数据集 X { x 1 , … , x n } \mathbf{X}\{\mathbf{x}_1,\dots,\mathbf{x}_n\} X{x1​,…,xn​},其…

macm1环境下IDEA项目切换jdk版本

macm1环境下IDEA项目切换jdk版本 本文目录 macm1环境下IDEA项目切换jdk版本背景需求下载对应版本jdk配置IDEA中指定项目的JDK版本配置 Project Structure配置 Settings 可能报错同时安装JDK8和JDK17并切换 背景需求 项目基于 springboot3.0.7Nacos2.2.3seata1.6.1 由spring官…

TensorFlow2安装备忘

系统配置 Ubuntu18.04 Anaconda4.9.2 Cuda10.0Cudnn7.6.5 CPU版本 执行pip install tensorflow默认安装的是CPU版本,并且安装后会有较多import依赖问题,部分记录如下,基本都属于"No module named xxxx"。 1.找不到wrapt 通过…

【23】SCI易中期刊推荐——神经网络科学及机器人学(中科院3区)

💖💖>>>加勒比海带,QQ2479200884<<<💖💖 🍀🍀>>>【YOLO魔法搭配&论文投稿咨询】<<<🍀🍀 ✨✨>>>学习交流 | 温澜潮生 | 合作共赢 | 共同进步<<<✨✨ 📚📚>>>人工智能 | 计算机视觉…

面试官:useEffect和useLayoutEffect有什么区别?

您好&#xff0c;如果喜欢我的文章&#xff0c;可以关注我的公众号「量子前端」&#xff0c;将不定期关注推送前端好文~ Effect数据结构 顾名思义&#xff0c;React底层在函数式组件的Fiber节点设计中带入了hooks链表的概念&#xff08;memorizedState&#xff09;&#xff0…

博弈论——巴什博弈(C++)

博弈论&#xff08;C&#xff09; 前言例题&#xff1a;拍卖会题目描述输入输出格式输入格式&#xff1a;输出格式&#xff1a; 输入输出样例输入样例#1&#xff1a;输出样例#1&#xff1a; 例题的解&#xff1a;巴什博奕&#xff08;Bash Game&#xff09;&#xff1a;代码&am…

CEPH部署

//存储类型 块存储 一对一&#xff0c;只能被一个主机挂载使用&#xff0c;数据以块为单位进行存储&#xff0c;典型代表&#xff1a;硬盘 文件存储 一对多&#xff0c;能被多个主机同时挂载使用&#xff0c;数据以文件的形式存储的&#xff08;元数据和实际数据是分开存储…

【30】核心易中期刊推荐——人工智能图像处理

🚀🚀🚀NEW!!!核心易中期刊推荐栏目来啦 ~ 📚🍀 核心期刊在国内的应用范围非常广,核心期刊发表论文是国内很多作者晋升的硬性要求,并且在国内属于顶尖论文发表,具有很高的学术价值。在中文核心目录体系中,权威代表有CSSCI、CSCD和北大核心。其中,中文期刊的数…

javascript基础二十三:说说 JavaScript 中内存泄漏的几种情况

一、是什么 内存泄漏&#xff08;Memory leak&#xff09;是在计算机科学中&#xff0c;由于疏忽或错误造成程序未能释放已经不再使用的内存 并非指内存在物理上的消失&#xff0c;而是应用程序分配某段内存后&#xff0c;由于设计错误&#xff0c;导致在释放该段内存之前就失…

【数学建模】期末样题(2021年真题)

一、&#xff08;10分&#xff09;某乳制品厂计划生产A、B、C三种酸奶。已知生产单位重量的A需要加工设备3小时&#xff0c;原料甲1千克&#xff0c;原料乙0.2千克&#xff1b;生产单位重量的B需要加工设备5小时&#xff0c;原料甲1千克&#xff0c;原料乙0.3千克&#xff1b;生…

若依之权限处理

若依之权限处理 若依前后端不分离版本使用的是shiro进行权限控制&#xff0c;本文主要是对shiro在若依中的使用进行分析。 RBAC权限模型 RBAC是指基于角色的访问控制。其基本思想是&#xff0c;对系统的各种权限不是直接授予具体的用户&#xff0c;而是在用户集合与权限集合…

【论文总结】Drifuzz: Harvesting Bugs in Device Drivers from Golden Seeds

Drifuzz:从金种子中收获设备驱动程序中的漏洞 摘要: 现代计算机中的外围硬件通常被认为是安全的且不带恶意&#xff0c;并且设备驱动程序以信任从硬件输入的方式实现。然而&#xff0c;最近的漏洞攻击&#xff08;如Broadpwn&#xff09;已经证明攻击者可以通过易受攻击的外围…

Map复习(JDK1.8)

首先考虑的问题任然是高并发的安全问题&#xff1a; HashMap是一个不安全的&#xff0c;多线程会导致数据不一致。 Hashtable是安全的&#xff0c;但是速度比较慢&#xff0c;只要是安全的就是一性能为代价换来的&#xff0c;加锁开锁需要时间&#xff0c;加锁是只能一个线程访…

服务注册与发现总结

文章目录 概要一、服务注册与发现技术要点1.1、服务注册/下线1.1.1、代理注册1.1.2、客户端注册 1.2、健康检查&#xff08;续约&#xff09;1.2.1、主动检测1.2.2、被动检测 1.3、服务发现1.3.1、代理发现1.3.2、客户端发现 1.4、服务变更通知1.4.1、主动通知1.4.2、被动通知 …

linux系统vim编辑器的使用

前言&#xff1a; 前面我们就说过在linux系统下一切都是文件&#xff0c;也可以说在日常使用linux系统过程中使用频率最高工具&#xff0c;基本没有之一&#xff0c;今天就来详情介绍一下我们在日常使用vim编辑器的过程中一些常见的指令&#xff0c;博主始终遵循好记心不如烂笔…

Excel排序

Excel排序 写在前面&#xff1a; Excel是我们最常用的办公工具之一&#xff0c;其中排序是最基础和最重要的一项&#xff0c;如下介绍了两种排序方式&#xff0c;有需要者可以参照这些步骤完成相关任务~ 一、排序方法1 使用Excel自带的排序功能&#xff0c;具体步骤如下&…

pandas菜鸟速学-series

一、pandas是什么 一个基于numpy的数据处理数据分析的工具。 特点&#xff1a; Pandas 的主要数据结构是 Series &#xff08;一维数据&#xff09;与 DataFrame&#xff08;二维数据&#xff09;&#xff0c;这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大…

重学SSE

概述 SSE&#xff08;Server-Sent Events&#xff09;是一种用于实现服务器主动向客户端推送数据的技术&#xff0c;也被称为“事件流”&#xff08;Event Stream&#xff09;。它基于 HTTP 协议&#xff0c;利用了其长连接特性&#xff0c;在客户端与服务器之间建立一条持久化…