BP神经网络应用案例
目录
背景介绍
【神经网络符号说明】
【建立网络拓扑结构】
【神经网络学习步骤】
步骤1 准备输入和输出样本
步骤2 确定网络学习参数
步骤3 初始化网络权值W和阀值B
步骤4 计算网络第一层的输入和输出
步骤5 计算中间层(隐含层输入和输出)
步骤6 计算输出层的输入和输出编辑
步骤7 计算能量函数
步骤8 计算能量函数对各参数的偏导数(梯度)
步骤9 计算各权值的调整量
步骤10 调整各个权值
步骤11 网络输出的还原
神经网络训练(建模过程的有关细节略去)
输入变量
输出变量
【基于案例的网络训练效果与参数的关系】
1、其余要素不变,训练次数与误差的关系
2、隐含层神经元数量与误差关系
3、学习效率与误差关系
4、利用训练好的网络进行预测
5、避免过度拟合,需要对样本输出做干扰处理
背景介绍
冶金技术,钢铁开始锻炼的“开始温度”与13个指标有关,见表(1)。
| 出钢时间/h | 钢水净重量/t | 吹止温度/oC | 高碳锰铁/t | 低碳锰铁/t | 硅锰铁/t | 硅铁/t | 铝块/t | 增碳剂/t | 中碳锰铁/t | 包龄/炉/包 | 运输时间/min | 等待时间/min | 开始温度 |
| 3 | 279000 | 1673 | 0 | 5211 | 0 | 0 | 667 | 0 | 0 | 14 | 45.78 | 3.03 | 1557 |
| 6 | 274000 | 1669 | 0 | 5116 | 0 | 0 | 501 | 0 | 0 | 56 | 9.23 | 9.37 | 1561 |
| 6 | 280000 | 1675 | 0 | 5050 | 0 | 0 | 497 | 0 | 0 | 77 | 22.42 | 8.83 | 1583 |
| 9 | 267000 | 1650 | 0 | 5032 | 0 | 0 | 0 | 0 | 0 | 62 | 24.03 | 7.17 | 1553 |
| 6 | 280000 | 1657 | 0 | 4655 | 0 | 0 | 498 | 0 | 0 | 19 | 28.52 | 12.3 | 1574 |
| 7 | 303000 | 1659 | 0 | 1124 | 0 | 0 | 413 | 180 | 0 | 12 | 45.6 | 8.13 | 1568 |
| 7 | 283000 | 1655 | 0 | 1112 | 0 | 0 | 447 | 176 | 0 | 84 | 46.18 | 8 | 1576 |
| 7 | 280000 | 1649 | 0 | 1110 | 0 | 0 | 459 | 281 | 0 | 75 | 25.07 | 8.63 | 1575 |
| 5 | 278000 | 1641 | 9876 | 0 | 0 | 2996 | 2604 | 472 | 0 | 13 | 30.55 | 10.27 | 1594 |
| 6 | 285000 | 1659 | 2531 | 0 | 0 | 696 | 466 | 73 | 0 | 58 | 19.67 | 7.87 | 1570 |
| 9 | 279737 | 1652 | 2326 | 0 | 0 | 702 | 413 | 64 | 0 | 11 | 33.93 | 7.07 | 1550 |
| 9 | 279195 | 1658 | 2295 | 0 | 0 | 641 | 403 | 94 | 0 | 33 | 40.3 | 6.97 | 1566 |
| 5 | 274000 | 1666 | 2208 | 0 | 0 | 747 | 404 | 103 | 0 | 8 | 25.45 | 11.8 | 1578 |
| 6 | 280201 | 1671 | 2015 | 0 | 0 | 356 | 450 | 0 | 806 | 48 | 28.7 | 2.83 | 1591 |
| 6 | 275000 | 1689 | 2011 | 0 | 0 | 512 | 566 | 0 | 1597 | 72 | 31.63 | 10.73 | 1585 |
| 5 | 273000 | 1647 | 2003 | 0 | 0 | 603 | 415 | 0 | 0 | 26 | 21.4 | 8.78 | 1574 |
| 8 | 295000 | 1633 | 1806 | 0 | 2032 | 307 | 305 | 0 | 800 | 16 | 27.02 | 10.92 | 1563 |
| 6 | 276000 | 1646 | 1501 | 0 | 0 | 247 | 446 | 0 | 445 | 86 | 35.88 | 11.9 | 1532 |
| 7 | 292000 | 1668 | 1295 | 0 | 3786 | 82 | 300 | 50 | 0 | 98 | 24.95 | 10.43 | 1563 |
| 5 | 290000 | 1670 | 996 | 0 | 3507 | 0 | 449 | 0 | 151 | 5 | 45.55 | 9.72 | 1572 |
| 6 | 293000 | 1687 | 203 | 0 | 0 | 700 | 296 | 154 | 0 | 59 | 37.68 | 8.53 | 1592 |
| 6 | 288000 | 1659 | 0 | 0 | 2282 | 302 | 449 | 0 | 1005 | 15 | 25.5 | 11.45 | 1575 |
| 3 | 290762 | 1671 | 0 | 0 | 2046 | 105 | 484 | 0 | 2715 | 39 | 45.3 | 2.83 | 1571 |
| 6 | 280875 | 1658 | 0 | 0 | 2195 | 0 | 399 | 0 | 2452 | 7 | 23.27 | 7.03 | 1597 |
| 8 | 284000 | 1625 | 0 | 0 | 2049 | 0 | 467 | 0 | 2714 | 59 | 34.65 | 8.2 | 1595 |
| 7 | 284000 | 1661 | 0 | 0 | 2018 | 0 | 463 | 0 | 2649 | 56 | 19.13 | 11.17 | 1569 |
| 6 | 280000 | 1669 | 0 | 0 | 2010 | 0 | 397 | 0 | 2582 | 13 | 16.2 | 9.13 | 1598 |
| 8 | 257000 | 1662 | 0 | 0 | 2008 | 0 | 422 | 0 | 2492 | 55 | 10.8 | 9.03 | 1606 |
| 7 | 274660 | 1675 | 0 | 0 | 1503 | 0 | 523 | 0 | 3326 | 55 | 11.22 | 10.87 | 1593 |
| 6 | 266000 | 1673 | 0 | 0 | 1362 | 0 | 621 | 0 | 3299 | 61 | 11.33 | 9.33 | 1598 |
表1 钢铁锻炼的有关指标
由冶金机理可知,钢铁开始锻炼的“开始温度”(表中最后1列)会受到出钢时间、钢水净重、吹止温度、高碳锰铁、…、等待时间等13个因素(表1中前13列)影响。这里,将前13列作为输入因子,最后一列作为输出因子,用于学习如何训练BP神经网络及其步骤。
【神经网络符号说明】
- 系统X输入样本;Y系统输出样本;
- I1 输入层输入数据;O1为输入层输出数据;
- I2 隐含层输入数据;O2为隐含层输出数据;
- I3 输出层输入数据;O3输出层输出数据;
- 输入层和输出层采用线性函数f(x)=x;
- 隐含层采用S型刺激函数(第1个,0到1);
- W1为输入层到隐含层权值,B1为输入层到隐含层阀值;
- W2为隐含层到输出层权值,B2为隐含层到输出层阀值;
- E=Ones 为元素为1的行矩阵,维数与Y一致;
【建立网络拓扑结构】

针对本案例,需要说明:(1)输入层输入I1=X13×30;(2)由输入层到隐含层参数(W1)12×13,(B1)12×1;(3)中间层到输出层(W2)1×12,(B2)1×1;(4)为了满足矩阵相加,(E)1×30.
【神经网络学习步骤】
步骤1 准备输入和输出样本
设X为13行30列的输入样本矩阵,Y为1行30列的输出样本。由于输入和输出矩阵的数据量纲不同,计量单位也不同,需要归一化,有两种方式

or
步骤2 确定网络学习参数
最大训练次数 5000
隐含层神经元数量(或隐含层数量,各层神经元数量)
1层,12个神经元
网络学习效率(速度) 0.035
训练目标误差 0.65×10-3.
是否添加动量因子 否
步骤3 初始化网络权值W和阀值B
W1和B1,W2和B2都采用随机数生成。另外特别说明:
- 训练步骤是按照批量形式进行(即样本一次全部输入,采用矩阵运算)
- 阀值写成权值形式,也就是说阀值看成样本输入为1的随机数
- 数据输入是按照行作为一个输入维度(不是列),即每个样本为一个输入维度,即X的形式要把握
步骤4 计算网络第一层的输入和输出
由于样本输入就是第一层输入,第一层输入又是线性函数,所以有
步骤5 计算中间层(隐含层输入和输出)


步骤6 计算输出层的输入和输出

步骤7 计算能量函数
记
为残差向量,能量函数定义为
步骤8 计算能量函数对各参数的偏导数(梯度)
(1)把能量函数写成所有权系数的逐步复合函数,求能量函数关于这些权系数的偏导数(表达成梯度向量)
(2)计算能量函数对权的偏导数 根据复合函数求导链式法则,有
注意:点乘·表示两个矩阵对应分量相乘得到同型矩阵。
步骤9 计算各权值的调整量
由于负梯度方向是能量函数下降最快的方向,故各个权系数的调整量为
其中,表示学习效率(速度,也就是搜索步长)。
步骤10 调整各个权值
权值=权值+调整量,先调整输出层到隐含层的权值,再调整隐含层到输入层的权值。这个调整方向和计算网络输出的方向刚好相反,故称为前向反馈网络。

由于负梯度方向搜索法容易限于局部极值,故很多问题里,调整量还附加了动量因子。
步骤11 网络输出的还原
根据步骤1数据归一化的逆函数,将网络输出还原为样本输出等同意义的数据,用于决策。
{(0,1)还原}
{(-1,1)还原}
在神经网络学习术语里,称样本输出Y为导师数据,或监督数据,称有参考数据的网络学习为有监督学习或有导师学习。而在没有给出监督数据的问题里,要根据问题,构造一个理想的(不存在的)的监督数据,以确定能量函数。现代机器学习人工智能深度学习的一个困惑或难点就是确定合理的导师数据。从上面11步骤可以看到,神经网络训练其实就是利用最小二乘法求解合适的权系数(用的是逆向反馈法)。
神经网络训练(建模过程的有关细节略去)
案例数据存放地点:
A=xlsread('d:\ganglengque.xlsx');
X=A(:,1:end-1)';Y=A(:,end)';
编写一个负梯度训练子程序
function [W1,W2,B1,B2,eb,s2]=BPnn(X,Y,n1,n,lr,sig)
[X]=mapminmax(X);
[Y,s2]=mapminmax(Y);
W1=rand(n1,13);B1=rand(n1,1);
W2=rand(1,n1);B2=rand(1,1);
E=ones(size(Y));
eb=[];
for i=1:nI1=X;O1=I1;I2=W1*O1+B1*E;O2=logsig(I2);I3=W2*O2+B2*E;O3=I3;err=Y-O3;hrr=sum(err.^2)^0.5;eb=[eb,hrr];if hrr<sigXt=datetime;disp(Xt);break;enddW2=err*O2';dB2=err*E';dW1=((W2'*err).*(O2.*(1-O2)))*X';dB1=((W2'*err).*(O2.*(1-O2)))*E';W1=W1+lr*dW1;B1=B1+lr*dB1;W2=W2+lr*dW2;B2=B2+lr*dB2;
end
plot(1:length(Y),Y,'--',1:length(Y),O3,'*-');
legend(‘样本输出’,’网络输出');
输入变量
样本输入X;样本输出Y;隐含层神经元n1;训练次数n;学习效率lr;误差容许sig;
输出变量
按要求训练得到的权系数W1,W2,B1,B2;各次训练残差痕迹向量eb;输出样本归一化信息s2.
【基于案例的网络训练效果与参数的关系】
1、其余要素不变,训练次数与误差的关系
将训练后的网络输出与样本输出(都归一化)绘制散点图,可以看出拟合好坏(即误差直观体现)
A=xlsread('d:\ganglengque.xlsx');
X=A(:,1:end-1)';Y=A(:,end)';
n1=12;lr=0.035;sig=0.003;
[W1,W2,B1,B2,eb,s2]=BPnn(X,Y,n1,20,lr,sig);
[W1,W2,B1,B2,eb,s2]=BPnn(X,Y,n1,60,lr,sig);
[W1,W2,B1,B2,eb,s2]=BPnn(X,Y,n1,180,lr,sig);
[W1,W2,B1,B2,eb,s2]=BPnn(X,Y,n1,500,lr,sig);
[W1,W2,B1,B2,eb,s2]=BPnn(X,Y,n1,1000,lr,sig);
[W1,W2,B1,B2,eb,s2]=BPnn(X,Y,n1,2000,lr,sig);

2、隐含层神经元数量与误差关系
其它要素不变,都训练500次,隐含层神经元n1分别取4,6,8,10,12,16,观察拟合效果曲线
A=xlsread('d:\ganglengque.xlsx');
X=A(:,1:end-1)';Y=A(:,end)';
n=1000,lr=0.035;sig=0.003;
[W1,W2,B1,B2,eb,s2]=BPnn(X,Y,4,n,lr,sig);
[W1,W2,B1,B2,eb,s2]=BPnn(X,Y,6,n,lr,sig);
[W1,W2,B1,B2,eb,s2]=BPnn(X,Y,8,n,lr,sig);
[W1,W2,B1,B2,eb,s2]=BPnn(X,Y,10,n,lr,sig);
[W1,W2,B1,B2,eb,s2]=BPnn(X,Y,12,n,lr,sig);
[W1,W2,B1,B2,eb,s2]=BPnn(X,Y,16,n,lr,sig);

3、学习效率与误差关系
它输入因素不变,训练次数n=500,隐含层神经元n1=12,让学习效率lr分别取0.1,0.05,0.02,0.01,0.005,0.001,观察拟合曲线的效果
4、利用训练好的网络进行预测
对n1=12,n=4000,lr=0.035,案例1提供的训练样本,输出训练好的权系数。如图所示,训练效果很好。
A=xlsread('d:\ganglengque.xlsx');
X=A(:,1:end-1)';Y=A(:,end)';
n=4000;n1=12;sig=0.003;lr=0.035;
[W1,W2,B1,B2,eb,s2]=BPnn(X,Y,n1,n,lr,sig);

训练完成的权系数W1,W2,B1,B2保存在表2中,用不同颜色区分。
| W1= | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | B1= |
| 1 | 0.05 | -0.84 | 0.97 | 0.96 | 0.18 | 0.20 | 0.85 | 0.00 | 0.80 | 1.30 | -0.37 | 0.23 | 0.76 | 0.28 |
| 2 | -0.65 | 1.74 | 0.41 | -0.37 | -0.41 | 0.60 | 0.65 | 0.38 | 0.48 | 1.63 | 1.55 | 1.83 | 0.35 | 0.46 |
| 3 | 0.57 | 0.86 | 0.79 | 0.45 | 1.55 | 0.17 | 0.67 | 0.78 | 0.24 | 0.27 | 0.90 | 1.07 | 0.66 | -0.17 |
| 4 | 0.30 | 0.00 | 0.32 | 1.05 | 0.22 | 0.25 | 0.74 | 0.75 | 0.77 | 0.63 | 0.52 | 0.24 | -0.09 | 0.45 |
| 5 | 0.23 | 0.08 | 0.76 | 0.85 | -0.69 | 1.48 | 0.26 | 0.55 | 0.48 | 1.80 | -0.03 | 0.00 | -0.67 | 0.40 |
| 6 | 1.79 | -0.87 | -1.57 | 0.92 | 0.50 | 2.29 | 0.36 | 0.33 | 0.79 | 0.94 | 0.02 | 0.93 | -0.35 | 0.07 |
| 7 | 0.30 | 0.35 | 0.71 | 1.04 | 0.45 | 0.11 | 0.80 | 0.89 | 0.89 | 0.60 | 0.26 | 0.40 | 0.59 | 0.14 |
| 8 | 3.15 | 0.16 | -0.38 | 1.66 | -0.33 | -0.60 | 1.83 | 0.62 | -0.48 | -0.38 | 1.57 | 0.10 | 1.67 | -0.52 |
| 9 | -0.33 | -0.22 | 0.64 | 0.87 | 1.70 | -0.21 | 0.24 | 0.83 | 0.18 | 0.39 | 0.47 | -0.15 | -0.55 | 0.03 |
| 10 | 0.52 | 0.70 | 0.12 | 0.61 | 0.82 | 0.74 | 0.94 | 1.12 | 1.01 | 0.32 | 0.31 | 0.38 | 0.48 | 0.55 |
| 11 | 0.90 | 0.70 | 0.71 | 0.85 | 1.00 | 0.66 | 0.29 | 0.50 | 1.07 | 0.79 | 0.34 | 0.54 | 0.32 | 0.11 |
| 12 | 1.12 | 0.28 | 2.61 | 1.13 | 0.00 | -0.72 | 1.32 | 0.69 | 1.08 | -0.18 | 2.17 | 1.17 | -0.25 | 0.63 |
| W2= | 0.82 | -1.11 | 0.80 | -0.03 | 0.95 | 1.88 | -0.15 | -1.62 | -1.12 | -0.06 | -0.05 | 1.38 | B2= 0.16 |
|
5、避免过度拟合,需要对样本输出做干扰处理
对网络输入(已经归一化后的数据),在添加一个噪声向量,即Y=Y+noise,一般noise为均值为0的正态分布 ,即noise=normrnd(0,1,size(Y); Y=Y+r*noise;
r为噪声强度,一般r非常小。
取r=0.01,加入BP神经网络拟合中,代码如下
function [W1,W2,B1,B2,eb,s2]=BPnnn(X,Y,n1,n,lr,sig)
[X]=mapminmax(X);
[Y,s2]=mapminmax(Y);
noise=normrnd(0,1,size(Y));
Y=Y+0.2*noise;
W1=rand(n1,13);B1=rand(n1,1);
W2=rand(1,n1);B2=rand(1,1);
E=ones(size(Y));
eb=[];
for i=1:nI1=X;O1=I1;I2=W1*O1+B1*E;O2=logsig(I2);I3=W2*O2+B2*E;O3=I3;err=Y-O3;hrr=sum(err.^2)^0.5;eb=[eb,hrr];if hrr<sigXt=datetime;disp(Xt);break;enddW2=err*O2';dB2=err*E';dW1=((W2'*err).*(O2.*(1-O2)))*X';dB1=((W2'*err).*(O2.*(1-O2)))*E';W1=W1+lr*dW1;B1=B1+lr*dB1;W2=W2+lr*dW2;B2=B2+lr*dB2;
end
plot(1:length(Y),Y,'--',1:length(Y),O3,'*-');
legend('Ñù±¾Êä³ö','ÍøÂçÊä³ö')
在隐含层神经元n1=12,学习效率lr=0.035,训练次数n=4000情况下,容差sig=0.003情况下,将有噪声(强度系数0.8)和无噪声两种情况的残差结果进行对比,见下图。可以看出,有噪声收敛速度慢于无噪声。
A=xlsread('d:\ganglengque.xlsx');
X=A(:,1:end-1)';Y=A(:,end)';
n1=12;lr=0.035;sig=0.003;n=4000;
[W1,W2,B1,B2,eb1,s1]=BPnn(X,Y,n1,n,lr,sig);
[W11,W21,B11,B21,eb2,s2]=BPnnn(X,Y,n1,n,lr,sig);
subplot(2,1,1);
bar(eb1);
subplot(2,1,2);
bar(eb2);

相关文章:
BP神经网络应用案例
目录 背景介绍 【神经网络符号说明】 【建立网络拓扑结构】 【神经网络学习步骤】 步骤1 准备输入和输出样本 步骤2 确定网络学习参数 步骤3 初始化网络权值W和阀值B 步骤4 计算网络第一层的输入和输出 步骤5 计算中间层(隐含层输入和输出) 步骤…...
日常学习记录随笔-大数据之日志(hadoop)收集实战
数据收集(nginx)--->数据分析---> 数据清洗--->数据聚合计算---数据展示 可能涉及到zabix 做任务调度我们的项目 电商日志分析 比如说我们现在有一个系统,我们的数仓建立也要有一个主题 我这个项目是什么我要干什么定义方向 对用户进行分析,用户信息 要懂整个数据的流…...
【云计算】相关解决方案介绍
文章目录 1.1 云服务环境 Eucalyptus1.1.1 介绍1.1.2 开源协议及语言1.1.3 官方网站 1.2 开源云计算平台 abiCloud1.2.1 开源协议及语言1.2.2 官方网站 1.3 分布式文件系统 Hadoop1.3.1 开源协议及语言1.3.2 官方网站 1.4 JBoss云计算项目集 StormGrind1.4.1 开源协议及语言1.4…...
攻防世界题目练习——Crypto密码新手+引导模式(二)(持续更新)
题目目录 1. 转轮机加密2. easychallenge 上一篇:攻防世界题目练习——Crypto密码新手引导模式(一)(持续更新) 1. 转轮机加密 首先了解一下轮转机加密吧。 传统密码学(三)——转轮密码机 题目内容如下: …...
LeetCode【1】两数之和
题目: 代码: public int[] twoSum(int[] nums, int target) {int[] result new int[2];Map<Integer, Integer> map new HashMap<>();// for (int i 0; i < nums.length; i) { // 这么写不能防重复啊!注意这里不…...
【运维笔记】VMWare 另一个程序已锁定文件的一部分,进程无法访问
情景再现 这里使用的是VMware 17 解决办法 进入设置 点击选项,全选复制里面内容 进入文件夹,删除所有包含.lck后缀的文件和文件夹 再启动虚拟机即可...
[Springboot]统一响应和异常处理配置
背景 前后端分离情况下,后端接口通常只需要返回JSON数据。 但有时候因为某些原因可能会导致得不到正确的结果。 比如 因为登录密码错误,你不能直接返回错误信息和null,这样前端很难处理。 又比如 因为后端接口爆出了异常,也不能直…...
Redis第四五六章 持久化事务主从复制
Redis ⽀持 RDB 和 AOF 两种持久化机制,持久化功能有效地避免因进程退出造成数据丢失问题, 当下次重启时利⽤之前持久化的⽂件即可实现数据恢复。 目录 第四章 持久化 4.1 RDB 4.1.1 触发机制 4.1.2 流程说明 4.1.3 RDB ⽂件的处理 4.1.4 RDB 的优…...
【强烈推荐】免费的PDF工具,包括PDF拆分/分割、转WORD等功能的免费在线软件工具,救了大命,找了半天什么pdf365、福xipdf、还有哔果pdf全是打着免费名义收费,烦死了
PDF拆分 - 图文工具箱 - imgtool.net,嘎嘎好用,主要是免费 除此之外,还有其他的功能,需要的可以去看看...
SpringMVC源码分析(二)启动过程之RequestMappingHandlerMapping分析
a、http请求中的url是如何与对应Handler的即Controller对应method映射的? 在上篇中提到在SpringMVC中,初始化9大内置组件的时候其中有一个组件就是HandlerMapping,在初始化HandlerMapping的时候会加载代码中所有标注了Controller和RequestMap…...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(7)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(6) 上一回讲到了drm_internal_framebuffer_create函数中的framebuffer_check函数。讲解了该函数的参数检查部分中的第二部分,本回对于该函数余下部分进行解析。 为了便于理解,再次贴出framebuffer_ch…...
2023 年 Arm A-Profile 架构发展
随着人工智能 (AI) 的兴起和安全威胁的加剧,计算需求不断发展,作为世界设备核心的基础计算架构也必须不断发展。这就是为什么我们的工程团队向普遍存在的 Arm 架构添加新功能和技术,然后软件团队确保软件尽可能无缝地适应这些未来的功能和技术。 Arm架构是如何开发的 Arm …...
2023年09月 C/C++(五级)真题解析#中国电子学会#全国青少年软件编程等级考试
C/C++编程(1~8级)全部真题・点这里 Python编程(1~6级)全部真题・点这里 第1题:红与黑 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。 时间限…...
CentOS系统/root根目录扩容(扩展逻辑卷)
具体操作步骤 1、查看本机磁盘环境挂载情况 2、添加磁盘分区 3、开始扩容 4、同步到文件系统 1、查看本机磁盘环境挂载情况 [rooticon ~]# df -lh 可以看到/dev/mapper/centos-root 路径下容量为50G,我们要给这个路径下的容量扩容:[rooticon ~]# lsblk…...
苍穹外卖(三) 员工分页及技术实现细节
2. 员工分页查询 2.1 需求分析和设计 2.1.1 产品原型 2.1.2 接口设计 2.2 代码开发 2.2.1 设计DTO类 根据请求参数进行封装 2.2.2 封装PageResult 后面所有的分页查询,统一都封装为PageResult对象。 员工信息分页查询后端返回的对象类型为: Result 2.…...
二进制部署MySQL8.0
1、下载MySQL官方包 ## 下载MySQL [rootlocalhost ~]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz2、解压并移动安装包 # 解压安装包 [rootlocalhost ~]# tar xf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz# 移动 mv…...
全力以赴,火山引擎边缘云代表团出战亚运会
END 未来,火山引擎边缘云赛事阵容将继续全力以赴,通过领先、可信赖的云和智能技术,助力游戏行业呈现更加精彩的竞技赛事。...
WPF页面向后端传参
WPF页面(前端)向后端传参 1、编写一个Button,绑定后端命令,并传递参数: <ButtonWidth"100"Command"{Binding SendCommand}"CommandParameter"{Binding ElementNameSendMessage, PathTex…...
PyTorch 入门
一、说明 深度学习是机器学习的一个分支,其中编写的算法模仿人脑的功能。深度学习中最常用的库是 Tensorflow 和 PyTorch。由于有各种可用的深度学习框架,人们可能想知道何时使用 PyTorch。以下是人们更喜欢使用 Pytorch 来完成特定任务的原因。 Pytorch…...
微信自动批量添加好友的方法
在现在的营销中微信已成为一种重要的沟通方式。微信目前是没有自动批量添加好友的功能,需要运营者一个一个手动去添加,这样太过于浪费时间,并且加频繁了还容易被封号,今天给大家介绍几种手动批量加好友的方式以及怎么借助第三方软…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
