文章目录
前言
在上一篇博文中大体介绍了何为机器学习以及一些相关的概念。此篇介绍一些关于机器学习涉及到的一些数学相关的知识。
一、微积分基础
这里就指出一些比较重要的关于微积分相关的一些知识点:
1 夹逼准则:用来求极限的一种方法。
2 导数:一阶导数表示曲线变化的快慢,即斜率,二阶导数表示斜率变化的快慢,即凹凸性。
3 方向导数:标量;可以类比一阶导数理解,只不过不是对x方向的求导,而是对某一方向的求导。
4 梯度:矢量;模值表示方向导数的最大值,方向表示方向导数取最大值时的方向。
5 凸函数:Jensen不等式f[E(x)]<=E[f(x)]要理解。
着重学习一下夹逼准则,梯度以及凸函数
1.1 夹逼准则
放缩的常用方法有:
- 利用简单的放大与缩小
如, 个正数之和不超过最大数乘 ,不小于最小数乘 ;
有限 个正数之和不超过最大数乘 ,不小于最大数本身;
分子分母同为正数,把分母放大则分数缩小;
若干正数的乘积中,略去小于1的因子则放大,略去大于1的因子则偏小 - 利用重要的不等式
3.利用闭区间上连续函数必有最大值与最少值
夹逼准则相关介绍
1.2 导数/方向导数
导数/方向导数比较简单,就不在介绍了…
1.3 梯度
来源百度:梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。
设二元函数
在平面区域D上具有一阶连续偏导数,则对于每一个点都可定出一个向量
该函数就称为函数 在点
的梯度,记作
或
,即有:
其中
称为(二维的)向量微分算子或Nabla算子,
。设
是方向l上的单位向量,则:
由于当方向l与梯度方向一致时,有:
所以当l与梯度方向一致时,方向导数
有最大值,且最大值为梯度的模,即:
因此说,函数在一点沿梯度方向的变化率最大,最大值为该梯度的模。
1.4 凸函数
如函数f的定义成domf为凸集,且满足:
则称
为凸函数(convex function)。
为了节约时间,这里就不在多介绍了,以下链接可参考了解凸函数
凸函数相关介绍
二、概率与统计基础
2.1 概率
条件概率:
全概率公式:
贝叶斯(Bayes)公式
常见的概率分析:
例子:
概率 P 是对随机事件发生的可能性的度量。
例如,小明在期末考试前,统计了下自己在今年的数学考试成绩,结果显示得到80分以下的次数为2次,得80分~90分的次数为10次,得到90分以上次数为3次,那么小明得到 80分以下的概率为
80~90分的概率为:
90分以上的概率:
1、均匀分布概率密度函数
均值和方差:
2、伯努利分布
逻辑回归二分类的结果就服从伯努利分布,因为逻辑回归二分类就给出两个结果正例负例。既然结果只有0-1两种,那么很显然它的概率分布就是离散型。
伯努利试验是只有两种可能结果的单次随机试验,即对于一个随机变量X而言:
努利试验都可以表达为“是或否”的问题。例如,抛一次硬币是正面向上吗?刚出生的小孩是个女孩吗等等,如果试验
是一个伯努利试验,将
独立重复地进行
次,则称这一串重复的独立试验为
重伯努利试验。
进行一次伯努利试验,成功
概率为
,失败
概率为
,则称随机变量
服从伯努利分布。伯努利分布是离散型概率分布,其概率质量函数为:
3、二项分布
二项分布(Binomial distribution)是n重伯努利试验成功次数的离散概率分布。如果试验
是一个
重伯努利试验,每次伯努利试验的成功概率为
,
代表成功的次数,则
的概率分布是二项分布,记为
,其概率质量函数为:
从定义可以看出,伯努利分布是二项分布在n=1时的特例
二项分布名称的由来,是由于其概率质量函数中使用了二项系数
,该系数是二项式定理中的系数,二项式定理由牛顿提出:
二项分布的典型例子是扔硬币,硬币正面朝上概率为p, 重复扔n次硬币,k次为正面的概率即为一个二项分布概率。
如果实验满足以下两种条件:
-
在每次试验中只有两种可能的结果,而且两种结果发生与否互相对立;
-
相互独立,与其它各次试验结果无关;
-
事件发生与否的概率在每一次独立试验中都保持不变。
则实验的结果对应的分布为二项分布。
当试验次数为1时,二项分布服从0-1分布。
例子:
例如,一堆苹果有好的,有坏的,从中取10次,定义随机变量:从中取得好苹果的个数
,那么认为
服从二项分布。
实验得到的结果:比如经过10次实验后分布结果为:7好,3坏;再经过10次实验后分布结果为:8好,2坏。经过这20次实验,可以根据最大似然估计求出我们可求出二项分布的参数:从这堆苹果中取到一个好苹果的概率。
因为在20次实验中,出现了15好,5坏,因此一次取到好苹果概率为:15/20 = 0.75,根据最大似然估计,认为从整个样本中取到一个好苹果的概率也为:0.75。
出现这种分布的概率有多大,由二项分布的概率计算公式:
其中:
表示出现好苹果的个数,
表示一次实验出现好苹果的概率,
的取值范围为:
,最小值为0个好苹果,最大值为
个好苹果(所有的都是好苹果)。
通过以上20次随机试验中,最终得到15个好苹果,如果一次看下好苹果的个数
,它们各自的分布概率,变化曲线如下通过python源码实现所示:
# 计算组合数
from scipy.special import comb,perm
import numpy as np
import matplotlib.pyplot as plt
# 二项分布概率计算公式
def getp(m,n,pa):
if m<n:
return 0.0
return comb(m,n)*(pa**n)*((1-pa)**(m-n))
# 获取画图数据
klist = np.arange(21)
plist = [getp(m=20,n=k,pa=0.75) for k in klist]
plt.plot(klist,plist) # klist:x轴,plist:y轴
plt.xlabel('number of good apples')
plt.ylabel('k-distribution proba')
plt.title('distribution proba')
plt.xticks(np.arange(0,22,1))
plt.grid()
plt.show()
如上图结果所示,当k=15时,取得的概率最大,也就是说明,期望值分布中最有可能发生:15个好果子,5个坏果子。二项分布是随机变量为离散型随机变量且当试验次数为1时服从0-1分布,它是重复n次的独立的伯努利试验。这种分布下,对个数的期望等于二项分布中概率发生最大的取值个数
4、泊松分布
假设我们一个产品,统计用户性别比例男性占60%,假设有100个注册新用户,这100个注册用户,有1个为男的概率是多少?有两个为2男的概率是多少?有3个为男的概率是多少?依次下去,显然泊松分布是连续型分布。
有的书里面把
为
看着还挺不舒服的,不知道以为是条件概率。条件概率的话,因为都为变量而不存在常量。
均值与方差:
5、指数分布
同样以app用户注册为例,一个小时注册100个,那么在单位时间为一个小时的前提下,一个男的都没有的概率是多少?把x=0带入泊松分布公式.
则有男性的概率为:
则一般形式:
指数分布的应用,如果让你求两个小时内有男人注册的概率你应该会求,对比泊松分布只关注有几个男人注册,而指数分布则只关注是否有男性用户注册。
均值与方差:
2.2 期望值
离散型
连续型
例子:
期望值
,在一个离散性随机变量实验中,重复很多次实验,每次实验的结果乘以其出现的概率的总和。
如上例中,小明在今年的期末考试,我们对他的期望值大约是多少呢?套用上面的公式,80分以下的值取一个代表性的分数:70分,80~90:85分,90分以上:95分,
计算出的结果为 85,即期末考试我们对小明的合理期望是 85 分左右。
2.3 方差
定义:
无条件成立:
除此之外,方差的平方根,称为标准差。
方差
,用来度量随机变量取值和其期望值之间的偏离程度:
其中:
X 表示小明的分数这个随机变量
N 表示样本的个数,即在此15个
已经知道小明的15次考试的分数,均值刚才计算出来了为 85分,带入到上面的公式中,便能得出偏离85分的程度大小。那么小明很可能期末考试分数在85分左右。方差开根号,得到标准差,即为
。
2.4 协方差
定义:
性质:
其中:
X, Y 是两个随机变量
是对应两个随机变量的均值
如果两个变量是高度同向的,即X变大,Y也变大,那么对应的协方差也就很大;如果每次X变大,Y就变小,那么X和Y的协方差可能就会为负数。
例如:经过观察,我们发现小明的数学成绩和物理成绩的分数分布情况高度相符,也是70分以下3次,80~90分居多,21次,90分以上1次,那么我们就说小明的数学和物理成绩的协方差很大。
2.5 相关系数
我们考虑具有一般性的公式,通常相关系数的定义如下:
发现这个相关系数与协方差紧密相关,只不过又除以了X的标准差和Y的标准差,也就是说,是一种剔除了X和Y这两个偏离程度量纲的影响,标准化后的特殊协方差。
除了以上的知识点之外还要好多,例如:极限、微分学、泰勒级数、Jensen不等式等等,具体看参考:
https://blog.csdn.net/qq_39975984/article/details/78950339
三、高斯分布
3.1 独立同分布
指随机过程中,任何时刻的取值都为随机变量,如果这些随机变量服从同一分布,并且互相独立,那么这些随机变量是独立同分布。
先说说独立这个概念。在预测昆明区域的房屋价值时,房屋样本
和样本
之间的预测是相互独立的,它们之间不存在任何关系,这也是接近实际的。
同分布是指预测的房屋都是来自于昆明这块区域的,你不能拿北京的某个小三居扔到这个模型中去做预测吧,如果非要这样,误差一定会很大。
3.2 高斯分布
高斯分布(Gaussian distribution), 又称为正态分布(Normal distribution),是一个非常重要在各个领域有广泛应用的概率分布
正态曲线的特点是中间高,两头低,左右对称,人们经常称之为钟形曲线。若随机变量
服从一个数学期望为
、方差为
的正态分布,记为
。其概率密度函数为正态分布的,期望值
决定了它的位置,标准差
数据的偏离程度。当
时的高斯分布又称为标准正态分布。
3.3 一维正态分布
若随机变量服从如下的概率密度函数,则表明是一维正态分布:
当然,还有多维正态分布,在此不做详述。
其中:exp,高等数学里以自然常数e为底的指数函数。
四、似然函数
4.1 似然函数
似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。
给定输出
时,关于参数
的似然函数
,在数值上它等于给定参数 θ 后变量 X 的概率:
说白了就是一个条件概率,当然这个是非常重要的!。
举例说明:
举个例子,我们抛掷一枚硬币,这枚硬币不是理论上的一半一半的出现概率,而是动了手脚的,出现正面的概率是0.2,现在我们预测一下抛掷10次,出现正面的次数是多少,如果用
表示出现正面的次数,那么
现在我们抛掷10枚这个硬币,结果显示,有2次出现正面,现在预测下这枚硬币出现正面的概率到底有多大呢?这就是一个似然问题,求解模型本身的一些属性。求解它需要假定误差分布满足高斯分布,然后求出似然函数,因为既然已经发生了,就直接求概率发生的最大值吧,既然求最值,自然就能求出出现正面的概率参数来了。
4.2 似然函数与概率
概率与似然的不同
概率用于在已知一些参数的情况下,预测接下来的观测所得到的结果。而似然性则是用于在已知某些观测所得到的结果时,对有关事物的性质的参数进行估计:似然是在知道输出结果(比如,对应1万个样本结果),求事物的性质的参数,如线性回归的中的权重参数。
五、离散型随机变量
5.1 概念
一堆苹果,数量一共有5个,有好的,有坏的,如果定义事件:从中取出一个苹果其好坏标签为
,那么
就是一个随机变量,且
的可能取值有两种:
,
。明显地,这个随机变量
取值是离散的,因为只有两种情况。并且,
,因为这个苹果要么是好的,要么是坏的。
然后,我们统计这5个苹果后,发现有2个是好果,3个是坏果,那么如果定义这种事件:从这5个苹果中任意取3个求取得的好苹果的个数
,那么这个随机变量
有什么特点呢? 它与上面定义的那个随机变量就不大一样了吧,此时,
仍然是离散型随机变量,但是它可能的取值为:取到0个好苹果,1个好苹果,2个好苹果,这三种取值可能吧。
接下来,分析下这个离散型随机变量
的分布律,由古典概率的方法得出:
其中, i = 0,1,2,可以得出:
可以看到三者的概率和为1,那么随机变量X的分布函数F(x)的图形显示如下:
这里顺便总结下离散型随机变量的分布函数:
分布函数:简单来说是对概率的定积分,是一个区间上的概率累加。
离散型分布函数:是离散变量的概率在有限个变量区间内的概率累加。
如上图所示,
,
,因为是离散的,直到
时,
才取到1.0。由此可见,离散型随机变量的分布函数呈现阶梯型增长规律。
六、连续性随机变量
6.1 概念
连续型随机变量,顾名思义,它的取值是连续的,而不是有限个,比如庆阳的苹果质量情况,表示为
,那么
等等这些值,并且越接近于1.0,这个苹果的质量越好。那么苹果质量情况
,在
时的概率是多大呢? 我们记为:
,在
时的概率呢?
,我们称:
为连续型随机变量X的概率密度,它刻画了
时的取值的可能性大小,而不是取值的概率。那么我们统计下
是多大呢?(质量情况不大于0.75的概率密度),此时我们将
,那么
呢?记为
。因此,归纳出一个公式为:
此处,质量情况不可能为负数,所以定积分的区间:
。称
为质量情况
的分布函数,可以看到分布函数是一个区间长度上概率密度的累计。
至于概率密度
和
的关系,一个是导数,一个是积分,
在
属于[负无穷,正无穷]是一定等于概率的总和:1。
在考察随机变量
的取值
的概率密度曲线:
,通过概率密度曲线,可以看出随机变量的取值与概率密度的关系。具体看参考如下所示的苹果质量情况
满足高斯分布时的曲线。
6.2 实际操作
例子
做出归纳假设:苹果质量情况 X 满足高斯分布。我们收集了20个苹果,每个苹果的质量情况现在出来报告了,如下所示:
data = np.array([ 0.79, 0.78, 0.8 , 0.79, 0.77, 0.81, 0.74, 0.85, 0.8 ,0.77, 0.81, 0.85, 0.85, 0.83, 0.83, 0.8 , 0.83, 0.71, 0.76, 0.8 ])
假定这20个苹果质量情况X符合高斯分布,则由一维高斯分布的概率密度公式:
可以看到,在我们已知了20个样本,也就是
,现在要反推高斯分布中的两个关键参数:均值和方差。
已知各个样本和假定模型后,去求解模型的参数,最常用的方法是最大似然估计。根据已有这20个样本和最大似然估计推导得出,均值和方差的公式如下:
有了这两个参数,就可得到每个
对应的概率密度
,这样根据20个样本,就可得到概率密度的分布图,具体如下所示:
"""
author:jjk
datetime:2019/5/2
coding:utf-8
project name:Pycharm_workstation
Program function:
"""
import numpy as np
import matplotlib.pyplot as plt
# 均值
def average(data):
return np.sum(data)/len(data)
# 标准差
def sigma(data,avg):
sigma_squ = np.sum(np.power((data-avg),2))/len(data)
return np.power(sigma_squ,0.5) # 数组元素求n次方
# 高斯概率分布-具体参考一维高斯分布的概率密度公式
def prob(data,avg,sig):
sqrt_2pi = np.power(2*np.pi,0.5)# 乘pi开根号
coef = 1/(sqrt_2pi*sig)
powcoef = -1/(2*np.power(sig,2))# sig表示分子
mypow = powcoef*(np.power((data-avg),2))# 数据减去均值
return coef*(np.exp(mypow)) # np.exp(mypow):e的次方那部分
# 样本数据
data = np.array([ 0.79, 0.78, 0.8 , 0.79, 0.77, 0.81, 0.74, 0.85, 0.8 ,
0.77, 0.81, 0.85, 0.85, 0.83, 0.83, 0.8 , 0.83, 0.71,
0.76, 0.8 ])
# 根据样本求高斯分布的平均数
ave = average(data)
# 根据样本求高斯分布的标准差
sig = sigma(data,ave)
# 获取数据
x = np.arange(0.5,1.0,0.01)
p = prob(x,ave,sig)
# 绘制
plt.plot(x,p)
plt.grid()
plt.xlabel('apple quality factor')
plt.ylabel('prob density')
plt.yticks(np.arange(0,12,1)) # y轴长度以及间隔
plt.title('Gaussian distribution')
plt.show()
几点说明:
- 可以看到苹果质量在平均数处,大约等于0.8时,取到概率密度的最大值,因为数据样本较少,所以0.5~0.7处概率密度很小。
- 苹果的质量集中在平均数附近区域
- 概率密度与x轴所围成的面积为1,等于概率的总和。
- p值,即概率密度的值不是一定小于1,它和概率的取值不一致,但是概率密度可以理解成概率,也就是说概率是概率密度量纲后的变量,具有相似的意义
五、最常用的求导公式
求导公式在机器学习的梯度下降中经常使用,因为梯度就意味着要求导,所以将使用频率最高的几个公式罗列在下面,方便查阅。
在求导这一块,在我们高等数学都学过了,都不难,不懂的直接百度查找:例如:高等数学-相关求导。