精华内容
下载资源
问答
  • 接上一篇《最小错误贝叶斯分类和matlab实现》,本文将介绍最小风险贝叶斯分类以及它与最小错误...最小错误贝叶斯分类以最小化分类错误(或最大化后验概率)为目标来判定样本对应的类别的,使用贝叶斯公式...

    接上一篇《最小错误率贝叶斯分类和matlab实现》,本文将介绍最小风险贝叶斯分类以及它与最小错误率贝叶斯分类的关系。

    1、最小风险贝叶斯分类

    比较熟悉机器学习或深度学习的同学可能对“损失”这个词更熟悉,其实在这里“风险”就是“损失”的意思。

    为什么要有最小风险和最小错误率这两种方法呢?

    最小错误率贝叶斯分类是以最小化分类错误率(或最大化后验概率)为目标来判定样本对应的类别的,使用贝叶斯公式计算得到样本一系列的后验概率,我们取最大的那个概率所对应的类别为最终的类别。

    最小风险的思想是,当样本的真值和决策觉果不一致会带来损失时,这种损失的信息往往更关键,因此在某些情况下,引入风险的概念以求风险最小的决策更合理。因此这一方法的重点就在于构建损失函数。

    设现在有m个模式:

    a种决策:

    设一个样本真类别为wj却做了决策αi时的损失函数为:

    列出贝叶斯决策表:

    当引入“损失”的概念后考虑错判所造成的损失时,不能只根据后验概率的大小做决策了,而必须考虑所采取的决策是否为损失最小

    因此当样本x如果采取决策αi(i=1,2,...,a),它可能的真类别可能有m个,若取wj,其对应的条件概率密度函数为,那么样本x在采取决策αi下的条件期望损失为:

    假设现在是两类问题,我们来手动计算一下样本x采取每种决策时的条件期望损失:

    ,则选决策α2,这代表决策α2的风险比决策α1的更小,反之则选择决策α1

    我们可以看到条件期望损失里面需要计算的,一个是损失函数值,一个是后验概率值,后者可以使用贝叶斯公式计算得到,前者需要另外定义。

    2、最小风险贝叶斯和最小错误率贝叶斯的联系

    前面提到最小风险贝叶斯的关键在于构建损失函数

    当损失函数为下面这个样子时:

    式中,假设对于m类只有m个决策,对于正确的决策即i=j时损失为0,错误的决策损失为1。这样的损失函数为0-1损失函数。

    此时条件风险为:

    式中,表示对x采取决策αi的条件错误概率

    当我们要最小化条件风险时,其实就是要最小化条件错误概率

    由此可见最小错误率贝叶斯分类就是在采用0-1损失函数时的最小风险贝叶斯分类

    3、matlab实现

    clear;
    clc;
    %% 加载样本dataset,包含训练数据和测试数据,数据shape为[样本数,特征维数] %%
    load('dataset.mat');
    train_data = [A_train;B_train;C_train;D_train];
    test_data = [A_test;B_test;C_test;D_test];
    N1_train = size(A_train, 1); N2_train = size(B_train, 1); N3_train = size(C_train, 1); N4_train = size(D_train, 1); % 各个类别的训练样本数
    N_train = N1_train + N2_train + N3_train + N4_train; % 训练样本总数
    N1_test = size(A_test, 1); N2_test = size(B_test, 1); N3_test = size(C_test, 1); N4_test = size(D_test, 1); % 各个类别的测试样本的数量
    N_test = N1_test + N2_test + N3_test + N4_test; % 测试样本总数
    w = 4; % 类别数
    n = 3; % 特征数
    
    %% 初始样本数据计算 %%
    % 求样本均值
    X1 = mean(A_train)'; X2 = mean(B_train)'; X3 = mean(C_train)'; X4 = mean(D_train)';
    % 求样本协方差矩阵
    S1 = cov(A_train); S2 = cov(B_train); S3 = cov(C_train); S4 = cov(D_train); 
    % 求协方差矩阵的逆矩阵
    S1_ = inv(S1); S2_ = inv(S2); S3_ = inv(S3); S4_ = inv(S4); 
    % 求协方差矩阵的行列式
    S11 = det(S1); S22 = det(S2); S33 = det(S3); S44 = det(S4); 
    % 先验概率
    Pw1 = N1_train/N_train; Pw2 = N2_train/N_train; Pw3 = N3_train/N_train; Pw4 = N4_train/N_train; 
    %% 定义损失函数 %%
    loss = ones(4) - diag(diag(ones(4))); % 0-1损失函数;一个4*4矩阵,除了对角线元素为0,其他全为1
    %% 计算测试样本的后验概率 %%
    for k = 1 : N_test
        P1 = -1/2*(test_data(k,:)'-X1)'*S1_*(test_data(k,:)'-X1)-1/2*log(S11)+log(Pw1);
        P2 = -1/2*(test_data(k,:)'-X2)'*S2_*(test_data(k,:)'-X2)-1/2*log(S22)+log(Pw2);
        P3 = -1/2*(test_data(k,:)'-X3)'*S3_*(test_data(k,:)'-X3)-1/2*log(S33)+log(Pw3);
        P4 = -1/2*(test_data(k,:)'-X4)'*S4_*(test_data(k,:)'-X4)-1/2*log(S44)+log(Pw4);
        % 计算分别采取不同决策所带来的风险
        risk1 = loss(1,1)*P1 + loss(1,2)*P2 + loss(1,3)*P3 + loss(1,4)*P4;
        risk2 = loss(2,1)*P1 + loss(2,2)*P2 + loss(2,3)*P3 + loss(2,4)*P4;
        risk3 = loss(3,1)*P1 + loss(3,2)*P2 + loss(3,3)*P3 + loss(3,4)*P4;
        risk4 = loss(4,1)*P1 + loss(4,2)*P2 + loss(4,3)*P3 + loss(4,4)*P4;
        risk = [risk1 risk2 risk3 risk4];
        min_risk = min(risk); % 找出最小风险值
        if min_risk == risk1
            w = 1;
            plot3(test_data(k,1), test_data(k,2), test_data(k,3),'ro');
            grid on;hold on;
        elseif min_risk == risk2
            w = 2;
            plot3(test_data(k,1), test_data(k,2), test_data(k,3),'b>');
            grid on;hold on;
        elseif min_risk == risk3
            w = 3;
            plot3(test_data(k,1), test_data(k,2), test_data(k,3),'g+');
            grid on;hold on;
        elseif min_risk == risk4
            w = 4;
            plot3(test_data(k,1), test_data(k,2), test_data(k,3),'y*');
            grid on;hold on;
        else
            return
        end
    end
        

    运行结果:

    由于使用的是0-1损失函数,相当于最小错误率贝叶斯分类,可以看到运行结果和前一篇的最小错误率贝叶斯分类的结果是一样的。

    展开全文
  • 对完答案发现,正确的做这题的思路是:先看空的前后文,再判断空里要填的词性是什么,再来根据词和文章的意思来选词。然后是选择对应的段落,我认为这题是比较简单的,对了七题,这题和四级不一样,四级是看到一样的...

    试卷:2020年7月第一套
    估分:320分

    总结:在之间也有练过六级题型,六级所考的词汇量比四级难得多。在这套试卷里,首先是听力,对完答案后正确率很低,安全听不懂,技巧还只能是听到什么选什么。其次选词填空,明显感到自己的认识的词汇量少,只对了1个。对完答案发现,正确的做这题的思路是:先看空的前后文,再判断空里要填的词性是什么,再来根据词和文章的意思来选词。然后是选择对应的段落,我认为这题是比较简单的,对了七题,这题和四级不一样,四级是看到一样的单词就可以选段落,而六级考查的词意的转换比四级的难度会大一点。后面是阅读理解,正确率也很低。主要考察的有,观点态度题、细节辨认题、推理判断题,也还是要理解题意与原文。 最后在作文和翻译上,我不太擅长,只能多看点押题试卷,多背点作文和句子。

    展开全文
  • 智能小程序为开发者提供对接百度搜索生态的能力——看起来很高深,不太理解什么意思是不?其实简单点来说就是提高了您开发的小程序的出镜。所谓的流量接入,其实当用户在百度 App(10.9.5或以上版本)中搜索对应的...
    智能小程序为开发者提供对接百度搜索生态的能力——看起来很高深,不太理解什么意思是不?其实简单点来说就是提高了您开发的小程序的出镜率。

    所谓的流量接入,其实当用户在百度 App(10.9.5或以上版本)中搜索对应的智能小程序的相关内容时,小程序的相关页面会通过检索,出现在搜索结果页中。开发者只需要进行简单的配置工作,就可以使自己开发的智能小程序被百度搜索收录、分发。

    目前智能小程序在百度搜索生态中进行分发有自然结果和阿拉丁特型卡片两种形式。

    ——今天我们详细为你介绍的就是如何接入自然结果

    自然结果

    emmm 我们先来看一下自然结果是这样的⬇️


    1. 在百度搜索结果页中,当智能小程序某页面被正常检索到,其展现形式和普通网页相同,用户在百度App(10.9.5或以上版本)点击该条搜索结果,即可打开智能小程序。

    2. 如在百度App搜索框中输入“南开大学 贴吧”,在召回的自然结果中,点击百度贴吧相关的搜索结果,即可打开百度贴吧智能小程序,并进入“南开大学吧”主页。

    介绍完自然搜索是什么之后,我们来看一下,要如何操作才能接入自然搜索呢?

    接入自然结果

    您需要依次进行配置代理域名、配置url映射规则、申请并绑定熊掌号、提交sitemap的操作,即可完成智能小程序对接自然结果的配置。

    第一步:配置代理域名

    这步操作需要在智能小程序平台进行,进入小程序首页,单击“设置>开发设置”。找到“代理域名设置”中,单击“去开启”按钮,在弹出的对话框中,依次配置“小程序域名”和“H5域名”就可以啦。


    在完成上述操作后,开发者工具上方的操作区域中会增加“web预览”的按钮,此时智能小程序已经开启了“web化”的配置开关,开发者工具会对智能小程序的web化编译进行特殊处理。

    第二步:配置url影射规则

    首先在 app.json 中增加 url-mapping 字段,配置智能小程序与其对应的H5页面的 url 的映射规则。供搜索引擎在自然结果中将H5站url进行匹配和替换。

    {
    
          "pages": [
    
              "path/to/smartapp/page1/page1",
    
              "path/to/smartapp/page2/page2",
    
              "path/to/smartapp/page3/page3"
    
          ],
    
          "url-mapping": {
    
              "path/to/smartapp/page1/page1":"/path/to/h5/page1?query1=${appquery1}&query2=${appquery2}",
    
              "path/to/smartapp/page2/page2":"/path/to/h5/page2?query3=${appquery3}&query4=${appquery4}",
    
              "path/to/smartapp/page3/page3":"/path/to/h5/page3?query5=${appquery5}&query6=${appquery6}"
    
          }
    
      }复制代码

    这里要说明的是:url-mapping 字段为 Object,在pages 中配置的每一个页面的 url 作为 key,每一个小程序页面对应的 H5 页面作为 value; 每一对”key-value”作为一个完整的url映射; url 映射规则通过字符串模板的方式进行定义,模板变量的界定符是${}。需要将 Web 版智能小程序 url 中的 query 部分,和字符串模板进行编译,生成正式的 url 实例;url 映射规则不包含 host 部分,具体的 host 需要开发者访问智能小程序B端后台进行单独配置。

    举个?:以百度贴吧智能小程序为例,在app.json中配置url-mapping字段如下:

    {
    
          "pages": {
    
              "pages/index/index",
    
              "pages/pb/pb",
    
              "pages/frs/frs"
    
          }
    
          "url-mapping": {
    
              "pages/index/index":"/",
    
              "pages/pb/pb":"/p/${tid}",
    
              "pages/frs/frs": "/?kw=${kw}"
    
          }
    
      }复制代码


    接下来就可以在开发者工具中重新提包

    因为在“配置代理域名”中已经开启web化的开关,开发者工具会在编译和上传流程中加入对智能小程序web化的特殊处理。建议在正式提包之前,通过开发者工具“web预览”的功能,进行web化效果的确认。

    url映射规则不仅可以在app.json中进行配置,同样也可以在智能小程序平台中进行配置。 详情参见:https://smartprogram.baidu.com/docs/develop/flow/rank/

    通过开发者工具上传url映射规则的配置,则会产出一个智能小程序web化的“内部域名”,该内部域名的格式为https://${appkey}.smartapps.cn,该域名不应该对外直接提供访问,需要通过上文提到的“小程序域名”反向代理到该“内部域名”。

    完成上述操作后“小程序域名”将展示出web化智能小程序的页面。通过查看源代码可以发现,配置url映射规则的目的是在web化的智能小程序页面头部插入“canonical标签”一对一指向对应H5页面,该标签的数据会被爬虫抓取并建立智能小程序和H5站页面的对应关系。

    第三步:申请并绑定熊帐号

    智能小程序被百度搜索分发,必须要绑定熊掌号。如果还未申请熊掌号,请移步熊掌号首页申请帐号。请确保和熊掌号关联的百度帐号和登录智能小程序平台的百度帐号相同。

    开发者需要将熊掌号ID和智能小程序的appkey邮件发送至 jiangfeiyu@baidu.com

    第四步:提交sitemap

    开发者需要线下准备好web化的智能小程序sitemap,用来通知搜索引擎识别可被收录的web化智能小程序页面。进入智能小程序平台,单击进入小程序首页,单击“投放管理>自然搜索管理”。上传sitemap,可以在当前页面中下载sitemap的说明文档。目前支持存量上传和增量上传两种方式。

    其中存量上传并非实时生效,切更新耗时较长;增量上传数据更新耗时低,日均限额提交500个。


    完成上述操作之后,您的智能小程序就接入自然结果,成功提高出镜率咯~



    展开全文
  • 1.11 extern在函数声明中是什么意思? 1.12 关键字auto到底有什么用途? 类型定义(typedef) 1.13 对于用户定义类型,typedef和#define有什么区别? 1.14 我似乎不能成功定义一个链表。我试过typedefstruct{char*...
  • 问题4-4:在文献中有时会见到对等连网(peer-to-peer networking),这是什么意思? 问题4-5:在一个互联网中,能否使用一个很大的交换机(switch)来代替互联网中很多的路由器? 问题4-6:为什么IP地址又称为“虚拟...
  • 问题6-4:在文献中有时会见到对等连网(peer-to-peer networking),这是什么意思? 问题6-5:在一个互连网中,能否使用一个很大的交换机(switch)来代替互连网中很多的路由器? 问题6-6:为什么IP地址又称为“虚拟...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    3.20 “semantics of‘’change in ANSI C”的警告是什么意思? 42 3.21 “无符号保护”和“值保护”规则的区别在哪里? 42 第4章 指针 45 基本的指针应用 45 4.1 指针到底有什么好处? 45 4.2 我想声明...
  • 3.20 “semantics of‘’change in ANSI C”的警告是什么意思? 42 3.21 “无符号保护”和“值保护”规则的区别在哪里? 42 第4章 指针 45 基本的指针应用 45 4.1 指针到底有什么好处? 45 4.2 我想声明...
  • o 2.4 extern 在函数声明中是什么意思? o 2.5 关键字 auto 到底有什么用途? o 2.6 我似乎不能成功定义一个链表。我试过 typedef struct { char *item; NODEPTR next; } *NODEPTR; 但是编译器报了错误信息。难道...
  • 最新Java面试宝典pdf版

    热门讨论 2011-08-31 11:29:22
    18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 125 19、Jdo是什么? 125 20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、...
  • Java面试宝典2010版

    2011-06-27 09:48:27
    18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 19、Jdo是什么? 20、什么是spring的IOC AOP 21、STRUTS的工作流程! 22、spring 与EJB...
  • 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 125 19、Jdo是什么? 125 20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、...
  • 测试培训教材

    2014-04-01 12:10:48
    度量的标准和依据是什么呢?软件测试的度量是测试管理必须仔细思考的问题。缺乏尺度会让测试失去平衡,缺乏标准会让测试工作难以衡量。 2、如何搭建测试管理平台? 首要问题是流程的规范化。 (1) 测试进入和退出...
  • 你必须知道的495个C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    1.4 extern 在函数声明中是什么意思? . . . . . . . . . . . . . . . . . 2 1.5 关键字auto 到底有什么用途? . . . . . . . . . . . . . . . . . . . 2 1.6 我似乎不能成功定义一个链表。我试过typedef struct f ...
  • 27、GC是什么? 为什么要有GC?  GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象...
  • JAVA面试题最全集

    2010-03-13 13:09:10
    87.UNIX中QT是什么意思? 88.在软件开发生命周期中的哪个阶段开始测试? 89.dotnet与J2EE的比较? 90.什么是ActiveX? 91.Java中IDL是什么? 92.ISO9000和CMM是什么?IS09000和CMM(软件能力成熟度模型)认证是国际上...
  • 软件都由 GNU倡导发展起来的,所以软件通常都会在附着 GNU Public License(GPL) 的情况下被自由传播。GPL 一种可以使你免费获得自由软件的许可证,因此 Linux 使用 者的使用活动基本不受限制(只要你不将它...
  • 那么这些测试代码分别意思呢? 这里首先引入了断言库Should.js,然后引入了自己的代码,这里<code>it()函数定义了一个测试用例,通过Should.js提供的api,可以非常语义化的描述...
  • java 面试题 总结

    2009-09-16 08:45:34
    24、GC是什么? 为什么要有GC?  GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象...
  • Phoenix-award workstation BIOS V6.00PC,An Energy star Ally copyright(c) 1984-2003,Phoenix Technologies,LTD 这句英语的意思是:Phoenix-award这两家COMS芯片开发公司合并后共同开发第6号BIOS版本,采用美国...
  • 对这样设计出来的数据库,只需多问几个为什么——业务模型如何体现的?数据完整性如何保证?性能如何权衡的?——恐怕设计者就该崩溃了。.  这也难怪,设计、开发人员在学校中学习数据库时,理论书籍离实际...
  • 对某交换类进行计费测试,字冠011对应1号路由、1号子路由,有4个中继群11,12,13,14(都属于1#模块),前后两个群分别构成自环。其中11,13群向为出中继,12,14群向为入中继,对这四个群分别进行计费设置,对出入中继都...
  • LINGO软件的学习

    2009-08-08 22:36:50
    在一个模型中,原始集基本的对象,不能再被拆分成更小的组。原始集可以由显式罗列和隐式罗列两种方式来定义。当用显式罗列方式时,需在集成员列表中逐个输入每个成员。当用隐式罗列方式时,只需在集成员列表中...
  • excel的使用

    2012-11-25 17:06:01
    再比如,公式: =if(SUM(A1:A5>0,SUM(A1:A5),0) 此式就利用了嵌套函数,意思是,当A1至A5的和大于0时,返回这个值,如果小于0,那么就返回0。 还有一点要提醒你注意:以上的符号均为半角,而且IF与括号之间...
  • Java 面试宝典

    2013-02-01 10:02:08
    21、写 clone()方法时,通常都有一行代码,是什么? ............................................. 16 22、面向对象的特征有哪些方面 ...........................................................................

空空如也

空空如也

1 2
收藏数 27
精华内容 10
关键字:

对应分率是什么意思