蒙特卡洛原理及实例(附Matlab代码)

news2024/11/20 3:30:34

文章目录

  • 一、理论基础
    • 1.1 伯努利大数定理
    • 1.2 辛钦大数定理
    • 1.3 切比雪夫大数定理
    • 1.4 三者区别和联系
  • 二、蒙特卡洛法
    • 2.1 蒙特卡洛的起源
    • 2.2 蒙特卡洛的解题思路
    • 2.2 蒙特卡洛法的应用
  • 三、几个小栗子
    • 3.1 求解定积分
      • 3.1.1 解析法
      • 3.1.2 蒙特卡洛法
    • 3.2 求解六边形面积
      • 3.2.1 解析法
      • 3.2.2 蒙特卡洛法
    • 3.3 求解不规则图形面积
  • 四、总结

本文重点解决如下几个问题:

(1)什么是蒙特卡洛法?

(2)蒙特卡洛法能够解决什么问题?

(3)蒙特卡洛法的优势是什么?或者说为什么要使用蒙特卡洛法?

 

一、理论基础

1.1 伯努利大数定理

    进行N次独立重复实验,随着试验次数的增大,事件A发生的频率 n A N \frac{n_A}{N} NnA依概率收敛为事件A发生的概率 p A p_A pA

1.2 辛钦大数定理

    一个独立同分布(iid)的随机变量序列 x 1 , x 2 , x 3 , . . . , x n x_1, x_2, x_3, ..., x_n x1,x2,x3,...,xn,具有数学期望 μ \mu μ,从随机序列中抽样一部分样本记作集合 X s X_s Xs,则有 E ( X s ) = μ E(X_s)=\mu E(Xs)=μ,即随着样本量 n n n的增大,样本均值收敛为总体均值。

1.3 切比雪夫大数定理

    设随机变量序列 x 1 , x 2 , x 3 , . . . , x n x_1, x_2, x_3, ..., x_n x1,x2,x3,...,xn两两互不相关,且期望存在 E ( X i ) = μ i E(X_i)=\mu_i E(Xi)=μi,方差存在且有共同有界上限,即: D ( X i ) = σ i 2 < M D(X_i)=\sigma^2_i<M D(Xi)=σi2<M则随着样本容量的增加,样本平均数收敛于总体平均数。

1.4 三者区别和联系

  • 伯努利大数定理揭示了频率和概率的关系;
  • 辛钦大数定理揭示了算术平均值和数学期望的关系;
  • 切比雪夫大数定理揭示了样本均值和真实期望的关系(相较于辛钦大数定理,切比雪夫大数定理并未要求同分布,更具有一般性)。

    总结来看,大数定理将属于数理统计的平均值和属于概率论的期望联系在了一起。

二、蒙特卡洛法

2.1 蒙特卡洛的起源

    蒙特卡洛是摩纳哥的著名赌城,该法为表明其随机抽样的本质而命名。

    蒙特卡洛法(Monte Carlo Method)也称统计模拟法、统计实验法,是把概率现象作为研究对象的数值模拟方法,是按抽样调查法求取统计值推定未知特性量的计算方法。该方法通过构造一个和系统相似的概率模型,在数字计算机上进行随机试验来模拟系统的随机特性,故适用于对离散系统进行仿真实验,特别适用于一些解析法难以求解甚至无法求解的问题。

    蒙特卡洛并不是什么高深的理论,只是一种 基于大数定理的方法或策略。 它是用抽样后的样本发生的频率来估计概率,所以它求得的是近似解,而不是精确解,随着样本数的增多,近似解越接近精确解。蒙特卡洛方法本身不是优化算法,与遗传算法、粒子群算法等优化算法有着本质区别。

    蒙特卡洛法的理论基础是概率统计理论;

    蒙特卡洛法的主要手段/实现方法是随即抽样、统计实验。

2.2 蒙特卡洛的解题思路

   蒙特卡洛的基本步骤:

  • 第一步,建立一个概率模型或随机过程,它的参数或数字特征近似于问题的解;

  • 第二步,给出模型中各种不同分布随机变量的抽样方法;

  • 第三步,通过对模型或过程的观察或抽样实验,来计算这些参数或数字特征。

    总之,蒙特卡洛方法有三个主要步骤:构造概率模型;利用概率分布抽样;建立各种估计量。

    对于可以用解析法求解的简单的问题,蒙特卡洛是一个“笨办法”,但对于许多难以求解的问题,蒙特卡洛方法是有效甚至是唯一可行的办法。

2.2 蒙特卡洛法的应用

  • 计算定积分;
  • 超越积分的数值计算(牛顿-莱布尼茨公式难以求解),比如 y = s i n ( x 2 ) y=sin(x^2) y=sin(x2) y = e a x 2 y=e^{ax^2} y=eax2等;
  • 求不规则图形的面积;
  • π \pi π
  • 风险评估;
  • ……

三、几个小栗子

3.1 求解定积分

y = ∫ 0 10 x 2 d x y = \int_{0}^{10}x^2dx y=010x2dx

3.1.1 解析法

y = ∫ 0 10 x 2 d x = 1 3 x 3 ∣ 0 10 = 1 3 × 1 0 3 − 1 3 × 0 3 = 1000 3 y = \int_{0}^{10}x^2dx=\frac{1}{3}x^3|_0^{10}=\frac{1}{3}\times10^3-\frac{1}{3}\times0^3=\frac{1000}{3} y=010x2dx=31x3010=31×10331×03=31000

3.1.2 蒙特卡洛法

    蒙特卡洛法求定积分有两种方法:随机投点法、期望法(或称平均值法),本文重点讲解随机投点法。随机投点法求解定积分的思路是:该题 x ∈ [ 0 , 10 ] ,   y ∈ [ 0 , 100 ] x\in[0, 10],\,y\in[0, 100] x[0,10],y[0,100],因此在 10 × 100 10\times100 10×100的矩形区间内均匀撒点,统计落在曲线下方的点的个数占比,再乘以矩形区间面积就是定积分的值。注意:这个例子的曲线完全位于 x x x坐标轴上方,所以不需要考虑正负号,如果面积有正有负,需要先划分区域,分区计算再求和!

    定积分的本质是求和横坐标围成的有符号面积,因此蒙特卡洛方法有一个弊端:只能求在定积分区间函数值为恒非负或恒非正的函数的定积分,如果积分区间有正有负,那么只能将区间拆分成多个子区间分别进行计算再相加!

%% 蒙特卡洛方法近似求解定积分
% 积分曲线:y = x ^ 2
% 定积分区间:[0, 10]

%% Matlab代码 
clear; clc; close all; warning off;
rng(0);
set(0,'defaultAxesFontName', 'Monospaced');  % 防止中文乱码

% 离散化
L = 10;  % 积分长度
fs = 1 / 1e3;  % 采样率
x = 0 : fs : L;  
y = x .^ 2;  
S = L * (L ^ 2);  % 样本空间面积

% 在区间内撒样本
N_Lis = [1e1, 1e2, 1e3, 1e4];  % 样本个数列表

% 求解定积分
res_integ = 1/3 * (10^3 - 0^3); % 解析解
figure(1); clf;
for n = 1 : length(N_Lis)
    cnt = 0;
    x_random = L * rand(1, N_Lis(n));  % 随机点x
    y_random = L ^ 2 * rand(1, N_Lis(n));  % 随机点y
    for i = 1 : N_Lis(n)
        if y_random(i) <= x_random(i) ^ 2
            cnt = cnt + 1;
        end
    end    
    res_appro = cnt / N_Lis(n) * S;  % 近似解
    
    % 作图
    subplot(2, 2, n);
    plot(x, y, 'k', 'linewidth', 2); hold on;
    area(x, y, 'facecolor', [0, 1, 1]); hold on;
    scatter(x_random, y_random, 10, 'r', 'filled', 'markerfacealpha', 0.5);
    xlabel('x'); ylabel('y'); set(gca, 'fontsize', 14);
    title(['解析解≈', num2str(res_integ, '%.1f'), '   近似解≈', num2str(res_appro, '%.1f')]);
end
f = suptitle('求解y=x^2定积分');
set(f, 'fontsize', 18); set(gcf, 'position', [12, 60, 1450, 650]);

运行结果:
在这里插入图片描述

    从上面运行结果可以发现,随着样本点数的增加,近似解越来越接近真实的解析解。

3.2 求解六边形面积

    图形是由六条直线围成的六边形,六条直线分别为:
{ y 1 = 1 y 2 = − x + 2 y 3 = x + 2 y 4 = 3 y 5 = − x + 5 y 6 = x − 1 \begin{cases} &y1 = 1\\ &y2 = -x + 2\\ &y3 = x + 2\\ &y4 = 3\\ &y5 = -x+5\\ &y6=x-1 \end{cases} y1=1y2=x+2y3=x+2y4=3y5=x+5y6=x1

在这里插入图片描述

3.2.1 解析法

    这个图形是由上下两个梯形构成的,因此它的面积为:
S = ( 1 + 3 ) × 1 ÷ 2 × 2 = 4 S = (1 + 3) \times 1 \div 2 \times 2 = 4 S=(1+3)×1÷2×2=4

3.2.2 蒙特卡洛法

    使用蒙特卡洛法求解不规则面积的思路是:不规则图案一定位于某个规则矩形内,矩形的面积很容易求得,点位于不规则形状内的概率为 p = A s h a p e A p=\frac{A_{shape}}{A} p=AAshape。因此,重复往矩形范围内撒点,那么当样本点数足够大时,撒入不规则图案内的点数占比(频率)约等于点落入不规则形状内的概率。即:
p = A s h a p e A ≈ n N p=\frac{A_{shape}}{A}\approx\frac{n}{N} p=AAshapeNn
    不规则图形区间 Ω \Omega Ω可用如下数学式表示:
Ω = y ≥ 1   且   y ≥ − x + 2   且   y ≤ x + 2   且   y ≤ 3   且   y ≤ − x + 5   且   y ≥ x − 1 \Omega={y\geq1\,且\,y\geq -x+2\,且\,y\leq x+2\,且\,y\leq 3\,且\,y\leq -x+5\,且\,y\geq x-1} Ω=y1yx+2yx+2y3yx+5yx1
即蒙特卡洛法的“击中”区间。因此有,蒙特卡洛法的Matlab代码如下:

%% 蒙特卡洛方法近似求解图形面积
clear; clc; close all; warning off;

% 产生图形
L = 4;  % 区间矩形边长
fs = 1 / 1e3;
x1 = 1 : fs : 2;
y1 = 1 * ones(1, length(x1));
x2 = 0 : fs : 1;
y2 = -x2 + 2;
x3 = 0 : fs : 1;
y3 = x3 + 2;
x4 = 1 : fs : 2;
y4 = 3 * ones(1, length(x4));
x5 = 2 : fs : 3;
y5 = -x5 + 5;
x6 = 2 : fs : 3;
y6 = x6 - 1;

S = L * L;

% 计算图形面积
res_integ = (1 + 3) * 1 /2 * 2;
N_Lis = [1e1, 1e2, 1e3, 1e4];
figure(1); clf;
for n = 1 : length(N_Lis)
    cnt = 0;
    x_random = L * rand(1, N_Lis(n));
    y_random = L * rand(1, N_Lis(n));
    for i = 1 : N_Lis(n)
        if (y_random(i)>=1) && (y_random(i)>=-x_random(i)+2) && (y_random(i)<=x_random(i)+2) ...
                && (y_random(i)<=3) && (y_random(i)<=-x_random(i)+5) && (y_random(i)>=x_random(i)-1)
            cnt = cnt + 1;
        end
    end
    res_appro = cnt / N_Lis(n) * S;
    
    % 作图
    subplot(2, 2, n);
    plot(x1, y1, 'k', 'linewidth', 2); hold on;
    plot(x2, y2, 'm', 'linewidth', 2); hold on;
    plot(x3, y3, 'g', 'linewidth', 2); hold on;
    plot(x4, y4, 'y', 'linewidth', 2); hold on;
    plot(x5, y5, 'b', 'linewidth', 2); hold on;
    plot(x6, y6, 'r', 'linewidth', 2); hold on;
    h = fill([1, 2, 3, 2, 1, 0], [1, 1, 2, 3, 3, 2], 'c');
    scatter(x_random, y_random, 10, 'r', 'filled', 'markerfacealpha', 0.5); hold off;    
    xlabel('x'); ylabel('y'); title(['样本数=', num2str(N_Lis(n)), '   解析解=', num2str(res_integ), '   近似解≈', num2str(res_appro, '%.2f')]); 
    set(gca, 'fontsize', 14); set(h, 'edgealpha', 0, 'facealpha', 0.3);
end
h = suptitle('蒙特卡洛法求图形面积');
set(h, 'fontsize', 18);
set(gcf, 'position', [12, 60, 1450, 650]);

运行结果:

    有人会有疑问了,上面两个例子都可以通过规则的定积分公式、规则图形面积计算公式求得,那为什么还需要用蒙特卡洛法呢?蒙特卡洛法看起来并没有解析解求解过程简单,那么蒙特卡洛法存在的意义是什么?

    一个问题解决这个疑问:如果遇见没有面积计算公式的不规则图形,它的面积该怎么计算?有人要说了,用定积分啊!那么我再问,如果围成这个不规则图形的曲线函数不可积呢?那解析解就无法计算了,这时候只能用蒙特卡洛法求解近似解了。

3.3 求解不规则图形面积

    图形是由三条曲线围成的不规则图形,三条曲线分别为:
{ y 1 = s i n ( x 2 ) y 2 = s i n ( x ) x y 3 = e − x 2 ,      0 ≤ x ≤ 2 \begin{cases} &y1 = sin(x^2)\\ &y2 = \frac{sin(x)}{x}\\ &y3 = e^{-x^2}\\ \end{cases} ,\,\,\,\,0\leq x\leq 2 y1=sin(x2)y2=xsin(x)y3=ex2,0x2
    如下,下面两张图分别是三个函数的曲线和其围成的面积。

    对围成区域 Ω \Omega Ω的面积进行如下建模:
{ S = ∫ ∫ Ω 1 d x d y Ω = { ( x ,   y ) ,    0 ≤ x ≤ 2   且   y ≤ s i n ( x 2 )   且   y ≤ s i n ( x ) x   且   y ≥ e − x 2 } \begin{cases}&S=\int\int_{\Omega}1dxdy\\&\Omega=\{(x,\,y),\,\, 0\leq x\leq2\,且\,y\leq sin(x^2)\,且\,y\leq \frac{sin(x)}{x}\,且\,y\geq e^{-x^2}\}\\\end{cases} {S=Ω1dxdyΩ={(x,y),0x2ysin(x2)yxsin(x)yex2}
即:
{ S = ∫ 0 2 ∫ e − x 2 m i n ( s i n ( x 2 ) , s i n ( x ) x ) 1 d y d x = ∫ 0 2 y ∣ e − x 2 m i n ( s i n ( x 2 ) , s i n ( x ) x ) d x = ∫ 0 2 m i n ( s i n ( x 2 ) , s i n ( x ) x ) − e − x 2 d x \begin{cases}S&=\int_0^2\int_{e^{-x^2}}^{min(sin(x^2), \frac{sin(x)}{x})}1dydx\\&=\int_0^2 y|_{e^{-x^2}}^{min(sin(x^2), \frac{sin(x)}{x})}dx\\&=\int_0^2 min(sin(x^2), \frac{sin(x)}{x})-e^{-x^2}dx\\\end{cases} S=02ex2min(sin(x2),xsin(x))1dydx=02yex2min(sin(x2),xsin(x))dx=02min(sin(x2),xsin(x))ex2dx
    如果数学功底比较好的朋友,可以一眼看出来这三个函数都是不可积函数。此例无法用解析法求解,下面重点介绍蒙特卡洛法的应用。

    蒙特卡洛法的思路是:在 2 × 3 2\times3 2×3的矩形区间内均匀撒点,统计落在区域内的点的个数占比,再乘以矩形区间面积就是围成图形的面积近似值,样本点个数越大,近似值越接近真实值。

    围成区域空间 Ω \Omega Ω,即蒙特卡洛法的“击中”区间。因此有,蒙特卡洛法的Matlab代码如下:

%% 蒙特卡洛求解解析解无法求解的问题
clear; clc; close all; warning off;

% 生成三个不可积的信号
T = 20;
fs = 1 / 1e3;
x0 = -T : fs : T;
y1 = sin(x0.^ 2);
y2 = sin(x0) ./ x0;
y3 = exp(-x0.^2);

figure(1); clf;
subplot(3, 1, 1);
plot(x0, y1, 'linewidth', 1.5); ylabel('y'); title('y=sin(x^2)'); set(gca, 'fontsize', 12);
subplot(3, 1, 2);
plot(x0, y2, 'linewidth', 1.5); ylabel('y'); title('y=sin(x)/x'); set(gca, 'fontsize', 12);
subplot(3, 1, 3);
plot(x0, y3, 'linewidth', 1.5); xlabel('x'); ylabel('y'); title('y=e^{-x^2}'); set(gca, 'fontsize', 12);

% 绘制围成区域
x = 0 : fs : 2;
y11 = sin(x.^ 2);
y21 = sin(x) ./ x;
y31 = exp(-x.^2);

figure(2); clf;
plot(x, y11, 'linewidth', 1.5); hold on;
plot(x, y21, 'linewidth', 1.5); hold on;
plot(x, y31, 'linewidth', 1.5); hold on;
area(x(y11>y31 & y21>y11), y11(y11>y31 & y21>y11), 'facecolor', 'c', 'edgealpha', 0); hold on;
area(x(y11>y31 & y21>y11), y31(y11>y31 & y21>y11), 'facecolor', 'w', 'edgealpha', 0); hold on;
h = legend('y=sin(x^2)', 'y=sin(x)/x', 'y=e^{-x^2}', 'location', 'southwest');
xlabel('x'); ylabel('y'); title('求三条曲线围成的面积'); set(gca, 'fontsize', 12); set(h, 'fontsize', 12);

% 蒙特卡洛法求面积
L = 2; 
H = 3;
S = L * H;
N_Lis = [1e1, 1e2, 1e3, 1e4];
figure(3); clf;
for n = 1 : length(N_Lis)
    N = N_Lis(n);
    x_random = L * rand(1, N);
    y_random = H * rand(1, N) - 1;
    cnt = 0;
    for i = 1 : N
        if (y_random(i) <= sin(x_random(i)^2)) && (y_random(i) <= sin(x_random(i))/x_random(i)) ...
                && (y_random(i) >= exp(-x_random(i)^2))
            cnt = cnt + 1;
        end
    end
    res_appro = cnt / N * S;
    
    subplot(2, 2, n);
    plot(x, y11, 'linewidth', 1.5); hold on;
    plot(x, y21, 'linewidth', 1.5); hold on;
    plot(x, y31, 'linewidth', 1.5); hold on;
    area(x(y11>y31 & y21>y11), y11(y11>y31 & y21>y11), 'facecolor', 'c', 'edgealpha', 0); hold on;
    area(x(y11>y31 & y21>y11), y31(y11>y31 & y21>y11), 'facecolor', 'w', 'edgealpha', 0); hold on;
    scatter(x_random, y_random, 10, 'r', 'filled', 'markerfacealpha', 0.5);
    xlabel('x'); ylabel('y'); title(['样本数=', num2str(N_Lis(n)), '   近似解≈', num2str(res_appro, '%.2f')]); 
    set(gca, 'fontsize', 14); 
end

h = suptitle('蒙特卡洛法求图形面积');
set(h, 'fontsize', 18);
set(gcf, 'position', [12, 60, 1450, 650]);

运行结果:

四、总结

    蒙特卡洛法不是一种优化算法,是基于大数定理的一种离散化的解题策略,尤其适用于问题的解析解难以计算或者甚至没有解析解时。

    

    (本文完整的pdf请关注“张张学算法”,并回复“011”获取~)

    

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

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

相关文章

[附源码]SSM计算机毕业设计基于的高校学生考勤管理系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

支持向量机

目录 支持向量机 0. 由来 1. 核心思想 2. 硬间隔支持向量机 2.1 间隔最大化 2.1.1 函数间隔2.1.2 几何间隔2.1.2 间隔最大化 2.2 转换为拉格朗日对偶问题 2.2.1 拉格朗日对偶问题2.2.2 将问题转换为拉格朗日对偶问题 3. 软间隔支持向量机 4. 泛函基础 4.1 度量&#xff…

Flutter 8 个优秀动画 Packages

Flutter 8 个优秀动画 Packages 前言 动画对于使移动应用程序的用户界面感觉自然流畅至关重要。加上交互式元素和平滑的过渡&#xff0c;它们使应用程序简单易用。 正文 Flutter Animate 组件 Package https://pub.dev/packages/flutter_animate 一个 performant 库&#xff0c…

springboot simple (9) springboot jpa(Hibernate)

返回目录 1 JPA Hibernate Hibernate是一个全自动的ORM框架&#xff08;Object Relational Mapping ,对象关系映射&#xff09;。 Spring Data JPA&#xff1a; 是Spring Data的子模块&#xff0c;JPA默认使用hibernate作为ORM实现。 2 springboot继承Hibernate 第1步&…

【Servlet】7:监听器和过滤器的原理和应用

目录 | 监听器 监听器 基本概述 ServletContextListener监听器 ServletContextAttributeListener监听器 监听器的应用场景 | 过滤器 过滤器 基本概述 过滤器 实现步骤 过滤器 应用场景 本文章属于后端全套笔记的第三部分 &#xff08;更新中&#xff09;【后端入门到入…

leetcode 494.目标和 动态规划背包问题 (c++版本)

题目描述 说白了就是让一部分数减去剩下的一部数使得差值为target&#xff0c;计算有多少中组合的方法 下面来个数学公式推导一下 leftrightsumleft−righttargetleftsum−lefttargetleft(sumtarget)/2leftright sum\\ left-righttarget\\ leftsum-lefttarget\\ left(sumtarge…

用户行为分析-如何用数据驱动增长

用户行为分析-如何用数据驱动增长 2022-11-22 看完书才知道是 GrowingIO 公司出的一本书&#xff0c;干货还是挺多的。 第一章从商业进化的角度认识用户行为数据的重要性&#xff0c;帮助大家了解什么是用户行为数据&#xff0c;以及用户行为数据怎么发挥价值。接着四章详细…

【操作系统】2.2 操作系统的调度

2.2.1 操作系统之处理机调度的概念及层次 2.2.1操作系统之处理机调度的概念及层次_StudyWinter的博客-CSDN博客_操作系统调度的层次 高级调度&#xff08;作业调度&#xff09;&#xff1a;外存-》内存 中级调度&#xff08;内存调度&#xff09;&#xff1a;外存-》内存 低…

用最少的代码模拟gRPC四种消息交换模式

我们知道&#xff0c;建立在HTTP2/3之上的gRPC具有四种基本的通信模式或者消息交换模式&#xff08;MEP&#xff1a; Message Exchange Pattern&#xff09;&#xff0c;即Unary、Server Stream、Client Stream和Bidirectional Stream。本篇文章通过4个简单的实例演示它们在.NE…

HTML+CSS大作业 格林蛋糕(7个页面) 餐饮美食网页设计与实现

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

编写第一个Qt程序和分析第一个Qt程序

文章目录编写第一个Qt程序新建一个项目项目的文件组成和管理项目的编译、调试与运行分析第一个Qt程序创建项目1) main.cpp2) mainwindow.h和mainwindow.cpp编码实现简易的窗口界面编写第一个Qt程序 已剪辑自: http://c.biancheng.net/view/1817.html 学习一种编程语言或编程环…

最漂亮:yWorks yFiles Diagramming SDK 5.4.0.2

yWorks yfiles Diagramming SDK 5.4.0.2 卓越的 绘图 SDK 使用 yFiles 自动布局的图表 您的数据可视化软件开发套件 yFiles是行业领先的 图表软件库。20 多年来&#xff0c;公司和机构一直在使用此 SDK 来 描述、编辑和分析他们的连接数据。 准备好探索自动布局和交互式图形组…

Qt-OpenCV学习笔记--人脸识别--基于Haar特征的cascade分类器

概述 基于Haar特征的cascade分类器(classifiers) 是Paul Viola和 Michael Jone在2001年&#xff0c;论文”Rapid Object Detection using a Boosted Cascade of Simple Features”中提出的一种有效的物品检测(object detect)方法。它是一种机器学习方法&#xff0c;通过许多正…

G1D21-作业-AttacKGSVMkg_book偷懒哈哈哈

唔~咖啡泡出来好好看呀&#xff01; 一、写作业 第一件事是将昨天读的NER综述补充到作业之中~大概30min 50分钟&#xff0c;补充完了思维导图和文档&#xff0c;明确了下一步论文的阅读方向——NER的综述/网安NER具体技术类文章&#xff08;找找最新的叭&#xff09;。 二、…

2022 IDEA大会引领科技创新趋势 沈向洋团队重磅发布低空经济白皮书

11月22日&#xff0c;2022 IDEA大会在深圳顺利开幕。大会由深圳市科技创新委员会、深圳市人才工作局和深圳市福田区人民政府指导&#xff0c;粤港澳大湾区数字经济研究院&#xff08;International Digital Economy Academy&#xff0c;简称“IDEA研究院”&#xff09;主办。 …

leetcode 216. 组合总和 III

文章目录题目思考代码和注释总结题目 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺序返回。 来源&…

【图像分类】Efficientnet的学习

文章目录1. Efficientnet的学习1.1 网络模型1.2 MBConv卷积块1.3 模型规模1.4 模型训练方式2. Efficientnet-pytorch代码3.参考1. Efficientnet的学习 论文&#xff1a;https://arxiv.org/abs/1905.11946 1.1 网络模型 主要结构&#xff1a; 基线模型EfficientNet-B0Effici…

ImmunoChemistry艾美捷Annexin DNA损伤ELISA试剂盒方案

使用ImmunoChemistry艾美捷DNA损伤&#xff08;8-OHdG&#xff09;ELISA试剂盒定量尿液、细胞培养物、血浆和其他样品基质中的8-OHdG。该试剂盒提供了快速的培养时间、稳定的试剂和用户友好的方案。使用吸光度板读取器分析结果。 8-羟基-2-脱氧鸟苷&#xff08;8-OHdG&#xff…

开放式激光振镜运动控制器:C++ 快速调用图形库应用

今天&#xff0c;正运动小助手给大家分享一下开放式激光振镜运动控制器&#xff1a;C快速调用图形库应用&#xff0c;本文以二维码打标、文本打标、矢量图形打标为例&#xff0c;解决用户在激光打标时需要进行各种复杂的操作和函数库调用时容易出现的错误问题。 01 ZMC408SCAN…

牛客网语法篇练习复合类型(一)

1.试计算在区间1 到n 的所有整数中&#xff0c;数字x&#xff08;0 ≤ x ≤ 9&#xff09;共出现了多少次&#xff1f; 例如&#xff0c;在1到11 中&#xff0c;即在1、2、3、4、5、6、7、8、9、10、11 中&#xff0c;数字1 出现了4 次。 n,x list(map(int,input().split())) …