玩了将近一个月的我终于又回来继续学习啦~~~,最近开始补习一些机器学习中需要的数学知识,就把个人学习过程记录在csdn博客吧。
1.什么是机器学习?
Tom Michael Mitchell在他的非常经典的书《machine learning》中给出的定义如下:
对于某给定的任务T,在合理的性能度量方案P的前提下,某计算机程序可以自主学习任务T的经验E,随着提供合适的、优质的、大量的经验E,该程序对于任务T的性能逐步提高。
这里比较重要的机器学习的对象是:
(1)任务Task T,一个或者多个
(2)经验Experience E
(3)性能Performance P
即随着任务的不断执行,经验的累积会带来计算机性能的提升。
换个表述:
机器学习是人工智能的一个分支。我们使用计算机设计一个系统,使它能够根据提供的训练数据按照一定的方式来学习;随着训练次数的增加,该系统可以在性能上不断学习和改进,通过优化该学习模型,能够基于先前学习得到的参数来预测相关问题的输出。
当然了,很难具体说清楚到底什么是机器学习,还是要自己慢慢理解。
思考一下,机器如何发现新词?(没有词库和词典的情况下)
中文的几个汉字经常出现在一起的话,那这就可能是一个新词,所以我们需要考虑以下几个因素:
(1)频数:Count(X)
(2)凝固程度
a. X =A B
b. P(A)P(B) vs P(X)
如果A和B是独立的话,那我们就不认为它们组合在一起是一个新词,也就是凝固程度很差
如果P(A)P(B)和P(X)经常很接近的话,那我们会倾向于A和B会组成一个新词
(3)自由度
a. aXb
b. 信息熵H(a)、H(b)
信息熵在以后的文章中会详加解释
(4)凝固程度和自由程度缺一不可,只考虑凝固程度,会找出“巧克”,“俄罗”,“五颜六”、“柴可夫”等“半个词”;只考虑自由程度,会把“吃了一顿”、“看了一遍”、“睡了一晚”,“去了一趟”中的“了一”提取出来,因为它的左右邻字都太丰富了。
那么来思考一个问题,给定一个长文本,如何利用上述参数来设计一个可行算法?
也许可以用双数组Trie树来解决这个问题
这是一个简单的例子,可以看到发现一个新词对于机器来说也很不容易。
2.ok,现在来进入正式的学习内容
(1)回忆知识
求S的值:
S
=
1
0
!
+
1
1
!
+
1
2
!
+
1
3
!
+
1
4
!
+
.
.
.
+
1
n
!
+
.
.
.
S=\frac 1{0!}+\frac 1{1!}+\frac 1{2!}+\frac 1{3!}+\frac 1{4!}+...+\frac 1{n!}+...
S=0!1+1!1+2!1+3!1+4!1+...+n!1+...
复习微积分:夹逼定理
当x∈U(
x
0
x_0
x0,r)时,有g(x)≤f(x)≤h(x)成立,并且
lim
x
→
x
0
g
(
x
)
=
A
\lim_{x \to \ x_0}g(x)=A
x→ x0limg(x)=A,
lim
x
→
x
0
h
(
x
)
=
A
\lim_{x \to \ x_0}h(x)=A
x→ x0limh(x)=A那么则有:
lim
x
→
x
0
f
(
x
)
=
A
\lim_{x \to \ x_0}f(x)=A
x→ x0limf(x)=A
g(x)和h(x)都没有特殊限制,只要求当x相同时,g(x)和h(x)的极限相等。
来看一下它的应用:
如上图所示,我们可以看到sinx<x<tanx,其中x∈U(0,
ϵ
\epsilon
ϵ),对上述式子进行变换,得到:
1
<
x
s
i
n
x
<
1
c
o
s
x
1<\frac{x}{sinx}<\frac{1}{cosx}
1<sinxx<cosx1,即:
c
o
s
x
<
s
i
n
x
x
<
1
cosx<\frac{sinx}{x}<1
cosx<xsinx<1,因为
lim
x
→
0
c
o
s
x
=
c
o
s
0
=
1
\lim_{x \to \ 0}cosx=cos0=1
x→ 0limcosx=cos0=1
从而:
lim
x
→
0
s
i
n
x
x
=
1
\lim_{x \to \ 0}\frac {sinx}{x}=1
x→ 0limxsinx=1(非常基础的一个极限公式)
该极限式将三角函数和多项式建立了极限关系
复习微积分:极限存在定理
单调有界数列必有极限,如:单增数列有上界,则其必有极限
构造一个数列{
x
n
x_n
xn}
x
n
=
(
1
+
1
n
)
m
x_n=(1+\frac1n)^m
xn=(1+n1)m直接把该数列展开,我们得到:
所以说该数组是有上界的,且上界为3
自然常数
根据前文中
a
n
=
(
1
+
1
n
)
a_n=(1+\frac1n)
an=(1+n1)的二项展开式,已经证明数组{
a
n
a_n
an}单增有上界,因此,必有极限,记作e
同时:有以下式子成立:
根据夹逼定理,函数
f
(
x
)
=
(
1
+
1
x
)
x
f(x)=(1+\frac1x)^x
f(x)=(1+x1)x的极限存在,为e
目前e的具体值还不清楚,只知道它比3要小。
导数
(1)简单的说,导数就是曲线的斜率,是曲线变化快慢的反应
(2)二阶导数是斜率变化快慢的反应,表征曲线的凹凸性
a. 在GIS中,往往一条二阶导数连续的曲线,我们称之为“光顺“的
b. 加速度的方向总是指向轨迹曲线凹的一侧
应用;
(1)已知函数
f
(
x
)
=
x
x
,
x
>
0
f(x)=x^x,x>0
f(x)=xx,x>0
(2)求f(x)的最小值
a. 领会幂指函数的一般处理套路
b. 在信息熵章节中将再次遇到它
求解:
所以求幂指函数时,先求对数再求导
泰勒展开式
泰勒公式的应用1
数值计算:初等函数值的计算(在原点展开)
在实践中,往往需要做一定程度的变换。
计算 e x : e^x: ex:
(1)给定正实数x,计算
e
x
=
?
e^x=?
ex=?
(2)一种可行的思路:
a. 求整数k和小数r,使得:
x
=
k
∗
l
n
2
+
r
,
∣
r
∣
<
=
0.5
∗
l
n
2
x=k*ln2+r,|r|<=0.5*ln2
x=k∗ln2+r,∣r∣<=0.5∗ln2
b.从而:
e
x
=
e
k
⋅
l
n
2
+
r
=
e
k
⋅
l
n
2
⋅
e
r
=
2
k
⋅
e
r
e^x=e^{k\cdot ln2+r}=e^{k\cdot ln2}\cdot e^r=2^k \cdot e^r
ex=ek⋅ln2+r=ek⋅ln2⋅er=2k⋅er
方向导数
如果函数
z
=
f
(
x
,
y
)
z=f(x,y)
z=f(x,y)在点P(x,y)是可微分的,那么,函数在该点沿任一方向L的方向导数都存在,且有:
∂
f
∂
l
=
∂
f
∂
x
c
o
s
ψ
+
∂
f
∂
y
s
i
n
ψ
\frac{\partial f}{\partial l}=\frac{\partial f}{\partial x}cos\psi+\frac{\partial f}{\partial y}sin\psi
∂l∂f=∂x∂fcosψ+∂y∂fsinψ
其中:
ψ
\psi
ψ为x轴到方向L的转角
梯度
(1)设函数
z
=
f
(
x
,
y
)
z=f(x,y)
z=f(x,y)在平面区域D内具有一阶连续偏导数,则对于每一个点P(x,y)∈D,向量:
(
∂
f
∂
x
,
∂
f
∂
y
)
(\frac{\partial f}{\partial x},\frac{\partial f}{\partial y})
(∂x∂f,∂y∂f)为函数
z
=
f
(
x
,
y
)
z=f(x,y)
z=f(x,y)在点P的梯度,记作grad f(x,y)
(2)梯度的方向是函数在该点变化最快的方向
a.考虑一座解析式为
z
=
H
(
x
,
y
)
z=H(x,y)
z=H(x,y)的山,在
(
x
0
,
y
0
)
(x_0,y_0)
(x0,y0)的梯度是在该点梯度变化最快的方向
(3)梯度下降法:思考:若下山方向和梯度呈
θ
\theta
θ夹角,下降速度是多少?(考虑方向导数)
凸函数
若函数f的定义域domf为凸集,且满足:
∀
x
,
y
∈
d
o
m
f
,
0
≤
θ
≤
1
\forall x,y∈domf,0≤\theta≤1
∀x,y∈domf,0≤θ≤1,有:
f
(
θ
x
+
(
1
−
θ
)
y
)
≤
θ
f
(
x
)
+
(
1
−
θ
)
f
(
y
)
f(\theta x+(1-\theta)y)≤\theta f(x)+(1-\theta)f(y)
f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y)
凸函数的判定:
(1)定理:f(x)在区间[a,b]上连续,在(a,b)内二阶可导,那么:
a. 若
f
′
′
(
x
)
>
0
f^{''}(x)>0
f′′(x)>0,则f(x)是凸的
b. 若
f
′
′
(
x
)
<
0
f^{''}(x)<0
f′′(x)<0,则f(x)是凹的
即:一元二阶可微的函数在区间上是凸的,当且仅当它的二阶导数是非负的
凸性质的应用
(1)设p(x),q(x)是在X中取值的两个概率分布,给定如下定义式:
试证明:D(p||q)≥0
上式在最大熵模型等内容中会详细讨论
可以在以下图像中看出y=-logx在定义域上是凸函数
概率论
(1)对概率的认识:P(x)∈[0,1]
a. P=0:事件出现的概率为0—>事件不会发生?
b. 若x为离散/连续变量,则P(
x
=
x
0
x=x_0
x=x0)表示
x
0
x_0
x0发生的概率/概率密度
(2)累计分布函数:
Φ
(
x
)
=
P
(
x
≤
x
0
)
\Phi(x)=P(x≤x_0)
Φ(x)=P(x≤x0)
a.
Φ
(
x
)
\Phi(x)
Φ(x)一定为单增函数
b.
m
i
n
(
Φ
(
x
)
)
=
0
,
m
a
x
(
Φ
(
x
)
)
=
1
min(\Phi(x))=0,max(\Phi (x))=1
min(Φ(x))=0,max(Φ(x))=1
c. 将值域为[0,1]的某函数
y
=
f
(
x
)
y=f(x)
y=f(x)看成y事件的累积概率
d. 若
y
=
f
(
x
)
y=f(x)
y=f(x)可导,则
p
(
x
)
=
f
(
x
)
p(x)=f(x)
p(x)=f(x)为某概率密度函数
古典概型
举例:将n个不同的球放入N(N≥n)个盒子中,假设盒子容量无限,求事件A={每个盒子至多有1个球}的概率
解:
P
(
A
)
=
P
N
n
N
n
P(A)=\frac{P^n _N}{N^n}
P(A)=NnPNn
(1)基本事件总数:
a.第1个球,有N种放法;
b.第2个球,有N中放法;
…
d.共:
N
n
N^n
Nn种放法
(2)每个盒子至多放1个球的事件数:
a.第1个球,有N种放法;
b.第2个球,有N-1种放法;
c.第3个球,有N-2种放法;
…
d.共:
N
(
N
−
1
)
(
N
−
2
)
.
.
.
(
N
−
n
+
1
)
=
P
N
n
N(N-1)(N-2)...(N-n+1)=P^n_N
N(N−1)(N−2)...(N−n+1)=PNn
装箱问题:
将12件正品和3件次品随机装在3个箱子中,每箱装5件,每箱中恰有1件次品的概率是多少?
解:(1)将15件产品装入3个箱子,每箱装5件,共有
15
!
5
!
5
!
5
!
\frac{15!}{5!5!5!}
5!5!5!15!种装法
(2)先把3件次品放入3个箱子,有3!种装法。对于这样的每一种装法,把其余12件产品装入3个箱子,每箱装4件,共有
12
!
4
!
4
!
4
!
\frac{12!}{4!4!4!}
4!4!4!12!种装法
(3)
P
(
A
)
=
(
3
!
∗
12
!
)
(
4
!
4
!
4
!
)
(
15
!
)
(
5
!
5
!
5
!
)
P(A)=\frac{\frac{(3!*12!)}{(4!4!4!)}}{\frac{(15!)}{(5!5!5!)}}
P(A)=(5!5!5!)(15!)(4!4!4!)(3!∗12!)=
25
91
\frac{25}{91}
9125
与组合数的关系
(1)把n个物品分成k组,使得每组物品的个数分别为n1,n2…nk,(n=n1+n2+…+nk),则不同的分组方法有
n
!
n
1
!
n
2
!
n
3
!
.
.
.
n
k
!
\frac{n!}{n_1!n_2!n_3!...n_k!}
n1!n2!n3!...nk!n!种。
(2)上述问题的简化版本,即n个物品分成2组,第一组m个,第二组n-m个,则分组方法有:
n
!
m
!
(
n
−
1
)
!
\frac{n!}{m!(n-1)!}
m!(n−1)!n!,即:
C
n
m
C^m_n
Cnm
商品推荐
(1)商品推荐场景中过于聚焦的商品推荐往往会损害用户的购物体验,在有些场景中,系统会通过一定程度的随机性给用户带来发现的惊喜感。
(2)假设在某推荐场景中,经计算A和B两个商品与当前访问用户的匹配度分别为0.8和0.2,系统将随机为A生成一个均匀分布于0到0.8的最终得分,为B生成一个均匀分布于0到0.2的最终得分,试计算最终B的分数大于A的分数的概率
解:如上图所示,A=B的直线上方区域即为B>A的情况。
S
蓝
色
=
0.02
,
S
矩
形
=
0.16
S_{蓝色}=0.02,S_{矩形}=0.16
S蓝色=0.02,S矩形=0.16
p
=
0.02
0.16
=
0.125
p=\frac{0.02}{0.16}=0.125
p=0.160.02=0.125
概率公式
(1)条件概率:
P
(
A
∣
B
)
=
P
(
A
B
)
P
(
B
)
P(A|B)=\frac{P(AB)}{P(B)}
P(A∣B)=P(B)P(AB)
(2)全概率公式:
P
(
A
)
=
∑
P
(
A
∣
B
i
)
P
(
B
i
)
P(A)=\sum P(A|B_i)P(B_i)
P(A)=∑P(A∣Bi)P(Bi)
(3)贝叶斯(Bayes)公式:
P
(
B
i
∣
A
)
=
P
(
A
∣
B
i
)
P
(
B
i
)
∑
P
(
A
∣
B
j
)
P
(
B
j
)
P(B_i|A)=\frac{P(A|B_i)P(B_i)}{\sum P(A|B_j)P(B_j)}
P(Bi∣A)=∑P(A∣Bj)P(Bj)P(A∣Bi)P(Bi)
贝叶斯公式的应用
(1)8支步枪中有5支已校准过,3支未校准,一名射手用校准过的枪射击,中靶概率为0.8;用未校准过的枪设计,中靶概率为0.3;现从8支枪中随机取一支设计,结果中靶,求该枪是已校准过的概率。
解:
贝叶斯公式
P
(
A
∣
B
)
=
P
(
B
∣
A
)
P
(
A
)
P
(
B
)
P(A|B)=\frac{P(B|A)P(A)}{P(B)}
P(A∣B)=P(B)P(B∣A)P(A)
(1)给定某系统的若干样本x,计算该系统的参数,即:
P
(
θ
∣
x
)
=
P
(
x
∣
θ
)
P
(
θ
)
P
(
x
)
P(\theta|x)=\frac{P(x|\theta)P(\theta)}{P(x)}
P(θ∣x)=P(x)P(x∣θ)P(θ)
a.P(
θ
\theta
θ):没有数据支持下,
θ
\theta
θ发生的概率:先验概率
b.P(\theta|x):在数据x的支持下,
θ
\theta
θ发生的概率:后验概率
c.P(x|
θ
\theta
θ):给定某参数
θ
\theta
θ的概率分布:似然函数
两点分布
0-1分布
已知随机变量X的分布律为:
则有:E(X)=p
D (X)=p(1-p)
二项分布
设随机变量X服从参数为n,p的二项分布,设
X
i
X_i
Xi为第i次试验中事件A发生的次数,i=1,2…n,则:
显然,
X
i
X_i
Xi相互独立均服从参数为p的0-1分布,所以:
泊松分布
设X~π(
λ
\lambda
λ),且分布律为:
P
(
X
=
k
)
=
λ
k
k
!
e
−
λ
P(X=k)=\frac{\lambda^k}{k!}e^{-\lambda}
P(X=k)=k!λke−λ,k=0,1,2,…,
λ
>
0
\lambda>0
λ>0
则有:
E
(
X
)
=
λ
E(X)=\lambda
E(X)=λ,
D
(
X
)
=
E
(
X
2
)
−
[
E
(
X
)
]
2
=
λ
2
+
λ
−
λ
2
=
λ
D(X)=E(X^2)-[E(X)]^2=\lambda^2+\lambda-\lambda^2=\lambda
D(X)=E(X2)−[E(X)]2=λ2+λ−λ2=λ
所以泊松分布的期望和方差都等于参数
λ
\lambda
λ
在实际事例中,当一个随机事件,以固定的平均瞬时速率
λ
\lambda
λ(或称密度)随机且独立地出现时,那么这个事件在单位时间(面积或体积)内出现的次数或个数就近似地服从泊松分布P(
λ
\lambda
λ)
如:a.某一服务设施在一定时间内到达的人数
b.电话交换机接到呼叫的次数 c.汽车站台的侯客人数 d. 机器出现的故障数
均匀分布
设X~U(a,b),其概率密度为:
则有
E
(
X
)
=
∫
−
∞
∞
x
f
(
x
)
d
x
=
∫
a
b
1
b
−
a
x
d
x
=
1
2
(
a
+
b
)
E(X)=\int_{-\infty}^{\infty}xf(x)dx=\int_a^b\frac{1}{b-a}xdx=\frac{1}{2}(a+b)
E(X)=∫−∞∞xf(x)dx=∫abb−a1xdx=21(a+b)
D
(
X
)
=
E
(
X
2
)
−
[
E
(
X
)
]
2
=
∫
a
b
x
2
1
b
−
a
d
x
−
(
a
+
b
2
)
2
=
(
b
−
a
)
2
12
D(X)=E(X^2)-[E(X)]^2=\int_a^bx^2\frac{1}{b-a}dx-(\frac{a+b}{2})^2=\frac{(b-a)^2}{12}
D(X)=E(X2)−[E(X)]2=∫abx2b−a1dx−(2a+b)2=12(b−a)2
指数分布
设随机变量X服从指数分布,其概率密度为:
则有E(X)=
θ
\theta
θ
D(X)=
θ
2
\theta^2
θ2
其中,
λ
>
0
\lambda>0
λ>0是分布的一个参数,常被称为概率参数。即:每单位时间内发生某事件的次数。指数分布的区间是
[
0
,
∞
)
[0,\infty)
[0,∞)。
指数分布可以用来表述独立随机事件发生的时间间隔,比如旅客进机场的时间间隔,软件更新的时间间隔等等。
许多电子产品的寿命分布一般服从指数分布。有的系统的寿命分布也可以用指数分布来近似,它在可靠性研究中是最常用的一种分布形式。
指数分布的一个重要特性是无记忆性
如果一个随机变量呈指数分布,当s,t≥0时,有:
P
(
x
>
s
+
t
∣
x
>
s
)
=
P
(
x
>
t
)
P(x>s+t|x>s)=P(x>t)
P(x>s+t∣x>s)=P(x>t)
即,如果x是某一元件的寿命,已知元件使用了s小时,它总共使用至少s+t小时的条件概率,与从开始使用时算起它使用至少t小时的概率相等。
正态分布
设X~N(
μ
,
σ
2
\mu,\sigma^2
μ,σ2),其概率密度为:
f
(
x
)
=
1
2
π
σ
e
−
(
x
−
μ
)
2
2
σ
2
,
σ
>
0
,
−
∞
<
x
<
∞
f(x)=\frac{1}{\sqrt{2π}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}},\sigma>0,-\infty<x<\infty
f(x)=2πσ1e−2σ2(x−μ)2,σ>0,−∞<x<∞
则有:
令
x
−
μ
σ
=
t
=
>
x
=
μ
+
σ
t
\frac{x-\mu}{\sigma}=t=>x=\mu+\sigma t
σx−μ=t=>x=μ+σt,
D(X)=
σ
2
\sigma^2
σ2
集合Hash问题
某Hash函数将任一字符串非均匀映射到正整数k,概率为
2
−
k
2^{-k}
2−k,如下所示,现有字符串集合S,某元素经映射后,得到的最大整数为10,试估计S的元素个数。
问题分析:(1)由于Hash映射成整数是指数级衰减的,“最大整数为10”这一条件可近似考虑成“整数10曾经出现”,继续近似成“整数10出现过一次”,字符串被映射成10的概率为
p
=
2
−
10
=
1
1024
p=2^{-10}=\frac{1}{1024}
p=2−10=10241,从而,一次映射即两点分布:
这篇文章写得有些乱,主要是一些基本知识的复习