文章目录
概率论与贝叶斯先验
概率论基础
统计数字的概率
给定某正整数N,统计从1到N!的所有数中,首位数字出现1的概率。
进而,可以计算首位数字是2的概率,是3的概率,从而得到一条“九点分布”
问题代码
def first_digital(x):
while x>=10:
x/=10
return x
if _name_=="_main_":
n=1
frequency=[0]*9//造一个数据
for i in range(1,1000):
n*=i
m=first_digital(n)-1
frequency[m]+=1
print frequency
plt.plot(frequency,'r-',linewidth=2)
plt.plot(frequency,'go',makersize=8)
plt.grid(True)
plt.show
图像
本福特定律
应用:公路堵车模型
路面上有N辆车,以不同速度向前行驶,模拟堵车问题。有以下假设:
- 假设某辆车当前速度是v
- 若前方可见范围没车,则它下一秒车速提升至v+1,直到达到最高的规定速度。
- 若前方有车,前方车的距离为d,且d<v,则它下一秒车速降至d-1
- 每辆车会议随机概率减速v-1
代码模型
path=5000 #环形公路长度
n=100 #公路中的车辆数目
v0=5 #车辆初始速度
p=0.3 #随机减速概率
Times=3000
np.random.send(0)
x=xp.random.rand(n)*path
x.sort()
v=np.title([v0],n).astype(np.float)
plt.figure(figize=(10,8),facecolor
for t in range(Times):
plt.scatter(x,[t])*n,s=1,c='k',
for i in range(n):
if x[(i+1)%n]>x[i]:
d=x[(i+1)%n]-x[i]
else:
d=path-x[i]+x[(i+1)
if v[i]<d:
if np.random.rand()>p:
v[i]+=1
else:
v[i]-=1
else:
v[i]=d-1
v=v.clip(0,150)
x+=v
clip(x,path)
plt.xlim(0,path)
plt.ylim(0,path)
plt.xlabel(u'车辆位置',fontsize=16)
plt.ylabel(u'模拟时间',fontsize=16)
plt.title(u'环形公路车辆模拟',fontsize=16)
plt.tight_layout(pad=2)
plt.show()
其中c,python随机是伪随机
初速不同:影响不大
减速概率:影响大
应用:商品推荐
- 商品推荐场景中过于聚焦的商品推荐往往会损害用户的购物体验,在有些场景中,系统会通过一定程度的随机性给用户带来发现的惊喜感
- 假设某推荐场景中,经计算A和B两个商品与当前访问用户匹配度分别为0.8分和0.2分,系统将随机为A生成一个均匀分布于0和0.8的最终评分,为B生成一个均匀分布于0和0.2最终评分,并计算最终B分数大于A分数概率
解答
A=B直线上方区域即为B>A情况
概率公式
条件概率
全概率公式
贝叶斯公式
应用
样本贝叶斯公式
分布
两点分布
二项分布
泊松分布
推导
期望和方差
期望和方差表示强度应用
均匀分布
指数分布
分部积分法 中间减
无记忆性
半记忆性
马尔可夫模型
正态分布
EX
DX
代码
import...
mp1.rcParams['axes.unicode_minus']=False
mp1.rcParams['font.sans-serif']='SimMEI'
if __name__='__main__':
x1,x2=np.mgrid[-5:-5:51j,-5:-5:51j]
x=np.stack((x1,x2),axis=2)
plt.figure(figsize=(9,8),facecolar='w')
sigma=(np.identity(2),np.diag((3,3)),np.diag((2,5)),np.array(((2,1),(2,5)))
for i in np.arrange(4):
ax=plt.subplot(2,2,i+1,projection='3d')
norm=states.multivariate_normal((0,0),sigma[i])
y=norm.pdf(x)
ax.plot_surface(x1,x2,y,cmap=cm.Accent,rstride=4,cstride=4,alpha=0.9,lw=0.3)
ax.set_xlabel(u'X')
ax.set_ylabel(u'Y')
ax.set_zlabel(u'Z')
plt.suptitle(u'二元高斯分布方差比较',fontsize=18)
plt.tight_layout(1.5)
plt.show()
图像
方差大,半轴长
斜的
Beta分布
推导过程
期望
图像
指数族
指数族分布:一个峰可能是指数族:高斯分布
多个峰一定不是指数族分布
伯努利分布应用
推导参数Logistic方程
参数Logistic方程
作用:分类需要假定模型
得到似然函数
事件独立性
给定A和B事件,若有P(AB)=P(A)P(B) 则称事件A和B相互独立
说明
A和B独立,则P(A|B)=P(A)
实践中往往根据两个事件是否互相影响而判断独立性,如给定M个样品,若干次采样等情形,往往假设他们相互独立
思考:给出A,B相互包容的信息量的定义I(A,B)要求:如果A,B独立,则I(A,B)=0
统计量
期望
离散型
连续型
概率加权下“平均值”
性质
无条件成立
E(kX)=kE(X)
E(X+Y)=E(x)+E(Y)
若X和Y相互独立
E(XY)=E(X)E(Y)
反之不成立。事实上,若E(XY)=E(X)E(Y),只能说明X和Y不相关
应用
从1,2,3……98,99,2015这100个数中任意选择若干个数(可能为0个数)求异或,是求异或期望值
答案
首先我们来分析 2015这个值,
在1,2,3,…,98,99这99个数中任意选择若干个数的选法一共有种,
而在1,2,3,…,98,99,2015这100个数中任意选择若干个数的选法一共有
种,
因此在全部的选法中,出现2015的概率为(2100-299)/2^100=0.5
分析1~99 和2015这些数的特点
(2015) = 111 1101 1111
(99) = 000 0110 0011
我们发现:前4位取0或1,完全是由2015这个数决定的。
因此,设,每一位的取值用Xi表示
前4位 中每一位 P(Xi = 1)= P(出现2015)= 1/2
分析除前四位的其他位
设第 i 位共有n个1,m个0
采样取到1的个数为K
因为,一列数据求异或时,0其实不起作用的,主要还是看1的个数,偶数个1 异或记过为0,基数个1 异或为结果为1.
代码
进一步思考
应用2
方差
性质
应用
切尔雪夫不等式
应用
协方差
独立,协方差为0
协方差为0,不相关, 不一定独立,线性独立
意义
协方差是两个随机变量具有相同方向变化趋势的度量
若Cov(X,Y)>0,他们变化趋势相同
若Cov(X,Y)<0,他们变化趋势相反
若Cov(X,Y)=0,称x和y不相关
协方差上界
上界证明
协方差矩阵
相关系数为0不相关
代码
def calc_pearson(x,y):
std1=np.std(x)
std2=np.std(x)
cov=np.cov(x,y,bias=True)[0,1]
return cov/(std1*std2)
def pearson(x,y,tip):
clrs=list('rgbmyc')
plt.figure(figsize=(10,8),facecolor='w')
for i,theta in enumerate(np.linspace(0,90,6)):
xr,yr=rotate(x,y,theta)
p=states.pearson(xr,yr)[0]
print'旋转角度:',theta,'Pearson相关系数:',p
str=u'相关系数:%.3f'%p
plt.scatter(xr,yr,s=40,alpha=0.9,lineswidth=0.5,c=clr)
plt.legend(loc='upper left',shadow=True)
plt.xlabel(u'x')
plt.ylabel(u'y')
plt.title(u'Pearson相关系数与数据分布:%s'% tip,fontsize=18)
plt.grid(b=True)
plt.show()
一次
tip=u'一次函数关系'
x=np.random.rand(N)
y=np.zero(N)+np.random.randn(N)*0.001
二次
tip=u'二次函数关系'
x=np.random.rand(N)
y=x**2
正切
tip=u'正切关系'
x=np.random.rand(N)*1.4
y=np.tan(x)
二次函数
tip=u'二次函数关系'
x=np.linspace(-1,1,101)
y=x**2
椭圆
tip=u'椭圆'
x,y=np.random.rand(2,N)*60-30
y/=5
idx=(x**2/900+y**2/36<1)
x=x[idx]
y=y[idx]
大数定律
意义
推论
一次实验中事件A发生概率为p;重复n次独立实验中
事件A发生了nA次,则p,n,nA关系满足
引用
上述事件为我们实际应用中用频率来估计概率提供一个理论依据
正态分布的参数估计
朴素贝叶斯做垃圾邮件分类
隐性马尔可夫模型做有监督学习
中心极限定理
意义
实际问题中,很多随机现象可以看作许多因素的独立影响 综合反应,很多近似服从正态分布
城市耗电量:大量用户的耗电量综合
测量误差:许多观察不到微小的变化
注意:多个随机变量的和才可以,有些问题乘性误差,则需要鉴别或者取对数后才可以使用
线性回归中,使用该理论论证最小二乘法
应用