精华内容
下载资源
问答
  • 高斯混合模型一种常见的聚类算法,与K均值聚类算法类似,同样使用了EM算法进行迭代计算。高斯混合模型假设每个簇的数据都符合高斯分布(又叫正太分布)的,当前数据呈现的分布就是各个簇的高斯分布的叠加在一起...

    高斯混合模型也是一种常见的聚类算法,与K均值聚类算法类似,同样使用了EM算法进行迭代计算。高斯混合模型假设每个簇的数据都符合高斯分布(又叫正太分布)的,当前数据呈现的分布就是各个簇的高斯分布的叠加在一起的结果。

    高斯分布模型即用多个高斯分布函数的线性组合来对数据分布进行拟合。理论上高斯混合模型可以拟合出任意类型的分布。

    说起高斯分布,大家都不陌生,通常身高,分数等都大致符合高斯分布。因此,当我们研究各类数据时,假设同一类的数据符合高斯分布,也是很简单自然的假设;当数据事实上有多个类,或者我们希望将数据划分为一些簇时,可以假设不同簇中的样本各自服从不同的高斯分布,由此得到的聚类算法称为高斯混合模型。

    高斯混合模型的核心思想是,假设数据可以看作从多个高斯分布中生成出来的,在该假设下,每个单独的分模型都是标准高斯模型,其均值u和方差e是待估计得参数。此外每个分模型都还有一个参数P,可以理解为权重或生成数据的概率。

    高斯混合模型是一个生成式模型。可以这样理解数据的生成过程,假设一个最简单的情况,即只有两个一维标准高斯分布模型N(0,1)和N(5,1),其权重分别为0.7 和0.3..那么在生成第一个数据点时,先按照权重的比例,随即选择一个分布,比如选择第一个高斯分布,,接着从N(0,1)中生成一个点,如-0.5,便是第一个数据点。在生成第二个数据点时,随机选择到第二个高斯分布N(5,1),生成第二个点4.7 ,如此循环执行,便生成出所有数据点。

    然而,通常我们并不能直接得出高斯混合模型的参数,,而是观察到一系列数据点,给出一个类别的数量K后,希望求得最佳的K个高斯分布模型。因此,高斯混合模型的计算,便成了最佳均值u,方差e,权重派的寻找,这类问题通常通过最大似然估计来求解。遗憾的是,此问题中直接使用最大似然估计,得到的是一个复杂的非凸函数,目标函数时和的对数,难以展开和对其求偏导。

    在这种情况下,可以利用上一届介绍过的EM算法框架来求解该优化问题,。EM算法在最大化目标函数时,先固定一个变量使得整体函数变为凸优化函数,,求导得到最值然后利用最优参数更新被固定的变量。。进入下一个循环。具体到高斯混合模型的求解。EM算法的迭代过程如下。

    首先,初始随机选择各参数的值。然后重复下述两步,,直到收敛。

    1。E步骤。根据当前的参数,,计算每个点由某个分模型生成的概率。

    2。M步骤。使用E步骤估计出的概率,,来改进每个分模型的均值,方差和权重。

    也就是说,我们并不知道最佳的K个高斯分布的各自的3个参数,也不知道每个数据点究竟是哪个高斯分布生成的。所以每次循环时,先固定当前的高斯分布不变,,获得每个数据点和生产概率,获得一个组更佳的高斯分布。循环往复,直到参数不再变化,或者变化非常小时,便得到了一个比较合理的一组高斯分布。

    高斯混合模型与K均值算法的相同点是,他们都是可用于聚类的算法;都需要指定K值;都是使用EM算法来求解;都往往只能收敛于局部最优。。 而他相比于K均值算法的优点是,可以给出一个样本属于某类的概率是多少;不仅仅可以用于聚类,还可以用于概率密度的估计,并且恶意用于生成新的样本点。

     

    展开全文
  • 螺旋模型是什么

    2019-12-13 12:24:57
    螺旋模型的基本思想:使用原型及其他方法来尽量降低风险。 简单理解这种模型: 把它看作在每个阶段之前都增加了风险分析过程的快速原型模型。 螺旋模型的优点: ①对可选方案和约束条件的强调有利于已有软件的重用...

    螺旋模型的基本思想:使用原型及其他方法来尽量降低风险。
    简单理解这种模型:
    把它看作在每个阶段之前都增加了风险分析过程的快速原型模型。
    在这里插入图片描述
    在这里插入图片描述
    螺旋模型的优点:
    ①对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一重要目标。
    ②减少了过多测试(浪费资金)或测试不足(产品故障多)所带来的风险。
    ③在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别。
    这是它的优势,也可能是它的一个弱点除非软件开发人员具有丰富的风险评估经验和这方面的专门知识,否则将出现真正的风险:当项目实际上正在走向灾难时,开发人员可能还认为一切正常。

    展开全文
  • 什么是模型预测控制

    2019-03-03 11:22:34
    模型预测控制(MPC)一类特殊的控制。它的当前控制动作在每一个采样瞬间通过求解一个有限时域开环最优控制问题而获得。过程的当前状态作为最优控制问题的初始...它的思想与具体的模型无关,但是实现则与模型有关。
  • 想象我们在制作一个策略类战争游戏,玩家可以...一、荒蛮时代:对象数据的集合 我们只需要这样就可以制造一个士兵: var 士兵 = { ID: 1, // 用于区分每个士兵 兵种:"美国大兵", 攻击力:5, 生命值:42, ...

    想象我们在制作一个策略类战争游戏,玩家可以操作一堆士兵攻击敌方。

    我们着重来研究一下这个游戏里面的「制造士兵」环节。

    一个士兵的在计算机里就是一堆属性,如下图:

     

    一、荒蛮时代:对象是数据的集合

     我们只需要这样就可以制造一个士兵:

    var 士兵 = {

      ID: 1, // 用于区分每个士兵

      兵种:"美国大兵",

      攻击力:5,

      生命值:42, 

      行走:function(){ /*走俩步的代码*/},

      奔跑:function(){ /*狂奔的代码*/  },

      死亡:function(){ /*Go die*/    },

      攻击:function(){ /*糊他熊脸*/   },

      防御:function(){ /*护脸*/       }

    }

     

    兵营.制造(士兵)

    制造一百个士兵

    如果需要制造 100 个士兵怎么办呢?

    循环 100 次吧:

    var 士兵们 = []

    var 士兵

    for(var i=0; i<100; i++){

      士兵 = {

        ID: i, // ID 不能重复

        兵种:"美国大兵",

        攻击力:5,

        生命值:42, 

        行走:function(){ /*走俩步的代码*/},

        奔跑:function(){ /*狂奔的代码*/  },

        死亡:function(){ /*Go die*/    },

        攻击:function(){ /*糊他熊脸*/   },

        防御:function(){ /*护脸*/       }

      }

      士兵们.push(士兵)

    }

     

    兵营.批量制造(士兵们)

    哎呀好简单。

    质疑

    上面的代码存在一个问题:浪费了很多内存。

    行走、奔跑、死亡、攻击、防御这五个动作对于每个士兵其实是一样的,只需要各自引用同一个函数就可以了,没必要重复创建 100 个行走、100个奔跑……

    这些士兵的兵种和攻击力都是一样的,没必要创建 100 次。

    只有 ID 和生命值需要创建 100 次,因为每个士兵有自己的 ID 和生命值。

     

    二、原型时代:对于公用的封装

     

    改进

    看过我们的专栏以前文章(JS 原型链)的同学肯定知道,用原型链可以解决重复创建的问题:我们先创建一个「士兵原型」,然后让「士兵」的 __proto__ 指向「士兵原型」

    var 士兵原型 = {

      兵种:"美国大兵",

      攻击力:5,

      行走:function(){ /*走俩步的代码*/},

      奔跑:function(){ /*狂奔的代码*/  },

      死亡:function(){ /*Go die*/    },

      攻击:function(){ /*糊他熊脸*/   },

      防御:function(){ /*护脸*/       }

    }

    var 士兵们 = []

    var 士兵

    for(var i=0; i<100; i++){

      士兵 = {

        ID: i, // ID 不能重复

        生命值:42

      }

     

      /*实际工作中不要这样写,因为 __proto__ 不是标准属性*/

      士兵.__proto__ = 士兵原型 

     

      士兵们.push(士兵)

    }

     

    兵营.批量制造(士兵们)

     

     

    三、原型+临时模版时代

     

    优雅?

    有人指出创建一个士兵的代码分散在两个地方很不优雅,于是我们用一个函数把这两部分联系起来:

    function 士兵(ID){

      var 临时对象 = {}

     

      临时对象.__proto__ = 士兵.原型

     

      临时对象.ID = ID

      临时对象.生命值 = 42

      

      return 临时对象

    }

     

    士兵.原型 = {

      兵种:"美国大兵",

      攻击力:5,

      行走:function(){ /*走俩步的代码*/},

      奔跑:function(){ /*狂奔的代码*/  },

      死亡:function(){ /*Go die*/    },

      攻击:function(){ /*糊他熊脸*/   },

      防御:function(){ /*护脸*/       }

    }

     

    // 保存为文件:士兵.js

    然后就可以愉快地引用「士兵」来创建士兵了:

    var 士兵们 = []

    for(var i=0; i<100; i++){

      士兵们.push(士兵(i))

    }

     

    兵营.批量制造(士兵们)

     

    四、模版+原型+二阶构造:new时代

     

    JS 之父的关怀

    JS 之父创建了 new 关键字,可以让我们少写几行代码:

     

     

    只要你在士兵前面使用 new 关键字,那么可以少做四件事情:

    不用创建临时对象,因为 new 会帮你做(你使用「this」就可以访问到临时对象);

    不用绑定原型,因为 new 会帮你做(new 为了知道原型在哪,所以指定原型的名字为 prototype);

    不用 return 临时对象,因为 new 会帮你做;

    不要给原型想名字了,因为 new 指定名字为 prototype。

     

    这一次我们用 new 来写

    function 士兵(ID){

      this.ID = ID

      this.生命值 = 42

    }

     

    士兵.prototype = {

      兵种:"美国大兵",

      攻击力:5,

      行走:function(){ /*走俩步的代码*/},

      奔跑:function(){ /*狂奔的代码*/  },

      死亡:function(){ /*Go die*/    },

      攻击:function(){ /*糊他熊脸*/   },

      防御:function(){ /*护脸*/       }

    }

     

    // 保存为文件:士兵.js

    然后是创建士兵(加了一个 new 关键字):

    var 士兵们 = []

    for(var i=0; i<100; i++){

      士兵们.push(new 士兵(i))

    }

     

    兵营.批量制造(士兵们)

    new 的作用,就是省那么几行代码。(也就是所谓的语法糖)

    注意 constructor 属性

    new 操作为了记录「临时对象是由哪个函数创建的」,所以预先给「士兵.prototype」加了一个 constructor 属性:

    士兵.prototype = {

      constructor: 士兵

    }

     

    https://zhuanlan.zhihu.com/p/23987456

    转载于:https://www.cnblogs.com/feng9exe/p/10871275.html

    展开全文
  • 去年面某家公司时,被问到的问题。今天突然想起来,看了一下。觉得这个博客写的不错,记录一下。...而生成模型之所以称为“生成”模型因为其预测的根据联合概率P(X,Y),而联合概率可以理解为“生成”

    这是去年面某家公司时,被问到的问题。今天突然想起来,看了一下。觉得这个博客写的不错,记录一下。

    参考链接:https://www.zhihu.com/question/20446337

    核心思想:

    在机器学习中任务是从属性X预测标记Y,判别模型求的是P(Y|X),即后验概率;而生成模型最后求的是P(X,Y),即联合概率。从本质上来说:

    判别模型之所以称为“判别”模型,是因为其根据X“判别”Y;

    生成模型之所以称为“生成”模型,是因为其预测的根据是联合概率P(X,Y),而联合概率可以理解为“生成”(X,Y)样本的概率分布(或称为 依据);具体来说,机器学习已知X,从Y的候选集合中选出一个来,可能的样本有(X,Y_1), (X,Y_2), (X,Y_3),……,(X,Y_n),实际数据是如何“生成”的依赖于P(X,Y),那么最后的预测结果选哪一个Y呢?那就选“生成”概率最大的那个吧~

    (后者可以生成很多个Y)

    举例说明:

    判别式模型举例:要确定一个羊是山羊还是绵羊,用判别模型的方法是从历史数据中学习到模型,然后通过提取这只羊的特征来预测出这只羊是山羊的概率,是绵羊的概率。

    生成式模型举例:利用生成模型是根据山羊的特征首先学习出一个山羊的模型,然后根据绵羊的特征学习出一个绵羊的模型,然后从这只羊中提取特征,放到山羊模型中看概率是多少,在放到绵羊模型中看概率是多少,哪个大就是哪个。

    细细品味上面的例子,判别式模型是根据一只羊的特征可以直接给出这只羊的概率(比如logistic regression,这概率大于0.5时则为正例,否则为反例),而生成式模型是要都试一试,最大的概率的那个就是最后结果~

    展开全文
  • 什么是领域模型

    2008-06-29 13:43:43
    什么是领域模型 领域模型是对领域内概念类或现实世界中对象的可视化表示。 概念类:思想、事务或对象。 概念类包括三个方面:符号、内涵、外延。 为什么要建立领域模型? 原因:降低与OO建模之间...
  • 专栏《图像分割模型》的第12篇文章。在这里,我们将共同探索解决分割问题的主流网络结构和设计思想。 本文专栏的最后一篇文章,见识过了分割任务中的大量模型,也了解了语义分割与实例分割,这篇文章我们一起...
  • 信息系统整体的领域模型对业务中主要对象和对象之间关系的设计和描述,领域模型可以说是一体化数据模型的基础和核心,因为数据库设计和应用程序划分,都依赖于领域模型所表达出来的思想。领域模型具有如下的特点...
  • 数据仓库T+1模型思想

    千次阅读 2018-04-13 16:26:27
    首先什么是T+1模型可以简单理解为数据中的1,2,3,4 ...T, T + 1.可以理解为,今天之前一个 T单位的数据,新加一天就是(T + 1)单位的数据。这里的T可以理解为每天。然后基本仓库可以分为1.ODS层: |-sdm每日的增量...
  • 什么是TF-IDF模型

    2021-03-13 11:10:43
    TF-IDF的主要思想是,如果某个词或短语在一篇文章中出现的词频高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。 TF-IDF有两个值,一个是词频率,另一个是IDF(inverse ...
  • 瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和...
  • 什么是体素? 答:图像里面的最小单位像素,体素就是三维立体图里面的最小单位。 可以理解成二维中的像素的升级版,更直观的理解“我的世界”里面的一个个小立方块。 下面就不用体素这个词了,直接用小立方块更...
  • 什么是OO思想

    千次阅读 2007-11-30 11:57:00
    UML 这OO的工具,OO 开发人员交流思想的工具.2. 了解RUP. 掌握好的软件开发过程才能开发出好的软件,RUP其实就是指导我们OO分析与设计的一个开发过程.我一直认为RUP正宗,虽然他烦琐.3. 理解建立领域模型...
  • 面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体...
  • 无穷小微积分的模型思想

    千次阅读 2017-09-23 17:11:24
    无穷小微积分的模型思想进入现代历史时期,无穷小微积分在超实数*R上展开的,传统实数体系R上的微积分将逐渐退居幕后。这什么呢?在传统实数R上的微积分学表现为一组陈述句(Statements)的集合。一般而言,...
  • 专栏《图像分割模型》的第12篇文章。在这里,我们将共同探索解决分割问题的主流网络结构和设计思想。 本文专栏的最后一篇文章,见识过了分割任务中的大量模型,也了解了语义分割与实例分割,这篇文章我们一起...
  • 背后的思想是什么?是如何使用permutation_importance计算特征重要度的? inspection.permutation_importance 对于模型来说,哪一个特征才是最重要的?哪一个特征对于模型做决策有更大的影响?这个概念被称为...
  • 每日一面试题--MVC思想是什么

    千次阅读 2016-09-20 12:48:39
    1.认识两个类似的名词! MVP-Backbone.js(model-view-presenter;模型-视图-表现类) ...1).model(模型)、view(视图)、control(控制层),软件工作中的一种架构模式; --模型:用于封装和应用程序
  • 思想家、宗教家:用钱把转换某种虚拟的思想,卖个需要的人,赚取更多的钱的人。 艺术家:用钱把转换某种虚拟的精神产品,卖个需要的人,赚取更多的钱的人。 投机家:用钱行贿或其他高风险的领域获取高额的回拨,...
  • 面向对象编程思想,就是把生活中的各种的事物都看成对象,万事万物皆对象。 比如生活中的汽车,人,猫猫狗狗都可以把这些事物看成一个类,车类,人类,猫类,狗类这些类就像对某一事物概念的描述,而java面向对象...
  • 2.如下所说的数学性质仅仅是对该集合对象或集合内对象的性质,即我们对什么建模,建出的模型的性质是什么;这些性质有否扩展机制;如何扩展,其理论基础是什么;集合的关系、函数、数字系统和算法将描述该模型的...
  • 最近在看Qt的Model/View Framework,在网上搜了搜,好像中文的除了几篇翻译没有什么有价值的文章。E文的除了Qt的官方介绍,其它文章也很少。看到一个老外在blog中写道Model/View他认为Qt中最不好的一部分了。真的...
  • 对网络架构进行分层的思想: 将复杂的流程分解为几个功能相对单一的子过程 使得整个流程更加清晰,复杂问题简单化; 更易发现问题并针对性的解决问题。 第一个网络模型: 开放系统互连参考模型(OSI):一个开放式...
  • 介绍RBAC的基本思想、概念、权限分配管理、遵循的基本原理,以及RBAC存在的缺陷

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,551
精华内容 1,420
关键字:

模型思想是什么