精华内容
下载资源
问答
  • MLEMAP关系详解

    2020-09-01 01:16:25
    MLE通俗的讲:在估计模型的参数θ时,我们的依据是百之百来自于观测数据的,也就是通过观测数据去预测参数θ,仅仅依赖于观测数据(样本) MAP通俗的将:在估计模型的参数θ时,我们的依据不只是手中的观测数据,...

    1.什么是MLE,什么是MAP

    MLE:最大似然估计
    MAP:最大后验估计
    MLE通俗的讲:在估计模型的参数θ时,我们的依据是百分之百来自于观测数据的,也就是通过观测数据去预测参数θ,仅仅依赖于观测数据(样本)
    MAP通俗的将:在估计模型的参数θ时,我们的依据不只是手中的观测数据,还要来自于一个先验。先验可理解为专家的经验
    举一个栗子:
    假设我们有一个不均匀的硬币,我们想要预测正面向上的概率(即参数θ),现在我们把这枚硬币抛了6次。用T代表正面,F代表反面,那么出现的观测值为 T, F, T, T, F, F

    • 根据这个结果,若用MLE的方法估计正面向上的概率是多少呢?
      因为MLE完全依赖于观测数据,正面向上出现了 3 次,所以 P(θ) = 3/ 6 = 1/2
    • 若用MAP来估计会怎样呢
      因为MAP方法会有一个先验,假设这里的先验是:专家告诉你这枚硬币正面出现的概率是 80%, 然而我们通过实验观察概率 只有 50%, 与先验有一定的差距,这个差距有可能是抛硬币的次数太少,所以我们还是听取专家的意见,取一个折中值 即 P(θ) = 50% ~ 80% 之间。
      而当我们抛了 100000 次硬币,通过实验观察到的概率是 70%,这时候由于样本很多,我们可以很自信的说 70% 就是最后模型参数的估计值,而不需要听取专家意见了
      这说明:随着数据量的增多,专家的经验的影响也就越弱了

    2.从数学角度定义MLE和MAP

    如图所示:MAP多出了 P(θ)先验, P(θ)这一项有特殊含义,当 P(θ)服从高斯分布时,那么相当于 MLE 加上了 L2正则项;当 P(θ)服从拉普拉斯分布时,那么相当于 MLE 加上了 L1正则项;

    在这里插入图片描述

    3.从高斯分布到L2正则

    我们以二分类的逻辑回归为例子
    先贴上二分类逻辑回归的公式
    在这里插入图片描述
    两个式子合并:
    在这里插入图片描述
    当 y = 1 时,显然是第一个式子,后面一项为1
    上面是针对一个样本的,我们写上所有样本。D 代表训练数据集,各个样本独立同分布,所以可以连乘
    在这里插入图片描述

    用MLE来求

    我们只考虑参数 w,而b 是一个实数,不影响后面分析过程,所以先不考虑
    在这里插入图片描述

    用MAP求

    在这里插入图片描述

    P(θ) ~ 高斯分布

    因为没有考虑 b, 所以 w = θ
    P(θ) 服从0 均值,σ^2 的高斯分布。pdf :概率密度函数
    在这里插入图片描述
    把P(θ) 代入到 MAP 公式中
    在这里插入图片描述
    最后可得
    在这里插入图片描述

    由于 σ 是我们自定义的参数
    在这里插入图片描述
    是常数
    在这里插入图片描述
    这就是一个L2正则项

    P(θ) ~ 拉普拉斯分布

    先上拉普拉斯的定义在这里插入图片描述在这里插入图片描述
    计算P(θ), 图中的 b 是公式中的 λ
    在这里插入图片描述
    代入到上面 MAP 公式中
    在这里插入图片描述
    最后是
    在这里插入图片描述
    因为我们是最大化,所以参数λ前面符合为 负号,若是最小化就是 加号
    上面是用了逻辑回归模型为例子,其实所有模型都可以这样做

    总结

    高斯先验 => L2正则
    拉普拉斯先验 => L1正则

    4. MAP 的解 趋于MLE的解

    当数据量非常非常多时,因为,可以观测下面的式子
    在这里插入图片描述
    当 n 趋于无穷时,第二项的和占了绝大部分,而 log p(θ) 的值就显得微不足道到了
    所以结论成立了

    展开全文
  • C语言的科学艺术.pdf

    热门讨论 2012-01-19 14:09:05
    《C语言的科学艺术》以介绍ANSI C主线,不仅涵盖C语言的基本知识,而且介绍了软件工程技术以及如何应用良好的程序设计风格进行开发等内容。《C语言的科学艺术》采用了库函数的方法,强调抽象的原则,详细阐述...
  •  几乎什么作为(挂定)一个值,一个表达式,例如:线程语句,流程语句,过程定义语句,类定义语句........  过程内的程序区内的变量默认可以访问外来变量,使代码可以随意用proc来包裹,例如lock  函数属于过程,...
  • 目录 介绍 朴素贝叶斯模型 参数估计 分类 结论与分析 ...访问实现机器学习的循序渐进指南系列汇总,获取本系列完成文章列表。...朴素贝叶斯是一种基于贝叶斯决策理论...那么另一个问题是为什么称它为“朴素”贝叶...

    目录

    介绍

    朴素贝叶斯模型

    参数估计

    分类

    结论与分析


    可访问 实现机器学习的循序渐进指南系列汇总,获取本系列完成文章列表。 

    介绍

    朴素贝叶斯是一种基于贝叶斯决策理论和特征条件独立性的分类,它基于训练集上的条件独立性作为检测模型来计算概率分布。对于给定的测试对象,后验概率的最大值的标签是测试对象的预测。最大化后验概率意味着最小化预期风险。那么另一个问题是为什么称它为朴素 ”贝叶斯?这是因为朴素贝叶斯遵循这样一个天真的假设:当标签被确定时所有分类特征都是独立的,由下式给出:

    其中j是第i个特征,c kk-th标签。然后,贝叶斯分类器可以定义为:

     

    那么为什么最大化后验概率意味着最小化预期风险呢?让损失是0-1损失函数

     

    其中f(x) 是决策函数。然后,预期的风险是

    这是从联合分布P(X,Y)计算的。因此条件期望是:

    为了最大限度地降低预期风险,需要将每个风险降至最低X = x,即:

    朴素贝叶斯模型

    朴素贝叶斯模型由参数估计和分类组成。

    参数估计

    在训练过程中,学习意味着估计先验概率和条件概率。最大似然估计MLE)是获得上述参数的一般方法。先验概率的MLE由下式给出:

     

    表示 j-th特征集是 a j1a j2...a jsi }。然后,条件概率的MLE由下式给出:

    在朴素贝叶斯训练过程中,计算先验概率和条件概率。但是,如果在训练集中从未发生过特征的值,则其概率等于零,这将影响后验概率的结果。为了解决这个问题,我们引入拉普拉斯平滑在每个随机变量的频率上加一个整数

    然后,先验概率的贝叶斯估计是:

     

    其中N是唯一标签的数量,K即样本数量。先验概率代码如下所示:

    prior_probability = {}
    for key in range(len(label_value)):
      prior_probability[label_value[key][0]] = 
        (label_value[key][1] + self.laplace) / (N + K * self.laplace)  # laplace smooth
    self.prior_probability = prior_probability

    其中label_value (label, label_num)元组。

    类似地,条件概率的贝叶斯估计是:

    条件概率的代码如下所示。应用矩阵来保存条件概率,并且 S[j]j-th特征的唯一标签的数量。

    # calculate the conditional probability
    prob = []
    # calculate the count (x = a & y = c)
    for j in range(feature_dim):
        count = np.zeros([S[j], len(label_count)])  # the range of label start with 1
        feature_temp = train_data[:, j]
        feature_value_temp = feature_value[j]
        for i in range(len(feature_temp)):
            for k in range(len(feature_value_temp)):
                for t in range(len(label_count)):
                    if feature_temp[i] == feature_value_temp[k]
                            and train_label[i] == label_value[t][0]:
                       count[k][t] += 1             # x = value and y = label
         # calculate the conditional probability
         for m in range(len(label_value)):
             count[:, m] = (count[:, m] + self.laplace) /
                     (label_value[m][1] + self.laplace*S[j])  # laplace smoothing
             # print(count)
        prob.append(count)
    self.conditional_probability = prob

    分类

    在计算先验概率和条件概率之后,贝叶斯分类模型是:

    分类代码如下所示。predict是一个包含每个标签概率的字典。然后我们只需要排序predict,预测是排序字典中的第一个元素。

    def classify(self, sample):
        predict = {}
        for m in range(len(self.label_value)):
            temp = self.prior_probability
              [self.label_value[m][0]]  # get the prior_probability of m-th label in label_value
            for n in range(len(sample)):
                if sample[n] in self.feature_value[n]:
                    # print(m, n)
                    index = np.where(self.feature_value[n] == sample[n])[0][0]
                    temp = temp * self.conditional_probability[n][index][m]
                else:
                    temp = self.laplace /
                         (self.S[n] * self.laplace)  # if the value of feature is
                                        # not in training set, return the laplace smoothing
            predict[self.label_value[m][0]] = temp
        return predict

    结论与分析

    贝叶斯模型是本文的Berniulli贝叶斯模型。除此之外,还有其他贝叶斯模型,如高斯贝叶斯模型,多项式贝叶斯模型。最后,让我们将我们的贝叶斯模型与Sklearn中的贝叶斯模型进行比较,检测性能如下所示:

    结果表明,这两种方法的检测效果都很差。此外,我们的贝叶斯模型需要更长的运行时间,这可能是条件概率的算法包含太多的循环。

    可以在MachineLearning找到本文中的相关代码和数据集。

    有兴趣的小伙伴可以查看上一篇或者下一篇

     

    原文地址:https://www.codeproject.com/Articles/4051340/Step-by-Step-Guide-To-Implement-Machine-Learning-3

    展开全文
  • 可为相关专业本科生及研究生提供思考方向,还可为深度学习及计算机视觉领域的初、中级研究人员工程技术人员提供参考,尤其适合需要查漏补缺的应聘者及提供相关岗位的面试官阅读。 作者简介 谈继勇 主编 南方...
  • 1.0.5 为什么大多数图像处理算法都参照灰度图像进行,而实际中遇到的都是彩色图像? 2 1.0.6 一幅数字图像是如何形成的? 2 1.0.7 如果一个传感器对应物理世界中的一个小片,如何能让多个传感器对应场景中的同一...
  • 这是什么?...Statsmodels是一个Python包,统计计算的scipy提供补充,包括描述性统计统计模型的估计和推断。 英文文档 最新的稳定版文档位于 https://www.statsmodels.org/stable/ 开发版文档位于 ...
  • 统计学方法与数据分析(上下册)

    热门讨论 2013-12-29 11:32:47
    1.2为什么学习统计 1.3当前统计的一些应用 1.4统计学家做什么 1.5质量工序改进 1.6学生注意 1.7小结 补充练习 第二部分收集数据 第二章利用调查科学研究来收集数据- 2.1引言 2.2调查 2.3科学研究 ...
  • 这导致惩罚(或等于约束估计的绝对值之)值使一些参数估计结果等于零。 使用惩罚值越大,进一步估计会使得缩小值趋近于零。 这将导致我们要从给定的n个变量中选择变量。 要点: • 除常数项以外...
  • 4.10 为什么必须保护 ORACLE_HOME 4.11 保护操作系统 4.12 如何保护回退段 4.13 分类划分数据 4.14 划分表空间的优先次序 4.15 如何配置高可用性的 TEMP 表空间 4.16 确保在归档日志目标位置有足够的 可用...
  • sql总结.doc

    2019-08-27 22:08:51
    如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则您仍需要更新程序集中的代码以添加参数、更新 GetValue() 调用,等等,这时候估计比较繁琐了。 2.移植性差 由于存储过程将应用...
  •  本书针对大多数日常的oracle database 11g数据库管理任务,全面覆盖dba行业知识,并将理论与实践相结合,旨在初中级dba提供高效运行数据库所需的方方面面的知识,帮助他们从oracle公司发行的大量资料中找到自己...
  • 《数据结构 1800题》

    热门讨论 2012-12-27 16:52:03
    16.设m.n均自然数,m表示一些不超过n的自然数之,f(m,n)这种表示方式的数目。例f(5,3)=5, 有 5种表示方式:3+2,3+1+1,2+2+1,2+1+1+1,1+1+1+1+1。 ①以下是该函数的程序段,请将未完成的部分填入,...
  • 在人体姿态估计、语义分割目标检测领域都取得了显著的性能提升。 Cityscapes Mean IoU=79.36% Fast-SCNN 一个面向实时的语义分割网络。在双分支的结构基础上,大量使用了深度分离卷积逆残差(inverted-...
  • 在人体姿态估计、语义分割目标检测领域都取得了显著的性能提升。 Cityscapes Mean IoU=79.36% Fast-SCNN 一个面向实时的语义分割网络。在双分支的结构基础上,大量使用了深度分离卷积逆残差(inverted-...
  • 决定需求量的参数可分为两种:运动参数(价格)转移参数(除价格外的所有影响需求量变化的因素)。假定所有转移参数的值不变,这样一来,就可以直接用需求曲线来表达运动参数(价格P)需求量之间的二维关系。 需求...
  • 分辨率不变的情况下,灰度级分别16、8、42 ROI图像选取 空间域图像处理——带通滤除周期噪声 标准差分别14.3、31.6、49.2 3.灰度变换与空间滤波 主要在空间域,针对像素进行操作。灰度变换主要对单个像素操作...
  • 操作系统精髓与设计原理答案

    热门讨论 2011-11-19 15:15:08
    这是为什么? 答案:如果一个处理器在尝试着读或者写存储器时被挂起, 通常除了一点轻微的时间损耗之外没有任何危害。但是,DMA可能从或者向设备(例如磁盘或磁带)以数据流的方式接收或者传输数据并且这是不能被打断的...

空空如也

空空如也

1 2 3
收藏数 58
精华内容 23
关键字:

参数估计可分为什么和什么