贝叶斯线性回归——推导及实现
来源:互联网 发布:疯狂美工京东关联促销 编辑:程序博客网 时间:2024/06/05 04:40
- 推导
- 算法
- 代码
理论推导
贝叶斯推断
贝叶斯定理:通过观察到的数据
显然,分母是一个归一化常数,用来确保右侧的后验概率分布是一个合理的概率密度。故有
贝叶斯线性回归
问题是这样的,不能够一次性接收到整个数据集,而是不断接收到小的数据集
第
为了确定模型参数向量
假设其先验分布
其中
模型参数的后验分布:
缺点:
1 参数先验分布的不同假设形式,可能会带来计算上的不便。
2 参数先验分布的假设有偏,对于小数据会有较大的影响。
解决方法:
1 参数的先验分布假设为数据分布假设的共轭先验
共轭先验:对于一个给定的概率分布
2 合理初始化,迭代求解
对于接收到的第1个数据集有:
这里根据极大似然估计得到的解
对于接收到的第
具体算法
输入:
输出:
初始化
while
代码
def BayesLR(path): la=10 mu=np.mat(np.zeros(3)).T gama=np.mat(np.eye(3)*la) for i in range(n): fileName = path + "%d.csv" % i x0,y0 = loadDataFromFile(fileName)#从文件中加载数据 X, y = data2Mat(x0,y0)#将数据转换成np.mat的格式 mu0 = mu gama0 = gama if i==1: gama = (X.T*X).I mu = gama*(X.T*y) else: gama = (X.T*X+gama0.I).I mu = gama*(X.T*y+gama0.I*mu0) return np.array(mu)
阅读全文
0 0
- 贝叶斯线性回归——推导及实现
- 多元线性回归推导 — Multi-Variable Linear Regression Derivation
- 线性回归---公式推导
- 简单线性回归及实现
- 线性回归模型推导过程及相关知识点
- 机器学习--- 一元线性回归数学推导以及Python实现
- 回归算法——python实现线性回归
- 吴恩达机器学习笔记——指数分布族&广义线性模型&逻辑回归概率模型推导
- 机器学习——线性回归中正规方程组的推导
- 一元线性回归分析及java实现
- 二元线性回归及java实现
- 线性回归总结及python实现
- 线性回归算法及用python实现
- 一元线性回归分析及java实现
- 线性回归简介及python代码实现
- Logistic回归代价函数的数学推导及实现
- 逻辑回归的数学推导及java代码实现
- 局部加权线性回归及岭回归之Python实现
- 【API】Unity5.6 Main Camera
- SpringMvc @InitBinder 表单多对象精准绑定接收
- js控制、获取复选框、下拉列表的信息
- Rightmost Digit
- java修饰符
- 贝叶斯线性回归——推导及实现
- CSS-书写方式
- for与foreach的使用场景
- Proxy代理模式
- lnmp 报500错误
- C++中vector容器简述
- 安卓当下最流行的吸顶效果的实现
- Junit测试
- Linux下如何使用minicom USB串口