机器学习(1):机器学习与数学分析

近期因工作需要,开始学习机器学习。学习心得体会,定期更新梳理出来,首次接触,可能有理解和解释不到位的地方,望批评指正,也算是自我提升。

提到机器学习,楼主第一反应是各种复杂的公式,各种搞不定的矩阵计算、积分、微分、熵等,甚至还专门为此重新学习了线性代数。其实从机器学习的角度去看数学知识,基本的高等数学、概率论等已经满足需求。

以下回顾三个常用的数学知识,并和机器学习中的数学简单关联。
**

(1)、自然对数e的引出

**
先从一个问题出发,求如下s的值:

s=10!+11!+12!+13!+14!+...+1n!+...

问题分析:

如果令

f(x)=logax

《机器学习(1):机器学习与数学分析》

我们知道所有对数函数都会经过点(1,0),则在底数a为何值时,(1,0)处的导数为1呢?我们知道f(x)的极限值:


f(x+Δx)f(x)Δx=loga(x+Δx)loga(x)Δx=loga(x+ΔxΔx)1Δx

由于在(1,0)处的导数为1,则当

Δx 趋于无穷小时:


loga(1+Δx)1Δx=1

等价于:


limn1+1nn=?

《机器学习(1):机器学习与数学分析》

《机器学习(1):机器学习与数学分析》

由此引入自然对数e,上述问题的极限,即s的值也为e。

**

(2)、导数与梯度下降

**
简单来说,导数就是曲线的斜率,是曲线变化快慢的体现。二阶导数就是曲线斜率变化快慢的反映。
我们知道,如果函数z=f(x,y)在点P(x,y)处的导数存在,则函数在该点任意方向L上的偏导数都存在,并且有:

(f)(l)=(f)(x)cosφ+(f)(l)sinφ

其中

φ 为X轴到方向L的转角。

上述公式可用矩阵表述为:


(f)(l)=((f)(x),(f)(l))(cosφ,sinφ)T

两个向量在什么时候点乘最大呢?由于:

ab=|a||b|cosφ

答案是同方向的时候,点乘最大,所以机器学习的一个经典算法–梯度下降,形如从山顶走到山脚,以最快的速度下降,采用的就是当前所在位置的偏导数,沿着偏导数的方向下降,能以最快的速度到达目的地。


((f)(x),(f)(l)) 为函数z=f(x,y)在P点的梯度,记做gradf(x,y)。

梯度的方向是函数在当前点变化最快的方向。

**

(3)、组合数背后的祕密

**
先看一个典型的古典概率问题:将12个正品和3个次品,随机装在3个箱子中,每箱装5件,则每个箱子恰好有一个次品的概率是多少?
先把15个产品装入3个箱子,共有装法:15!/(5!5!5!)
3个次品装入3个箱子,共有:3!种装法。然后把12个正品装入3个箱子,每个4件,共有装法:12!/(4!4!4!)
所以概率P(A)=(3!*12!/(4!4!4!))/(15!/(5!5!5!))

一个通用的问题:N个物品分成k组,使得每组物品的个数分别为n1、n2、……、nk(N=n1+n2+……+nk),则不同的分组方法有: N!n1!n2!nk!
当N趋于无穷大时,我们来求一个特殊的值:

H=1NlnN!n1!n2!nk!

由于N趋于无穷大时,lnN!—–>N(LnN-1)

上述计算等价于:


lnN11Ni=1kni(lnni1)=1Ni=1kni(lnni)NlnN)=1Ni=1k(ni(lnni)nilnN)=1Ni=1k(nilnniN)=i=1k(niNlnniN)

共有N个盒子,

niN 相当于第i个盒子的频率,即p,上述H最后转换为:


H=i=1k(pi)ln(pi)

这个式子我们认识有木有,熵由此引出。

点赞