マルコフ連鎖とは何か
11882 ワード
では、まずマルコフ連鎖とは何かを学びましょう.
マルコフ連鎖は可能な事象の確率過程(ランダム過程)である.
だから、情報やデータを与える場合は、イベントの進化を変更することが可能です.
さあ、どうやって動くか見ましょう.
例えば、3つの入力があります. 私はサムです. 私はケビンです. 私は レッツゴーステップバイステップのアルゴリズムを学ぶには
まず最初に、我々は我々の文をトークン化しなければなりません.出力は次のようになります.
第二に、我々はチェーンを構築し始める.
私たちは、それぞれのトークン化された文を繰り返す必要があります.
リストを作成しましょう.
このリストを繰り返す間、我々はチェーンを作成するべきです. 最初の単語、最初の単語:
だからあなただけのような出力を取得します 最初の文、2番目の単語:
イン
後に来ることができる唯一の可能性
別の作成
それは後で来ることができます 最初の文、3番目の単語:
そして、別のノードを
それは後で来ることができます
簡単に言うと、我々は我々がしたのと同じことをした
そして、我々の文は終わりました. 二番目の文、最初の単語:
そして、それはどんなノードにもありません. 第二文第二語 第二文、第三語:
つの可能な単語が来ることができます.
したがって、値は
外 第三文、第一語: 第三文第二語
簡単な計算をしましょう.今、2つの可能な単語があります
アフター
でも
値
ないので、量を変更しません.それで
今3つの単語文を作りたいとしましょう.
だから我々は3ランダムな単語を選択しますが、彼らはすべきです
どの単語が来ることができます!始めましょう!
我々のcreatenデータは次のようになります.
ランダムノードスタートを選択します.
uhmm、私たちの幸運なノードは. 文 入る さあ、リストを作成しましょう
and
私たちの幸運なノードは.
文 入る
今何をすべきかそれは私たちの文の終わりですか?だめ!
再びランダムにノードを選択しましょう. 私たちの幸運なノードは.
文
そして、我々のアルゴリズムは、このように続きます.
すべての可能な文の数を数えたいならば
読書ありがとう!
マルコフ連鎖は可能な事象の確率過程(ランダム過程)である.
だから、情報やデータを与える場合は、イベントの進化を変更することが可能です.
さあ、どうやって動くか見ましょう.
例えば、3つの入力があります.
ビルチェーン
["I", "am", "Sam."]
["I", "am", "Kevin."]
["I", "do"]
私たちは、それぞれのトークン化された文を繰り返す必要があります.
リストを作成しましょう.
[["I", "am", "Sam."], ["I", "am", "Kevin."], ["I", "do"]]
このリストを繰り返す間、我々はチェーンを作成するべきです.
"I"
{
"I": {
}
}
あなたが見ることができるように"I"
文を生成する.だからあなただけのような出力を取得します
"I I I I I I"
!"am"
{
"I": {
"am": 1
},
"am": {
}
}
だって"am"
言葉は後になる"I"
, 追加しましたイン
"I"
ノード.そして1が1 / 1
. 何故なら後に来ることができる唯一の可能性
"I"
ワード.我々は別の作成
"am"
外"I"
可能な言葉のためにそれは後で来ることができます
"am"
."Sam."
{
"I": {
"am": 1
},
"am": {
"Sam.": 1
},
"Sam.": {
}
}
追加しました"Sam."
to "am"
後に来るから"am"
.そして、別のノードを
"am"
可能な単語それは後で来ることができます
"Sam."
.簡単に言うと、我々は我々がしたのと同じことをした
"am"
前に.そして、我々の文は終わりました.
"I"
何もする必要はない"I"
既に存在するそして、それはどんなノードにもありません.
"am"
第二文、第一単語と同じプロセス."Kevin.
{
"I": {
"am": 1
},
"am": {
"Sam.": 0.5,
"Kevin.": 0.5
},
"Sam.": {
},
"Kevin.": {
}
}
我々はそれを追加しました"am"
ノードですが、値は0.5
. なぜ?だってつの可能な単語が来ることができます.
"Sam"
and "Kevin."
.したがって、値は
1 / 2 = 0.5
. ノードを作成しました外
"am"
それぞれの新しいノードに対して行います."I"
何もない!なぜなら、どんなノードにも存在しないからです."do"
{
"I": {
"am": 0.666666667,
"do": 0.333333333
},
"am": {
"Sam.": 0.5,
"Kevin.": 0.5
},
"Sam.": {
},
"Kevin.": {
},
"do": {
}
}
さて、なぜ"am"
became 0.666666667
and "do"
0.333333333
?簡単な計算をしましょう.今、2つの可能な単語があります
アフター
"I"
, "am"
and "do"
. したがって、値は0.5
to 0.5
.でも
"am"
ノードの後に来ることができる単語があります.カウントは2です値
"am"
は1 - (1 / (1 + 2))
. でも"do"
doesないので、量を変更しません.それで
"am"
'S量1 - (1 / (1 + 2)) = 0.666666667
, そして、あなたは推測することができます"do"
is1 - 0.666666667 = 0.333333333
.文の作成
今3つの単語文を作りたいとしましょう.
だから我々は3ランダムな単語を選択しますが、彼らはすべきです
どの単語が来ることができます!始めましょう!
我々のcreatenデータは次のようになります.
{
"I": {
"am": 0.666666667,
"do": 0.333333333
},
"am": {
"Sam.": 0.5,
"Kevin.": 0.5
},
"Sam.": {
},
"Kevin.": {
}
}
手順は以下の通りです.uhmm、私たちの幸運なノードは.
I
! I
I
ノード.可能な単語は以下の通りです.am
do
0.666666667
タイムズam
,and
0.333333333
タイムズdo.
. 今すぐ幸運のノードを選択しましょう!私たちの幸運なノードは.
do
! それはチャンスだ.文
I do
do
ノード.可能な言葉は:何もない!今何をすべきかそれは私たちの文の終わりですか?だめ!
再びランダムにノードを選択しましょう.
Kevin.
!文
I do Kevin.
ここに3つの単語文があります.I do Kevin.
.そして、我々のアルゴリズムは、このように続きます.
すべての可能な文の数を数えたいならば
2^len(data)
それで、我々のデータがあるならば4
ユニークな言葉は、カウントされます2^4 = 16
文章.それだ!読書ありがとう!
Reference
この問題について(マルコフ連鎖とは何か), 我々は、より多くの情報をここで見つけました https://dev.to/lyfolos/what-is-markov-chain-16o6テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol