SLAM的数学基础(1):什么是方差,有什么意义?
小红班上有两组同学的数学考试分数为:
第一组:小红:100分,小明:60分,小宇:20分
第二组:小蓝:70分,小华:60分,小杰:50分
那么很容易算出,第一组的平均分是60分,第二组的平均分也是60分。
这下可好,小红的100分被小宇拉了后腿。这时候,该引入一种方法,来表现这个问题。好让老师知道哪些小组的成绩差距比较大。
方差能比较好的表达一组数据离散的程度,方差大,这组数据分散的就比较大;方差小,这组数据分散的就比较小。
方差(variance)的表达公式为:

照这个公式计算,第一组的方差为:

第二组的方差为:

可以看出,第一组的方差远大于第二组。
下面用C语言实现
#include <stdio.h> float calc_variance(float samples[], int count)
{
float sum_of_samples = 0;
float average = 0;
float variance = 0; for(int i = 0; i < count; i++)
{
sum_of_samples += samples[i];
} average = sum_of_samples / count; for(int i = 0; i < count; i++)
{
float temp = samples[i] - average;
variance += (temp * temp);
} variance /= count; return variance;
} int main()
{
float team1[] = {100, 60, 20};
float team2[] = {70, 60, 50}; printf("variance of team 1 is %f\n", calc_variance(team1, 3));
printf("variance of team 2 is %f\n", calc_variance(team2, 3)); return 0;
}
运行结果为:
variance of team 1 is 1066.666626
variance of team 2 is 66.666664
SLAM的数学基础(1):什么是方差,有什么意义?的更多相关文章
- 视觉SLAM的数学基础 第一篇 3D空间的位置表示
视觉SLAM中的数学基础 第一篇 3D空间的位置表示 前言 转眼间一个学期又将过去,距离我上次写<一起做RGBD SLAM>已经半年之久.<一起做>系列反响很不错,主要由于它为 ...
- SLAM的数学基础(2):协方差和协方差矩阵
之前我们知道,方差是一组数据的离散程度,它的公式为: 那么如果我们有几组数据,需要知道这几组数据的协同性呢? 举个例子,还是在小红,几次考试成绩如下: 入学考试:数学:80,语文:80 期中考试:数学 ...
- SLAM的数学基础(4):先验概率、后验概率、贝叶斯准则
假设有事件A和事件B,可以同时发生但不是完全同时发生,如以下韦恩图所示: 其中,A∩B表示A和B的并集,即A和B同时发生的概率. 如此,我们很容易得出,在事件B发生的情况下,事件A发生的概率为: 这个 ...
- SLAM的数学基础(3):几种常见的概率分布的实现及验证。
分布,在计算机学科里一般是指概率分布,是概率论的基本概念之一.分布反映的是随机或某个系统中的某个变量,它的取值的范围和规律. 常见的分布有:二项分布.泊松分布.正态分布.指数分布等,下面对它们进行一一 ...
- 网易blog服务器关闭了,我曾经的大部分博文迁移至此,留作纪念。欢迎大家去我的简书blog~
ARM时代过去了,另一个AI时代正在上演~ 这一次我看上了计算机视觉,一个依旧在发展,论文数量不断上升的技术领域,还有很多待研究的技术突破点,我可以玩的时间长一点了. 活到老,学到了.学以致用乐趣无穷 ...
- 清明 DAY 1
数学基础 Part 1. 高精度计算 Part 2. 模意义下的运算 mod 对一个数取模,其实就是取余数 注意: • 无除法运算 • ...
- 吴恩达《深度学习》第二门课(3)超参数调试、Batch正则化和程序框架
3.1调试处理 (1)不同超参数调试的优先级是不一样的,如下图中的一些超参数,首先最重要的应该是学习率α(红色圈出),然后是Momentum算法的β.隐藏层单元数.mini-batch size(黄色 ...
- #np.random.normal,产生制定分布的数集(默认是标准正态分布)
http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.normal.html #np.random.normal,产生制定分 ...
- Coursera Deep Learning笔记 改善深层神经网络:超参数调试 Batch归一化 Softmax
摘抄:https://xienaoban.github.io/posts/2106.html 1. 调试(Tuning) 超参数 取值 #学习速率:\(\alpha\) Momentum:\(\bet ...
随机推荐
- TensorFlow创建DeepDream网络
TensorFlow创建DeepDream网络 Google 于 2014 年在 ImageNet 大型视觉识别竞赛(ILSVRC)训练了一个神经网络,并于 2015 年 7 月开放源代码. 该网络学 ...
- MAML-Tracker: 目标跟踪分析:CVPR 2020(Oral)
MAML-Tracker: 目标跟踪分析:CVPR 2020(Oral) Tracking by Instance Detection: A Meta-Learning Approach 论文链接:h ...
- Python“九九乘法表”
用Python语言编程,使用双重循环语句输出"九九乘法表". for i in range(1, 10): # 控制行 for j in range(1, i+1): # 控制列 ...
- 操作系统-Linux命令
一.目录结构 #因为根目录与开机有关,开机过程中仅有根目录会被挂载, 因此根目录下与开机过程有关的目录(以下5个),不能与根目录放到不同的分区去. /etc:配置文件 /dev:所需要的装置文件 /l ...
- csp-s模拟测试59(10.4)「Reverse」(set)·「Silhouette」(容斥)
A. Reverse 菜鸡wwb又不会了..... 可以线段树优化建边,然而不会所以只能set水了 发现对于k和当前反转点固定的节点x确定奇偶性所到达的节点奇偶性是一定的 那么set维护奇偶点,然后每 ...
- [.NET大牛之路 001] .NET 其名
本文来自『.NET大牛之路』星球的分享 大家好,这是 .NET 大牛这路的第 1 篇文章.大家期待已久的课程今天正式开始了.既然我们整个体系课程都将围绕 .NET 展开,那我们今天就先聊一聊 .NET ...
- Mac为docker和kubectl添加自动命令补全
我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 前言 自动命令补全是非常有用的功能,特别是当命令有特别多参数时.显然,docker/kubectl就是这样的命令.我们 ...
- Go语言获取Ubuntu所有网卡名
Go语言获取Ubuntu所有网卡名 需求 获取当前机器下所有网卡名,以字符串数组的形式返回 实现demo package main import ( "fmt" "os/ ...
- cos中的文件结构(DF/EF/MF/FID/AID/SFI..)
转载自:https://blog.csdn.net/Enjoy_endless/article/details/75108349 刚开始接触CPU卡的时候,对于各种文件.应用的定义容易模糊不清,通常不 ...
- python基本函数增删改排序,用range()求和
a=["blue","red","brack"] print(len(a))#列表长度 a.append("yellow" ...