5

WekaSharp を使用して、C# および F# の領域でさまざまなアルゴリズムの相対速度を評価しようとしていますが、興味のあるアルゴリズムの 1 つはマルコフ連鎖でした。Weka には HMM アプリケーションがあることは知っていますが、これを WekaSharp に実装することができず、この目的に合わせて J48 アルゴリズムを変更する方法があるかどうか疑問に思っていました。J48 と 1 次マルコフ連鎖の間に類似点があることは知っていますが、何を修正する必要があるのか​​、またこれが妥当なのかどうかを判断しようとしています。以下は、Yin Zhu の WekaSharp に実装された 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

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

4

1 に答える 1

1

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

マルコフ連鎖とは、強化学習で使われる隠れマルコフモデルのことだと思います。

HMMWekaをご覧ください。

関連する質問: WEKA ツールキットの隠れマルコフ モデルに相当するものは何ですか?

于 2014-03-20T16:32:09.753 に答える