Java 基础知识点

  本文用于盘点曾经疏忽或者不曾接触的不熟悉的 java 基础知识点. 1.Java权限问题 \begin{align*}\begin{matrix} \ & public & protected & default & private\\\ 同一类中 & OK & OK & OK & OK &\\\ 同一包中 & OK & OK & \textbf{OK} & NO\\\ 子类 & OK & \textbf{OK} & NO & NO\\\ 其他类中 & OK & NO & NO & NO \end{matrix}\end{align*} 加黑内容:子类可以调用父类protected内容.同一个包内可以调用default权限的内容. 2.多态 … Continue reading “Java 基础知识点”

1 Comment so far

从变分到EM算法(二)——EM算法

  在上一篇文章讨论了泛函与变分法的一些基础数学, 仅作为数学思想引出这篇文章的主要内容: EM算法. 极大似然原理 极大似然解决的问题是希望通过现有的采样数据, 解决模型已知但参数未知的问题, 也即希望通过采样的数据推测出模型的参数. 下面两个浅显的例子助于理解最大似然原理: 例1. 北京 11 月份降雨概率为 \(0.05\) , 7 月份降雨概率为 \(0.4\). 今天降雨了. 那么现在更有可能是 11 月还是 7 月? 答案是 7 月, 我们有 \(8/9\) 的概率认定现在是 7 月, 逻辑是自然的, 因为 7 月下雨的概率更大. 在上述题设中, 第一句是已知模型, 第二句是采样结果, 需要求出的即模型的具体的(离散)参数. 例2. 已知某地 16 岁男性身高符合正态分布, 现有随机普查某中学的 16 岁男性身高若干例: \({x_1, x_2, … , x_n}\) , 那么正态分布的均值与方差分别是多少? 这一例子没有例一那样容易解决, … Continue reading “从变分到EM算法(二)——EM算法”

从变分法到EM算法(一)——最速曲线

  本文与机器学习算法实际关联较小,仅以数学爱好作一个引子 最速曲线 一个小球沿着一个斜面下滑到某个定点, 斜面的截面是什么样的曲线时所花的时间最短? 这就是经典的最速曲线(或者称为最降曲线)的问题. 这个问题由伽利略提出, 他错误地认为答案是圆弧, 后经过牛顿和莱布尼兹等人的证明, 发现这个曲线是摆线. 谁对谁错的历史并不重要, 关键在于最速曲线的提出了一类问题, 即当未知量是一个曲线(函数), 如何求某个式子的极值? 这一类问题后来演变成了泛函分析的内容, 作为现代数学的一块基石支撑着整个现代数学金碧辉煌的大厦. 变分法作为泛函分析的最基本方法, 也被机器学习的算法所看中, 通过最优控制理论的神奇, 发挥了其很大的作用. 回到这个问题上来, 怎么去证明这个最速曲线的解是摆线的问题呢? 古典方式证明 前人通过猜测的方法, 猜测出了曲线是摆线. 有一些证明在今天看来也十分巧妙. 我们知道, 摆线是在坐标轴上滚动的一个圆, 其圆弧上以定点所形成的轨迹, 满足参数方程: \begin{align*} \left\{\begin{matrix} x=r(\theta-sin\theta)\\\ y=r(1-cos\theta) \end{matrix}\right. \end{align*} 而著名的费马原理认为, 光的传播遵循时间最短的规则. 例如光的在折射中遵循菲涅耳定律 \[ \dfrac{v_1}{sin\theta_1} = \dfrac{v_2}{sin\theta_2} \] 其中, \(v_1, v_2\) 分别是不同介质中的光速, \(\theta_1, \theta_2\) 分别是不同介质中的入射角与折射角. 如果我们可以把光线传播的介质想象成很多层光速不同介质的叠加, 且光的速度满足小球下落的规律, 即离出发点垂直距离为 \(s\) … Continue reading “从变分法到EM算法(一)——最速曲线”

统计模拟(七)——股票期权模型

    本文为第一系列的原创文章之七, 目的在于总结“Simulation” -Sheldon M.Ross一书中出现的模拟随机变量的方法.   Random Walk Model   在股票市场中, 有一种非常经典的模型模拟股票的变动, 称为随机漫步模型 (Random Walk Model), 认为一定时间内股票价格的变化量是服从正态分布的. 随机漫步模型基于的理论是有效市场理论, 即对所有交易者而言, 所有的信息都是公开可获得的, 当前的价格已经充分消化了市场所有信息, 同时价格会对新信息快速做出反应. 这就是有效市场假说.   关于有效市场假说或者随机漫步模型的正确与否, 此处不做过多的讨论. 在本模型中, 给出对数级别的股价的随机漫步模型的公式:   \(S_n\) 表示第 \(n\) 天收盘时的股价 \[ S_n = S_0\ e^{X_1+…+X_n} \] 其中, \(X_1\) , \(X_2\) , … , \(X_n\) 是服从均值为 \(\mu\) , 方差为 \(\sigma^2\) 的正态分布序列. 这个模型假设股价每天都以固定的比例上涨或者下跌. … Continue reading “统计模拟(七)——股票期权模型”

统计模拟(六)——保险模型

    本文为第一系列的原创文章之六, 目的在于总结“Simulation” -Sheldon M.Ross一书中出现的模拟随机变量的方法.      在介绍了诸多的随机变量与模拟方法之后, 接下来介绍一个实际问题的数学模型: 保险模型, 并对这个模型尝试进行模拟.   Poisson Distribution and Poisson Process   在介绍保险模型前, 首先需要介绍的是泊松过程.    在本系列文章之二 泊松分布与二项分布模拟 中介绍了泊松分布, 其表达式为: \[p_i = P(x=i)=e^{-\lambda}\dfrac{\lambda^i}{i!}, \quad i=0,1,2,…\]   泊松分布中并没有与时间相关的参数, 事实上, 离散或者连续的随机变量都与时间没有直接的关系, 事件可以在任何时候发生 (而考察的概率可以认为是从宇宙大爆炸到宇宙热寂这段时间的概率).     泊松分布中, 唯一需要确定的参数只有 \(\lambda\) . 在 泊松分布与二项分布模拟 中提到, 二项分布 \(\lambda\) 当 \(n\) 趋近于无穷大时, 二项分布近似为泊松分布, 而 \(\lambda = … Continue reading “统计模拟(六)——保险模型”

1 Comment so far

统计模拟(五)——耦合算子

本文为第一系列的原创文章之五, 目的在于总结“Simulation” -Sheldon M.Ross一书中出现的模拟随机变量的方法. Copula 有关 Copula 的内容, 本书中介绍的不多. 在这里, 也仅仅只是对Copula以及其数学内容, 进行比较简单介绍. 类似于回归等方法, 当我们仅仅知道多个随机变量的边缘分布以及他们的相关系数时, 我们可以利用一个合适的 Copula 算子去模拟其联合分布. 这种模拟是不精确的, 是一种猜的过程, 但是会有其能发挥的作用. 以二维的 Copula 为例, 上述语言用数学语言描述就是: 已知 \(X\) 和 \(Y\) 的边缘分布 \(F\) 和 \(G\) : \begin{align*}P(X\leq x)&=F(x)\\\ P(Y\leq y)&=G(y)\end{align*} 根据已知的 \(X\) 和 \(Y\) 的相关知识, 找到合适的 \(C(x,\ y)\) , 使得 \[H(x,\ y) = C(F(x),\ G(y))\] 而 \(C(x,\ y)\) … Continue reading “统计模拟(五)——耦合算子”

统计模拟(四)——多维正态分布与乔列斯基分解

本文为第一系列的原创文章之四, 目的在于总结“Simulation” -Sheldon M.Ross一书中出现的模拟随机变量的方法. Multivariate Normal Distribution 在上一篇文章中, Box-Muller 生成了一个二维的正态分布 \(X\) 与 \(Y\) , 二者相互独立, 但如果想要生成有相关性的多维(二维以及以上)变量, Box-Muller变换就有些捉襟见肘了. 在数学中, 假设向量 \(\overrightarrow{Z}=(Z_1,Z_2,Z_3,…,Z_m)^T\) 独立同分布于标准正态分布, 如果对于矩阵 \(A_{i\times j},\quad i=1,2,3,…,n,\quad j=1,2,3,…m\)与向量 \(\overrightarrow{\mu}=(\mu_1,\mu_2,\mu_3,…,\mu_n)^T\) 有: \[ \overrightarrow{X}=A\overrightarrow{Z}+\overrightarrow{\mu} \] 那么我们认为向量 \(\overrightarrow{X}=(X_1,X_2,X_3,…,X_n)^T\) 服从多维正态分布. 很明显易得: 向量 \(\overrightarrow{X}\) 的均值为 \(\overrightarrow{\mu}\) , 其协方差为 \begin{align*} Cov(X_i,\ X_j)&=Cov(\sum_{k=1}^{m} a_{ik}Z_k,\ \sum_{r=1}^{m} a_{jr}Z_r)\\\\ &=\sum_{k=1}^{m} \sum_{r=1}^{m} Cov(a_{ik}Z_k,\ a_{jr}Z_r))\\\ &=\sum_{k=1}^{m} \sum_{r=1}^{m} a_{ik} a_{jr} … Continue reading “统计模拟(四)——多维正态分布与乔列斯基分解”

One Interesting Experience in Dubai

  I went to Dubai few days ago, and experienced an A-380 flight simulation at Dubai Mall. Since I am quite familiar with the airplane things,  the conversation with the captain was very funny.   Just for remembrance.   1. Me: “Do we have ATC control?” Captain: “Well, we should have, but you know, it … Continue reading “One Interesting Experience in Dubai”

统计模拟(三)——正态分布模拟

本文为第一系列的原创文章之三, 目的在于总结“Simulation” -Sheldon M.Ross一书中出现的模拟随机变量的方法. Acceptance-Rejection 在介绍正态分布的模拟前先介绍一种方法, 叫做 Acceptance-Rejection Technique. 这种方法一般用于生成比例形式的随机变量(往往用比例形式更好模拟的情况下.) 对于离散型的随机变量, 假设我们想要模拟的变量为 \(q_i\) , 已知可以模拟的变量为 \(p_i\) ,大致的做法如下: 1.选取一个常数 \(c\) 需要满足: 对于所有的 \(i\), 有 \(c \geq \large\frac{q_i}{p_i}\) ; 2.模拟出变量 \(Y\), 满足的离散分布为 \(p_i\) ; 3.生成一个服从 \((0, 1)\) 均匀分布的变量 \(U\) ; 4.如果 \(U < \large\frac{q_y}{cp_y} \), 接受, 使 \(X=Y\) 并停止, 否则执行2. 可以证明 \[P(Y=i, 第k次循环被接受) = p_i \frac{q_i}{cp_i}(1-\frac{q_i}{cp_i})^{k-1}, \quad\quad … Continue reading “统计模拟(三)——正态分布模拟”

统计模拟(二)——泊松分布与二项分布模拟

本文为第一系列的原创文章之二, 目的在于总结 “Simulation” -Sheldon M.Ross 一书中出现的模拟随机变量的方法. 泊松分布与二项分布 在本站先前的文章 Gamma 函数与 Beta/Dirichlet 分布中提到过二项分布, 其本质是离散形式的 beta 分布, 二项分布的表达式为: \begin{align*} P(x=k) &= C_n^kp^i(1-p)^{(n-k)} \\\ &=\frac{n!}{k!(n-k)!}p^i(1-p)^{(n-k)} \end{align*} 当我们尝试产生一个服从二项分布的随机数时, 我们一般通过迭代关系求出 \(P(x=i)\) , 然后产生一个 \((0,1)\) 的均匀分布, 将均匀分布映射到通过迭代关系式划分出的二项分布的区间上. (不直接计算 \(P(x=i)\) , 因为会涉及到 \(3n\) 个阶乘运算, 也不采用 \(n\) 次独立重复试验的方法, 因为需要产生 \(n\) 个随机数.) 很显而易见的, 对于二项分布 \(B(n,p)\) 我们有: \begin{align*}\frac{P(x=i+1)}{P(x=i)}&=\frac{n-i}{i+1}\frac{p}{1-p} \\\ P(x=0)&=(1-p)^n \end{align*} 记 \(p_i = P(x=i)\) … Continue reading “统计模拟(二)——泊松分布与二项分布模拟”

5 Comments so far