机器学习的数学基础

本文的作用:

1 了解数学原理

2 用python进行可视化

3 通过计算验证数学原理

高斯分布(正太分布)

参考文章

常见分布的期望和方差推导_正态分布的期望和方差推导-优快云博客

高斯分布曲线

均值推导公式

方差推导公式

代码

import numpy as np
import matplotlib.pyplot as plt


# 定义高斯分布函数
def gaussian(x, mu, sig):
    return np.exp(-np.power(x - mu, 2) / (2 * np.power(sig, 2))) / (np.sqrt(2 * np.pi) * sig)


# 参数
mu, sig = 5.0, 2.0  # 均值和标准差
xmin = mu - 20
xmax = mu + 20
xnum = 200
dx = (xmax - xmin) / xnum
x = np.linspace(xmin, xmax, xnum)  # x轴的数据范围

# 计算高斯分布
gauss_dist = [gaussian(i, mu, sig) for i in x]
for i in range(xnum):
    print('x={},gauss_dist={}'.format(x[i], gauss_dist[i]))

# 绘图
plt.plot(x, gauss_dist, color='blue', label='Gaussian Distribution')
plt.title('Gaussian Distribution mu={} sigma={}'.format(mu, sig))
plt.xlabel('X')
plt.ylabel('Probability Density')
plt.legend()
plt.show()

mean = 0  # 计算均值
fx_sum = 0  # 计算密度函数的积分
deviation = 0  # 计算方差,这个方差其实和我们平常说的方差有些区别,因为它还要考虑概率分布
for i in range(200):
    # 这里采用的计算方法是,积分的近似计算,将积分划分为足够小的粒度,就可以采用计算"面积"的方式来近似计算积分
    mean += x[i] * gauss_dist[i] * dx
    fx_sum += gauss_dist[i] * dx
    deviation += np.power(x[i] - mu, 2) * gauss_dist[i] * dx
print('mean={},fx_sum={},deviation={},var={}'.format(mean, fx_sum, deviation, np.var(x)))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值