My Blogs
Posts tagged with "数学"
朴素贝叶斯从放弃到入门
Published 2017年09月10日 23:00 by james
理论基础
联合概率
联合概率表示两个事件共同发生的概率。A与B的联合概率表示为$P(AB)$,$P(A,B)$或者$P(A \bigcap B)$。
联合概率可以推广到任意又穷多个事件出现的情况,设($A_1,A_2,\cdots,A_n$)为任意n个事件($n\ge2$),事件$A_1,A_2,\cdots,A_n$共同发生的概率记为$P(A_1A_2 \dots A_n)$,$P(A_1,A_2,\dots,A_n)$或者$P(A_1 \bigcap A_2 \bigcap \dots \bigcap A_n)$
条件概率
设A,B 是两个事件,且$P(A) > 0$,则称$P(B|A) = \frac{P(AB)}{P(A)}$为在事件A发生的条件下,事件B发生的条件概率。一般地,$P(B|A) \not= P(B)$ ,且它满足以下三条件:(1)非负性;(2)规范性;(3)可列可加性。
设E为随机试验,Ω为样本空间,A,B为任意两个事件,设$P(A)>0$,称$P(B|A) = \frac{P(AB)}{P(A)}$为在事件A发生的条件下事件B的条件概率。
上述乘法公式可推广到任意有穷多个事件时的情况。 设($A_1,A_2,\cdots,A_n$)为任意n个事件($n\ge2$)且$P(A_1,A_2,\cdots,A_n)>0$,则$P(A_1A_2 \cdots …
Linear Algebra
Published 2015年04月30日 23:00 by james
设$V_n,U_m$分别是$n,m$维的线性空间,如果一个从$V_n$ 到$U_m$的映射T满足
1)对于任意$\vec{a}_1,\vec{a_2} \in V_n$,有$T(\vec{a_1}+\vec{a_2})=T(\vec{a}_1)+T(\vec{a}_2)$
2)对于任一$\vec{a} \in V_n, \lambda \in R$,有$T(\lambda \vec{a})=\lambda T(\vec{a})$
则称映射T为线性映射,又称线性变换。
Y-Combinator不同语言实现方案
Published 2014年09月19日 19:00 by james
递归和定点
纯λ演算的一大特色是可以通过使用一种自应用技巧来书写递归函数。
f(n) = if n = 0 then 1 else n*f(n-1)
f = λn.if n = 0 then 1 else n*f(n-1)
把f移到等式的后面,得到函数G
G = λf.λn.if n = 0 then …
Lambda演算之Y-Combinator的推导(JS描述)
Published 2014年09月18日 19:00 by james
上一节中,我们讲到了如何使用λ演算来描述自然数,可以看出λ演算的表现力确实非常强大,然而遗憾的是,由于lambda演算中使用的都是匿名函数,所以它无法很直观地表述递归。 如果缺少了递归,λ演算的能力无疑会大打折扣。
所有基于λ演算的语言中,其实都是支持对过程进行命名的,那为什么这里我们还需要探讨匿名函数的递归呢?
- 为了保持纯洁性,我们希望仅仅通过λ演算的规则本身来解决递归的问题。
- 部分语言对过程的命名必须等到该过程定义完成后才可以进行,这个时候我们必须找到一种方式使其能够很容易地获得递归的能力。
下面我们就是用factorial函数为原型,来看看如何使用lambda演算基本的规则,为其增加递归的能力。
传统定义方式,不过这个方式不符合我们的需求,因为它使用到了函数自身fact。
var fact = function(n){
return n <= 1 ? 1 : n * fact(n - 1);
}; …
Lambda演算之Y-Combinator的推导
Published 2014年09月18日 12:00 by james
上一节中,我们讲到了如何使用λ演算来描述自然数,可以看出λ演算的表现力确实非常强大,然而遗憾的是,由于lambda演算中使用的都是匿名函数,所以它无法很直观地表述递归。 如果缺少了递归,λ演算的能力无疑会大打折扣。
所有基于λ演算的语言中,其实都是支持对过程进行命名的,那为什么这里我们还需要探讨匿名函数的递归呢?
- 为了保持纯洁性,我们希望仅仅通过λ演算的规则本身来解决递归的问题。
- 部分语言对过程的命名必须等到该过程定义完成后才可以进行,这个时候我们必须找到一种方式使其能够很容易地获得递归的能力。
下面我们就是用factorial函数为原型,来看看如何使用lambda演算基本的规则,为其增加递归的能力。
传统定义方式,不过这个方式不符合我们的需求,因为它使用到了函数自身fact。
(defn fact [n] (if (<= n 0) 1 (* n (fact (dec n))))) …