2013-11-27 13 views
5

WekaSharpを使用してC#とF#の領域で異なるアルゴリズムの相対速度を評価しようとしています。興味のあるアルゴリズムの1つがMarkov Chainsです。私はWekaがHMMアプリケーションを持っていることを知っていますが、これをWekaSharpに実装することができず、この目的に合わせてJ48アルゴリズムを変更する方法があるのだろうかと思っていました。私はJ48と一次マルコフ連鎖の間にいくつかの類似点があることを知っていますが、修正する必要があるかどうか、これが妥当なものかどうかを判断しようとしています。ここでは殷朱さんWekaSharpに実装されJ48は次のとおりです。J48とマルコフチェーンの相違

type J48() = 
    static member DefaultPara = "-C 0.25 -M 2" 
    static member MakePara(?binarySplits, ?confidenceFactor, ?minNumObj, ?unpruned, ?useLaplace) = 
     let binarySplitsStr = 
      let b = match binarySplits with 
        | Some (v) -> v 
        | None -> false 
      if not b then "-B" else "" 
     let confidenceFactorStr = 
      let c = match confidenceFactor with 
        | Some (v) -> v 
        | None -> 0.25 // default confi 
      "-C " + c.ToString() 
     let minNumObjStr = 
      let m = match minNumObj with 
        | Some (v) -> v 
        | None -> 2 
      "-M " + m.ToString() 
     let unprunedStr = 
      let u = match unpruned with 
        | Some (v) -> v 
        | None -> false 
      if u then "-U" else "" 
     let useLaplaceStr = 
      let u = match useLaplace with 
        | Some (v) -> v 
        | None -> false 
      if u then "-A" else "" 
     binarySplitsStr + " " + confidenceFactorStr + " " + minNumObjStr + " " + unprunedStr + " " + useLaplaceStr 

はどうもありがとうございました。

+0

私はJ48は、統計的分布を利用して統計的分類であると思うが、マルコフ連鎖を使用すると、有限ステートマシンを意味FSMにより統計 –

+0

@KhaledAKhunaiferを使用して訓練することができFSMです? –

+0

@VitalijZadneprovskijはい、それは状態を開始するための1D配列のアルファと状態間の遷移のためのベータ2D配列を使用して実装されています –

答えて

1

J48は、各属性(次元)のエントロピーを考慮し、現在のサブツリーのルートとして最大エントロピーを持つ属性を取ることによって決定木を学習する単なる実装です。このアルゴリズムは強化を必要としません。

Markov Chainsは、強化学習に使用されているHidden Markov Modelを意味すると思います。

HMMWekaをご覧ください。

関連の質問は次のとおりです。 What is the equivalent for a Hidden Markov Model in the WEKA toolkit?

関連する問題