LIke's blog

Write down my thoughts

近期 2025-01-01 16:46:21

目前假期算是充实
了解一下shell和vim

本博客推荐

本博客分类(categories)介绍

  • RM 记录robomaster相关知识(其实就是杂项)
  • daily 记录日常
  • school 记录学校上课相关
  • web 记录网络相关
    • blog 记录与博客相关
  • C/C++ 记录C/C++语法相关

本博客标签(tags)介绍

  • prose 杂文
  • statistics 统计学
  • help 帮助,类似于tutorial文档
  • algorithm 算法
  • C/C++ 记录C/C++语法相关
  • chi 用中文写的文章
  • eng 用英文写的文章

git 教程

push操作流程

确保这是一个仓库.git文件存在

  • git status 查看当前状态,记得查看branch
  • git add * 添加所有要更改的文件到暂存区(stage)
  • git commit -m "<message>" 提交暂存区到仓库区(commit)
  • git push origin main把本地库的内容推送到远程
    你可以参考 cs61b lab1 section E 十分好的 git 教程

fetch/pull操作流程

如果你只是为了更新本地文件,可以使用 git pull 命令从远程仓库获取最新的更改并合并到你的本地分支。以下是步骤:
git checkout main
(checkout)切换到你想要更新的分支(通常是 main 或 master 分支):
git pull origin main
拉取远程仓库的最新更改并合并到本地分支:

  • git fetch origin main 从远程获取最新版本到本地,不会自动merge
  • git pull origin main 把远程库(origin和远程库的URL等价)的内容拉下来,然后与本地的文件合并

merge(合并)

  1. 本地分支合并:你可以在本地将一个分支合并到另一个分支。
    feature-branch 是你要合并的分支,main 是目标分支。一般在freture branch开发新功能或修复bug.
1
2
git checkout main
git merge feature-branch
  1. 解决冲突:如果在合并过程中发生冲突,你需要在本地解决这些冲突,然后提交解决后的文件。
1
2
3
give your resolved file to git
git add <resolved-files>
git commit -m "Resolved merge conflicts"
  1. 推送到远程:合并完成并解决冲突后,你可以将合并后的分支推送到远程仓库。
    git push origin main

分支branch

并行开发必备

  • git branch 查看分支,确认当前的分支信息
    step 1: git branch <branch-name> 创建分支
    step 2: 在新分支上开发功能
1
2
git add *
git commit -m "My new feature"

step 3: 推送新分支到远程仓库git push origin <feature-branch>
step 4: 切换到主分支git checkout main
step 5: 合并分支git merge <feature-branch>
step 6: 删除分支git branch -d <feature-branch>
step 7: 删除远程分支git push origin --delete <feature-branch>

Read more »

copy and paste from missing semester

how to learn vim

Here’s how you learn a new editor:

  • Start with a tutorial (i.e. this lecture, plus resources that we point out)
  • Stick with using the editor for all your text editing needs (even if it slows you down initially)
  • Look things up as you go: if it seems like there should be a better way to do something, there probably is

vim modes

i for insert mode

from normal mode:

  • i to enter insert mode at the cursor
  • o to enter insert mode on the next line

esc for normal mode (from insert mode)

  • normal mode is for viewing and editing text

moving around

  • moving my cursor around using h, j, k, l (left, down, up, right)
  • w to move forward by word, b to move back by word
  • e for end of word.
  • 0 to move to the beginning of the line, $ to move to the end of the line
  • gg to move to the beginning of the file, G to move to the end of the file
  • line moves
  • absolute distance from beginning :10 to move to line 10
  • reletive distance from current line 10j to move down 10 lines, 10k to move up 10 lines
  • page moves
  • ctrl + d to move down half a page, ctrl + u to move up half a page
  • ctrl + f to move down a page, ctrl + b to move up a page
  • find moves
  • f to find a character on the line, ; to find the next instance of that character
  • e.g. f then a to find the next a on the line
  • F is for backwards find
  • t is for find up to a character
  • T is for backwards find up to a character

editing

  • x to delete a character (making small changes in normal mode)
  • dd to delete a line

: for command mode

  • :q to quit

v for visual mode

  • v to enter visual mode
  • visual mode is for selecting text and then doing something (yp) with it

set up your vimrc file

  • vim ~/.vimrc
  • set number to show line numbers
  • set relativenumber to show relative line numbers

物品名称 价格
花盆垫片(防漏土) 7
红陶花盆*5 22
球型剪 30
碗莲种子 2.5
红枫种子 2.7
营养土5kg 14
火山石2.5kg 13
入门工具14套件 18
小叶榄仁 6
木材标本15 11.5
pvc雪弗板 18.5
石塑粘土 13.8
景观苔藓 6
狼尾蕨 8

2024-12-05

需求分析

  1. 需要有手写功能
  2. 需要轻薄,最好牺牲独显,减轻重量和价格,增加续航
  3. 需要c口充电功能
  4. 接口要么全,要么全c口我自己配拓展坞
    1. 一个USB-A 3.0
    2. 一个满血 USB-C
    3. HDMI
    4. 3.5毫米耳机接口
    5. 最好有网线接口

优先级

手写 > C口PD充电 > 重量 > 接口

相关信息:

PD接口

usb power dilivery

2024-12-18 12:52:45
期末周压力稍大,这种时候就会开始反思,把活跃的大脑注意力分一些给学习外的思考是常见的。
暂时先放在这个post里面。

关于笔记本电脑的反思

想法变化快(头脑发热)

前几天还是基于“我需要一台新电脑”去考虑需求,并且把需求的优先级改为

重量 >续航 > C口PD充电
接口方面就两种情况:

  1. 丰富到我不需要拓展坞。需求列表:
    1. 一个USB-A 3.0 (用于无线鼠标&常用设备)
    2. 一个满血 USB-C (用于充电&拓展)
    3. HDMI (快速连接显示器,虽然说C口也可以做到,但是这个还是全面一点)
    4. 3.5毫米耳机接口 (十分必要)
    5. 网线接口不需要 (我有台式机)
  2. 多个C口,给我自己决定配置什么拓展坞

当前电脑性能分析

今天反思的结果是不需要新的电脑,因为这台惠普战99工作站表现的算是稳定。
为什么说现在够用呢?教学:如何查看Windows电脑的硬件配置,在cmd界面使用msinfo32命令

1
2
3
4
HP ZHAN 99 Mobile Workstation G1 (购买日期2020年10月)
CPU: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz 2592Mhz 6核 12逻辑处理器
内存:16GB
存储:237SSD 1.8TB HDD (冗余)

当前需求分析

目前我对于笔记本没有性能需求。下面复现一下使用场景

学习数学(电脑不转大脑转),电脑的任务 1. 放视频 2. PPT的阅读 3. 一个AI窗口
学习计科(电脑转大脑转),1. 运行vs code编辑器 2. 编译不同编程语言 3. 一个AI窗口 4. 文件阅读
学习机电:1. uVison 编译 2. 可以连接调试器 3. 能打开图纸查看 4. 能画电路板
学习人文:1. 窗口浏览器窗口多开 2. 文字编辑器多开
娱乐:看视频
发现没有这台电脑做不到或者干的不好的地方。决定不换了。

念头来源?

  1. 喜新厌旧,对于工具而言新的总比旧的顺手
  2. 新电脑外观好看,而且电子垃圾本身对我有吸引力
  3. 这台电脑有点重,加上电源适配器可能有3千克。但是我对重量不敏感,向来背很重的东西。
  4. 充电偶尔充不上觉得不爽罢了
  5. 不喜欢混乱,这台电脑是一边学习一边配置的环境,软件装的位置我也记不得了,反正电脑文件架构一塌糊涂,让我挺不爽。
    打消念头,咱家也不富裕,钱花在刀刃上。

关于信息输入和输出的反思

信息输入:视频和上课。
我在哔哩哔哩上看了过多的视频,也许是因为考试焦虑,平均每天三小时以上;知乎上看故事,知乎如果不用搜索,看到的就是段子。;小红书,看图文乐子。
我一直认为“决定是否花时间摄入信息”的权力是掌握在自己的手上的。但是我看到信息便不分质量,不论需求的摄入,最后只会导致我的思考平平,和众人无异。

关于学习模式的反思

目前还是存在后期无力的问题

距离是度量两个点之间差异或分离程度的一种度量标准。在数学和统计学中,有多种不同的距离度量方式,每种方式都有其特定的应用场景和特点。除了曼哈顿距离和欧几里得距离外,还有其他几种常见的距离度量。以下是对这些距离及其与Lp范数之间关系的介绍:

1. 曼哈顿距离(Manhattan Distance)

曼哈顿距离也称为L1距离或城市街区距离,它是两个点在标准坐标系上各坐标轴上差值的绝对值之和。公式如下:

[ d_{\text{Manhattan}}(\mathbf{x}, \mathbf{y}) = \sum_{i=1}^{n} |x_i - y_i| ]

2. 欧几里得距离(Euclidean Distance)

欧几里得距离也称为L2距离,是我们最常见的距离度量,它是两个点之间的直线距离。公式如下:

[ d_{\text{Euclidean}}(\mathbf{x}, \mathbf{y}) = \sqrt{\sum_{i=1}^{n} (x_i - y_i)^2} ]

3. 闵可夫斯基距离(Minkowski Distance)

曼哈顿距离和欧几里得距离都是闵可夫斯基距离的特例。闵可夫斯基距离是Lp范数的一种泛化形式,其公式为:

[ d_{\text{Minkowski}}(\mathbf{x}, \mathbf{y}) = \left( \sum_{i=1}^{n} |x_i - y_i|^p \right)^{\frac{1}{p}} ]

其中,p是一个参数,当p取不同值时,闵可夫斯基距离可以表示不同的距离度量:

  • 当 ( p = 1 ) 时,闵可夫斯基距离就是曼哈顿距离。
  • 当 ( p = 2 ) 时,闵可夫斯基距离就是欧几里得距离。
  • 当 ( p \to \infty ) 时,闵可夫斯基距离趋近于切比雪夫距离。

4. 切比雪夫距离(Chebyshev Distance)

切比雪夫距离是曼哈顿距离和欧几里得距离的另一种极限形式,它是两个点在所有坐标轴上差值的最大值。公式如下:

[ d_{\text{Chebyshev}}(\mathbf{x}, \mathbf{y}) = \max_{i} |x_i - y_i| ]

Lp范数(Lp Norm)

Lp范数是一个广义的范数概念,用于度量向量空间中的向量大小。其定义如下:

[ | \mathbf{x} |p = \left( \sum{i=1}^{n} |x_i|^p \right)^{\frac{1}{p}} ]

根据Lp范数,可以定义不同的距离度量:

  • 当 ( p = 1 ) 时,是L1范数,对应于曼哈顿距离。
  • 当 ( p = 2 ) 时,是L2范数,对应于欧几里得距离。
  • 当 ( p \to \infty ) 时,是L∞范数,对应于切比雪夫距离。

关系总结

曼哈顿距离和欧几里得距离都是闵可夫斯基距离的特例,而闵可夫斯基距离则是Lp范数的一种应用形式。因此,Lp范数是一个非常通用的框架,可以用来定义不同的距离度量,通过调整参数p,可以获得不同的距离度量标准。

理解这些距离度量及其相互关系,对于数据分析、机器学习和统计学中的距离计算和相似度度量都有非常重要的意义。

什么是build system(构建系统)?

翻译自:https://bazel.build/basics/build-systems
本质上讲,所有的构建系统有一个直接点目的:将工程师写的源代码转换为二进制可执行文件。构建系统不仅负责编译源代码,还负责链接库等,这个过程中系统也会自己生成代码。多数的构建过程是自动触发的,而不是被工程师手动触发。

常见的构建系统

Make:一个非常流行的构建系统,使用Makefile定义构建规则。
CMake:一个跨平台的构建系统生成器,可以生成各种平台的构建脚本,包括Makefile和Visual Studio项目。
Ninja:一个专注于速度的构建系统,通常与CMake一起使用。
SCons:基于Python脚本的构建工具,提供了更多的灵活性

根据此处的描述:自从DAG(directed acyclic graph 有向无环图 ) 在 Make中被第一次介绍,多数构建系统的核心算法并没有太大改变

使用构建系统

当使用构建系统时,需要自己写一个makefile文件
这个文件定义了构建规则。构建系统会读取这个文件,并根据规则构建项目。
文件要放在项目的根目录root directory

ref:https://cognitivewaves.wordpress.com/makefiles/

以下由AI生成

C++ project结构参考

通常会有多个目录和文件,每个目录和文件都有其特定的作用。示例如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
my_project/
├── bin/
├── build/
├── include/
│ ├── main.hpp
│ └── utils.hpp
├── src/
│ ├── main.cpp
│ └── utils.cpp
├── obj/
├── lib/
├── CMakeLists.txt
├── Makefile
└── README.md

各目录和文件的作用

  1. bin/

    • 这个目录通常用于存放生成的可执行文件。当你编译项目后,最终的可执行文件会放在这里。
    • bin是binary的缩写,用于存放二进制文件。轻松找到生成的可执行文件,方便管理和查找。
  2. build/:目录通常用于存放中间构建文件
    如CMake生成的构建文件以保持项目根目录的整洁。生成以下文件:

    • CMakeCache.txt:
      一个由CMake生成的文件,存储了CMake的缓存变量。它包含了构建配置的所有设置信息。
    • CMakeFiles/:
      一个子目录,包含各种CMake生成的文件和中间文件,包括构建依赖信息、构建规则等。
    • 还有很多,到时候实践出真知
  3. include/:用于存放项目的头文件。头文件中通常包含函数声明、类定义和宏定义等。

    • 示例文件:
      • main.hpp
      • utils.hpp
  4. src/:用于存放项目的源文件,包含具体的函数实现和逻辑。

    • 示例文件:
      • main.cpp
      • utils.cpp //utilities(工具、实用程序)的缩写
      • utils.cpp 文件中的内容通常是一些独立的、通用的函数或类,这些函数或类不依赖于项目的特定逻辑,可以在项目的各个部分重用
  5. obj/

    • 这个目录用于存放编译后的目标文件(.o.obj)。每个源文件在编译后会生成对应的目标文件,这些目标文件会在链接阶段合并成最终的可执行文件。
  6. lib/

    • 这个目录用于存放项目依赖的库文件(.a.so.lib等)。如果项目依赖于第三方库,通常会将这些库文件放在这里。
  7. CMakeLists.txt

    • 这是CMake的配置文件,用于定义项目的构建过程和依赖关系。
    • 示例内容:
      1
      2
      3
      4
      5
      6
      cmake_minimum_required(VERSION 3.10)
      project(MyProject)
      set(CMAKE_CXX_STANDARD 11)
      include_directories(include)
      file(GLOB SOURCES "src/*.cpp")
      add_executable(my_project ${SOURCES})
  8. Makefile

    • 这是Make的配置文件,用于定义项目的构建规则。Makefile中包含目标、依赖项…
    • 自己写,和src放在同一文件夹下
    • makefile详见:段落
  9. README.md

    • 这个文件通常用于项目的说明文档,包括项目简介、安装和使用说明、依赖项等。

示例文件内容

main.hpp

1
2
3
4
#ifndef MAIN_HPP
#define MAIN_HP
void greet();
#endif // MAIN_HPP

utils.hpp

1
2
3
4
#ifndef UTILS_HPP
#define UTILS_HPP
int add(int a, int b);
#endif // UTILS_HPP

main.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "main.hpp"
#include "utils.hpp"
#include <iostream>

void greet() {
std::cout << "Hello, World!" << std::endl;
}

int main() {
greet();
int result = add(2, 3);
std::cout << "2 + 3 = " << result << std::endl;
return 0;
}

utils.cpp

1
2
3
4
5
#include "utils.hpp"

int add(int a, int b) {
return a + b;
}

总结

  • bin/:存放生成的可执行文件。
  • build/:存放中间构建文件。
  • include/:存放头文件,声明函数和类。
  • src/:存放源文件,包含具体实现。
  • obj/:存放目标文件,中间编译产物。
  • lib/:存放依赖库文件。
  • CMakeLists.txt:CMake配置文件。
  • Makefile:Make配置文件。
  • README.md:项目说明文档。

这个结构使得项目更有组织性,方便管理和维护。

makefile 目前不是最重要的学习目标

Makefile的基本结构

Makefile文件由一系列规则组成,每个规则通常包括目标(target)、依赖项(dependencies)和命令(commands)。基本结构如下:

1
2
target: dependencies
commands

示例Makefile

假设你有一个简单的C++项目,目录结构如下:

1
2
3
4
5
6
7
8
9
10
my_project/
├── include/
│ ├── main.hpp
│ └── utils.hpp
├── src/
│ ├── main.cpp
│ └── utils.cpp
├── obj/
├── bin/
└── Makefile

以下是一个示例Makefile,展示了如何编译和链接这个项目:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 编译器和编译选项
CC = g++
CFLAGS = -Iinclude -Wall -g

# 目录
SRCDIR = src
INCDIR = include
OBJDIR = obj
BINDIR = bin

# 源文件和目标文件
SOURCES = $(wildcard $(SRCDIR)/*.cpp)
OBJECTS = $(patsubst $(SRCDIR)/%.cpp, $(OBJDIR)/%.o, $(SOURCES))
TARGET = $(BINDIR)/my_program

# 默认目标
all: $(TARGET)

# 链接目标文件生成可执行文件
$(TARGET): $(OBJECTS)
$(CC) $(CFLAGS) -o $@ $^

# 编译源文件生成目标文件
$(OBJDIR)/%.o: $(SRCDIR)/%.cpp
$(CC) $(CFLAGS) -c $< -o $@

# 清理生成的文件
clean:
rm -f $(TARGET) $(OBJECTS)

# 伪目标(不生成文件)
.PHONY: all clean

解释

  1. 变量定义

    • CC:指定编译器,这里是g++。
    • CFLAGS:编译选项,包括头文件目录、警告选项和调试信息。
    • SRCDIRINCDIROBJDIRBINDIR:分别指定源文件目录、头文件目录、目标文件目录和可执行文件目录。
  2. 文件列表

    • SOURCES:通过wildcard函数获取所有源文件。
    • OBJECTS:使用patsubst函数将源文件路径转换为目标文件路径。
    • TARGET:指定最终生成的可执行文件。
  3. 规则

    • all:默认目标,依赖于最终的可执行文件。
    • $(TARGET):链接目标文件生成可执行文件。
    • $(OBJDIR)/%.o:编译源文件生成目标文件。
    • clean:清理生成的文件。
  4. 伪目标

    • .PHONY:指定伪目标,不生成实际文件,避免与同名文件冲突。

使用Makefile

在项目根目录中运行以下命令:

  • 编译项目

    1
    make

    这会按照Makefile中的规则编译源文件并生成可执行文件。

  • 清理项目

    1
    make clean

    这会删除生成的可执行文件和目标文件。

总结

用户通常需要自己编写Makefile文件来定义项目的构建规则。这些规则包括如何编译和链接源代码,以及如何生成最终的可执行文件或库。通过Makefile,可以方便地管理项目的构建过程,并确保构建过程的一致性和可重复性。如果你有更多问题或需要进一步的示例,请告诉我!

平均值(average):是算数均值,属于均值一种。
均值(mean):用来描述数据集中趋势的统计量。因此统计学上众数(mode),中位数(median)
在统计学和数学中,有几种常见的均值(平均值)计算方法,分别用于不同的应用场景和数据特征。以下是H(调和均值)、G(几何均值)、A(算术均值)、S(平方均值)四种均值算法的介绍:

四种常见均值

1. 算术均值(Arithmetic Mean, A)

算术均值是最常用的均值计算方法,通常被称为“平均值(average)”。

对于一组数据x1,x2,,xnx_1, x_2, \ldots, x_n,算术均值的公式为:

A=1ni=1nxiA = \frac{1}{n} \sum_{i=1}^{n} x_i

  • 简单易计算。
  • 对极端值(即非常大或非常小的值)敏感。

广泛用于各种统计分析、经济学、日常计算等场景。

2. 几何均值(Geometric Mean, G)

几何均值是用于计算数据集在乘法上具有对称性的中心值。

对于一组数据x1,x2,,xnx_1, x_2, \ldots, x_n,几何均值的公式为:

G=(i=1nxi)1nG = \left( \prod_{i=1}^{n} x_i \right)^{\frac{1}{n}}

或者:

G=exp(1ni=1nlnxi)G = \exp \left( \frac{1}{n} \sum_{i=1}^{n} \ln x_i \right)

  • 适用于处理比例、百分比和指数增长的数据。
  • 对极端值不敏感,但要求数据为正值。

常用于金融、科学和工程领域,例如计算投资的平均增长率。

3. 调和均值(Harmonic Mean, H)

调和均值是倒数均值的倒数,适用于处理速率或比例数据。

对于一组数据x1,x2,,xnx_1, x_2, \ldots, x_n,调和均值的公式为:

H=ni=1n1xiH = \frac{n}{\sum_{i=1}^{n} \frac{1}{x_i}}

  • 适用于处理速率、效率等数据。
  • 对极端小值非常敏感。

常用于交通、工程和经济学领域,例如计算平均速度、每单位时间的产出等。

4. 平方均值(Quadratic Mean, S)

平方均值,又称均方根(Root Mean Square, RMS),用于计算数据的平方和的均值的平方根。

对于一组数据x1,x2,,xnx_1, x_2, \ldots, x_n,平方均值的公式为:

S=1ni=1nxi2S = \sqrt{\frac{1}{n} \sum_{i=1}^{n} x_i^2}

  • 适用于处理振幅、功率等数据。
  • 对极端大值敏感。

常用于物理学和工程学,例如计算电压、电流的有效值。

总结对比

均值类型 公式 特点
算术均值(A) A=1ni=1nxiA = \frac{1}{n} \sum_{i=1}^{n} x_i 对极端值敏感
几何均值(G) G=(i=1nxi)1nG = \left( \prod_{i=1}^{n} x_i \right)^{\frac{1}{n}} 适用于正值,对极端值不敏感
调和均值(H) H=ni=1n1xiH = \frac{n}{\sum_{i=1}^{n} \frac{1}{x_i}} 对极端小值敏感
平方均值(S) S=1ni=1nxi2S = \sqrt{\frac{1}{n} \sum_{i=1}^{n} x_i^2} 对极端大值敏感








不常见均值(非当前学习目标)

除了算术均值、几何均值、调和均值和平方均值外,还有许多其他类型的均值。

5. 中位数(Median)

概述:

中位数是数据集按升序或降序排列后位于中间的值。

计算方法:

  • 如果数据集有奇数个数据点,中位数是中间那个数据点。
  • 如果数据集有偶数个数据点,中位数是中间两个数据点的平均值。

特点:

  • 不受极端值影响。
  • 适用于描述非对称分布的数据。

应用:

广泛用于经济学、社会科学、医学等领域。

6. 众数(Mode)

概述:

众数是数据集中出现频率最高的值。

特点:

  • 可以有多个众数(多众数)或没有众数。
  • 适用于分类数据和离散数据。

应用:

常用于统计分析、市场研究等。

7. 加权均值(Weighted Mean)

概述:

加权均值考虑了每个数据点的权重,对不同的重要性进行加权。

公式:

对于一组数据 x1,x2,,xnx_1, x_2, \ldots, x_n 和相应的权重 w1,w2,,wnw_1, w_2, \ldots, w_n,加权均值的公式为:

Weighted Mean=i=1nwixii=1nwi\text{Weighted Mean} = \frac{\sum_{i=1}^{n} w_i x_i}{\sum_{i=1}^{n} w_i}

特点:

  • 权重越高的数据点对均值的影响越大。
  • 适用于数据点具有不同重要性或频率的情况。

应用:

经济学、统计学、决策分析等。

8. 截断均值(Truncated Mean)

概述:

截断均值通过去除数据集中的极端值后计算算术均值。

计算方法:

  • 去掉数据集中最小和最大的某些百分比(如10%)。
  • 对剩下的数据计算算术均值。

特点:

  • 减少极端值对均值的影响。
  • 适用于包含噪声或离群值的数据。

应用:

金融分析、质量控制等。

9. 其他常见均值类型

四分位数均值(Quartile Mean)

计算数据集的第一和第三四分位数之间数据的均值。

三次方均值(Cubic Mean)

对数据的三次方取均值后开三次方根。

平均绝对偏差(Mean Absolute Deviation, MAD)

计算每个数据点与均值的绝对差的平均值,用于描述数据的离散程度。

10. 特殊均值类型

伽玛均值(Gamma Mean)

使用伽玛函数定义的一种均值,应用于特定的统计分布。

贝塔均值(Beta Mean)

使用贝塔函数定义的一种均值,应用于特定的统计分布。

均值不等式引起的一些思考

L 7 - Distribution 1

Bernoulli Distribution

Definition:

A random variable X is said to have a Bernoulli distribution with parameter p, where 0 ≤ p ≤ 1, if its probability mass function is given by

  • pmf.: fX(x)=px(1p)(1x)f_{X}(x) = p^x(1 − p)^{(1−x)} for x = 0, 1
  • mean & expectation: μ=E[X]=p\mu = E[X] = p
  • variance: σ2=Var[X]=p(1p)\sigma^2 = Var[X] = p(1-p)
  • mgf: MX(t)=E[etX]=etp+(1p),t(,)M_{X}(t) = E[e^{tX}] = e^{t}p + (1 - p), t \in (-\infty ,\infty)

n Bernoulli trials

Definition: a Bernoulli experiment performed n times:

  • X1,X2,,XnX_{1}, X_{2}, \dots, X_{n} are independent Bernoulli random variables (all trials are independent)
  • with same parameter p

Binomial Distribution

Definition:

A random variable X is said to have a binomial distribution if its probability mass function is given by

  • pmf: fX(x)=(nx)px(1p)(nx)f_{X}(x) = \binom{n}{x}p^x(1 − p)^(n−x)
  • mean & expectation: μ=E[X]=np\mu = E[X] = np
  • variance: σ2=Var[X]=np(1p)\sigma^2 = Var[X] = np(1-p)
  • mgf: MX(t)=(pet+1p)nM_{X}(t) = (pe^t + 1 - p)^n

deviation

if random variables X1,X2,,XnX_{1}, X_{2}, \dots, X_{n} are independent, then

E[X1+X2++Xn]=E[X1]+E[X2]++E[Xn]E[X_{1} + X_{2} + \dots + X_{n}] = E[X_{1}] + E[X_{2}] + \dots + E[X_{n}]

Var[X1+X2++Xn]=Var[X1]+Var[X2]++Var[Xn]Var[X_{1} + X_{2} + \dots + X_{n}] = Var[X_{1}] + Var[X_{2}] + \dots + Var[X_{n}]

M(t)=n[(1p)+pet]n1petM(0)=E[X]=np M'(t) = n\left[(1-p) + p e^t\right]^{n-1} p e^t \Rightarrow M'(0) = E[X] = np

M(t)=n(n1)[(1p)+pet]n2p2e2t+n[(1p)+pet]n1pet M''(t) = n(n-1)\left[(1-p) + p e^t\right]^{n-2} p^2 e^{2t} + n\left[(1-p) + p e^t\right]^{n-1} p e^t

M(0)=E[X2]=n(n1)p2+np M''(0) = E[X^2] = n(n-1)p^2 + np

Var[X]=E[X2](E[X])2=n2p2np2+npn2p2=np(1p) \operatorname{Var}[X] = E[X^2] - (E[X])^2 = n^2 p^2 - n p^2 + n p - n^2 p^2 = np(1-p)

Hypergeometric Distribution

Definition:

A random variable X is said to have a hypergeometric distribution if its probability mass function is given by

  • pmf: fX(x)=(Kx)(NKnx)(Nn)f_{X}(x) = \frac{\binom{K}{x}\binom{N-K}{n-x}}{\binom{N}{n}}
  • mean & expectation: μ=E[X]=nKN\mu = E[X] = \frac{nK}{N}
  • variance: σ2=Var[X]=nKNNKNNnN1\sigma^2 = Var[X] = n\frac{K}{N}\frac{N-K}{N}\frac{N-n}{N-1}
  • mgf: MX(t)=(KNet+1KN)nM_{X}(t) = \left(\frac{K}{N}e^t + 1 - \frac{K}{N}\right)^n

L 8 - Distribution 2

Geometric Distribution

Definition:

A random variable X is said to have a geometric distribution if its probability mass function is given by

  • pmf: fX(x)=p(1p)x1f_{X}(x) = p(1-p)^{x-1}
  • mean & expectation: μ=E[X]=1p\mu = E[X] = \frac{1}{p}
  • variance: σ2=Var[X]=1pp2\sigma^2 = Var[X] = \frac{1-p}{p^2}
  • mgf: MX(t)=pet1(1p)etM_{X}(t) = \frac{pe^t}{1-(1-p)e^t}

Negative Binomial Distribution

Definition:
A random variable X is said to have a negative binomial distribution if its probability mass function is given by

  • pmf: fX(x)=(x1r1)pr(1p)xrf_{X}(x) = \binom{x-1}{r-1}p^r(1-p)^{x-r}
  • mean & expectation: μ=E[X]=rp\mu = E[X] = \frac{r}{p}
  • variance: σ2=Var[X]=r(1p)p2\sigma^2 = Var[X] = \frac{r(1-p)}{p^2}
  • mgf: MX(t)=(p1(1p)et)rM_{X}(t) = \left(\frac{p}{1-(1-p)e^t}\right)^r
  • negative binomial distribution is a generalization of the geometric distribution

Poisson Distribution

Definition:
A random variable X is said to have a Poisson distribution if its probability mass function is given by

  • pmf: fX(x)=eλλxx!f_{X}(x) = \frac{e^{-\lambda}\lambda^x}{x!}
  • mean & expectation: μ=E[X]=λ\mu = E[X] = \lambda
  • variance: σ2=Var[X]=λ\sigma^2 = Var[X] = \lambda
  • mgf: MX(t)=eλ(et1)M_{X}(t) = e^{\lambda(e^t-1)}
  • Poisson distribution is a limiting case of the binomial distribution when n is large and p is small

L 9 & 10 - Continuous Random Variable 2

第九讲引入了连续随机变量,接着介绍了连续随机变量的分布

Uniform Distribution

Definition:

A random variable X is said to have a uniform distribution if its probability density function is given by

  • pdf: fX(x)=1baf_{X}(x) = \frac{1}{b-a}
  • mean & expectation: μ=E[X]=a+b2\mu = E[X] = \frac{a+b}{2}
  • variance: σ2=Var[X]=(ba)212\sigma^2 = Var[X] = \frac{(b-a)^2}{12}
  • mgf: MX(t)=etbetat(ba)M_{X}(t) = \frac{e^{tb}-e^{ta}}{t(b-a)}
  • The uniform distribution is often used to model situations where all outcomes are equally likely

Exponential Distribution

Definition:

A random variable X is said to have an exponential distribution if its probability density function is given by

  • pdf: fX(x)=λeλxf_{X}(x) = \lambda e^{-\lambda x}
  • mean & expectation: μ=E[X]=1λ\mu = E[X] = \frac{1}{\lambda}
  • variance: σ2=Var[X]=1λ2\sigma^2 = Var[X] = \frac{1}{\lambda^2}
  • mgf: MX(t)=λλtM_{X}(t) = \frac{\lambda}{\lambda - t}

Normal Distribution

Definition:

A random variable X is said to have a normal distribution if its probability density function is given by

  • pdf: fX(x)=12πσe(xμ)22σ2f_{X}(x) = \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}}
  • mean & expectation: μ=E[X]\mu = E[X]
  • variance: σ2=Var[X]\sigma^2 = Var[X]
  • mgf: MX(t)=eμt+12σ2t2M_{X}(t) = e^{\mu t + \frac{1}{2}\sigma^2 t^2}
  • The normal distribution is the most important continuous distribution in probability and statistics
0%