您的位置:首页 > 编程语言 > MATLAB

Matlab中Latent SVM model参数含义

2014-02-22 13:45 363 查看


原文:http://blog.csdn.net/loadstar_kun/article/details/8754828


Matlab中mat文件model参数含义

模型文件是按照Latent SVM模型保存语法保存参数的,利用了查表的思想,具体细节需要参考原始论文。这样保存的目的好像是计算方便。

1.model简单节点内容

 model.class= 'bottle'

model.year= 2011

model.note= 15-50-36



 2.  model有以下关键节点

filters:[1x42 struct]

  rules: {1x81 cell}

symbols:[1x81 struct]

  start: 2

 里面的数字仅为了说明使用

 model.symbols(i)=

       type: 'T'

    filter: 3

 T:terminal,对应一个filter,并且给出其index。N->non-terminal,非filter,而是一个deformation
model

 model.filters{i}=

              w: [7x11x31 double]

    blocklabel: 1

     symmetric: 'M'

          size: [7 11]

          flip: 0

        symbol: 1

 包含the filter weights和 blocklabel,symmetric有两种情况M和N,M表明有一个垂直镜像部分;N表示没有。如果symmetric
== 'M'那么将会有两个filters有相同的blocklabel。

flip表明w需要filp组成filter。

symbol记录model.symbol的标记,例如model.symbols{8}.filter = 3,那么model.filter{3}.bymbol = 8;

 model.rules是模型存取的关键,model.rules和symbol大小相同,每个model.rules中都有一个symbol。

 LHS: lefthand side

 RHS: righthand side

 The cellmodel.rules{i} holds an array struct that lists the rules for which I acts asthe left-hand side symbol.  So,model.rules{4}(1) and model.rules{4}(2) are the first two productions
forsymbol 4 in some imaginary grammar.  Thefield model.start holds the distinguished start symbol for the grammar.  Let's use that symbol as an example.

 

model.rules{model.start}(1)=

      type: 'S'

       lhs: 2

       rhs: [1 11 15 19 23 27 31]

    offset: { w: -3.394  blocklabel: 2 }

    anchor: {[0 0 0]  [12 0 1] [4 5 1]  [13 8 1]  [0 0 1] [16 0 1]  [0 5 1]}

 Here isthe first rule with model.start on the LHS. In the case of a 6 component mixture model, model.rules {model.start} isa struct array of 6 elements.  The fieldlhs is simply a convenience
field indicating what the production's LHS is.  The field rhs holds the symbols that appearon the production's right-hand side.  Thefield type is 'S' if this is a structural rule or 'D' if this is a deformationrule.  Now I'll split the description intotwo
cases.

 case 1:structural rule

 The fieldoffset holds the offset value and its blocklabel (these will be shared for mirroredcomponents).  The anchor field holds theparameters of the "structure function" that defines
how each of thesymbols in the rhs is placed relative to a placement of the lhs symbol.  The format is [dx dy ds], where 2^ds is thescale change.  So ds = 1 implies that therhs symbol

lives attwice resolution of the lhs symbol.  Thevalues of dx, dy are HOG cell displacements at the rhs's native scale.  Note that dx and dy are displacements, sothey are 1 less than the anchor values that were defined in the
old model.  The first symbol on the rhs has anchor = [0 00], because this symbol is a terminal for the root filter.

 case 2:deformation rule

 Let'slook at the second symbol on the rhs in the rule above.

 model.rules{11}=

     type: 'D'

     lhs: 11

     rhs: 10

     def: {

             w: [0.0209 -0.0015 0.0155 0.0010]

    blocklabel: 8

          flip: 0

     symmetric: 'M'

     }

     offset: { w: 0  blocklabel: 7 }

 Deformationrules don't have an anchor field, but do have a def field.  The def field describes the deformation modelfor this rule, and so it includes the coefficients and the blocklabel. 
The def.symmetric field can be 'M' if thereis a vertically mirrored deformation rule or 'N' if there is no symmetry constraint.  In the case of 'M', flipindicates how to write features and read models (just like features.flip). 
There's an implicit assumption in the codethat deformation rules only have one symbol on the right-hand side (though itneed not be a terminal).

 def.w用于求取deformation model,也就是XML中的Penalty节点内容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: