約 3,280,379 件
https://w.atwiki.jp/reedforjar/pages/14.html
Baum-Welchアルゴリズム HMM(隠れマルコフモデル)のような状態遷移系列での学習を行うためのアルゴリズムです。 Baum-WelchアルゴリズムはForwardアルゴリズムとBackwardアルゴリズムの組み合わせによって計算されます。 したがって、まずはForwardアルゴリズムについて考えます。 Forwardアルゴリズム このアルゴリズムは、状態遷移系列の最終地点から再帰呼び出しによって開始地点から遷移、生成確率を乗算していくものです。 単純な全経路網羅では、計算量次数にして「状態数の観測個数乗分」かかります。無駄を省きたいわけですが、どこが無駄でしょうか?以下画像追加予定・・ 以下にC++によるプログラミング例を示します。(ソースの質を改善していく予定です。) double forward( int t, char* outputs, Mode* modes, int presentMode ){ double res = 0.0; //入力データからどの出力確率かを算出する。 char c = outputs[t]; double occorenceProbability; if ( c == A ){ occorenceProbability = modes[ presentMode ].occProb[0]; } else if ( c == B ){ occorenceProbability = modes[ presentMode ].occProb[1]; } else { occorenceProbability = 1.0;//エラー、AB以外の文字列は受け付けない。 } //forward本体 for ( int j = 0; j = hmm.modeNumber; j++ ){ if ( t = 0 ){ res += forward( t - 1, outputs, modes, j ) * modes[ j ].seqProb[ presentMode ] * occorenceProbability; } else { //始点に着いたら初期確率を返せ。 return modes[ presentMode ].initProb; } } return res; }
https://w.atwiki.jp/vivid_turtle/pages/10.html
様々な問題をアルゴリズムごとに区分して陳列する。 それぞれのページに検索用ラベルとしてABC,ARCなどの名前を入れる。 一覧 座標 座標での考えの大前提 座標での最近点 2次元座標と二部グラフ グラフ 数え上げ(数学系) グリッド上での数え上げ ありうる全事象についての変換の和の数え上げ 上のは簡単に言うと、ありうる全事象に変換fをさせた者の和の数え上げ 部分列に関する数え上げ 数学系(その他) 立式と同値の言いかえ 無限を有限に落とすには(数学編) 素数modの世界 同類項の妙技 幾何 包含の幾何 全探索 半分全列挙の各パターン 二分探索 中央値と二分探索 しゃくとり法 しゃくとりの大原則 さまざまなしゃくとり 動的計画法 数え上げのDPのさまざま(知らなかったこと) ナップサックの諸相 DPの加速方法(非データ構造) DPのメモリ節約方法 区間DP bitsetでの定数倍改善 文字列 文字列と動的計画法 貪欲 構築 グリッド上の構築 データ構造 データ構造と値の取得 クエリ処理でのデータ構造特有の手法 転倒数への帰着 実装 実装時にやりがちなミス 謎系 bitに関しての操作のいろいろ N個の集合の合併での最善手 ダブリングの使い所さん
https://w.atwiki.jp/inclurithm/pages/50.html
アルゴリズムのスケルトン 会話インクルードの一般的なアルゴリズムを紹介したいと思います。 あくまでメッセージ表示のアルゴリズムに焦点を当てて解説していくので、パイロット画像やインターフェース画像の表示については詳しくは触れません。 ※以下、「メッセージを一文字ずつ表示する」という動作を「メッセージ流れ表示」と勝手に呼称します // サブルーチン名は自由に変更してください // 引数には以下のようなものが指定されていると仮定して // 処理をトレースしていきます // Args(1) パイロット名 // Args(2) メッセージ TalkInclude // メッセージを変数に格納しておく // わかりやすい名前の変数に入れておいたほうがわかりやすいです Local mess = Args(2) // 表示メッセージの文字数を取得 // これをキーにメインとなるループを実行します Local MessLen = Len(Args(2)) // メッセージポインタを初期化 // 表示メッセージを先頭から順に参照していくに当たって、 // 現在参照している文字が先頭から何番目かを示す Local ptr = 1 // ポインタがメッセージの文字数を超えるまでループを行います // 不等号を反対にしてしまうともちろんアウト Do While (ptr lt;= MessLen) // 参照中の文字によって分岐処理をする // if文で条件分岐してもいいが、処理の対象となる文字は決まっているので // switch文の方が短く書ける Switch Mid(mess, ptr, 1) Case quot; lt; quot; // タグの開始を示すブラがきたので、タグを読み取る処理を行う タグを処理する(工事中) Case quot;; quot; // セミコロンがきたので、改行処理を行う 改行を処理する(工事中) Case quot; quot; // コロンがきたので、分割表示処理を行う 分割表示を処理する(工事中) Case Else // その他の文字・記号はメッセージとして出力する // メッセージ出力処理を行う メッセージ出力を処理する(工事中) EndSw // 参照している文字の処理が終わったので、ポインタをインクリメントします // これを忘れたら無限ループの地獄が待っています Incr ptr // そして参照している文字の処理が終わり、 // 次の文字を処理するまでのこのスペース // 悪夢の「メッセージ流れ表示」機能を付加するには、 // ここにたった一行命令文を記述するだけでOKです // 例:Wait 0.1 // Waitタイムが0.1でも、目が慣れてくると大分遅く感じます // ましてや0.5なんかにしてしまうと、 // 確かに重厚な感じは出るかもしれませんが、 // 同時にプレイヤーの気分も重くなります。 // あまりWaitタイムを小さくしても本末転倒なので、 // なら最初からWaitをはさまなければいい // ご利用は計画的に! Loop[[@wikiへ http //kam.jp" META HTTP-EQUIV="Refresh" CONTENT="0; URL=http //esthe.pink.sh/r/]]
https://w.atwiki.jp/jpops/pages/11692.html
東狂アルゴリズムをお気に入りに追加 東狂アルゴリズムのリンク #bf Amazon.co.jp ウィジェット 東狂アルゴリズムの報道 gnewプラグインエラー「東狂アルゴリズム」は見つからないか、接続エラーです。 東狂アルゴリズムとは 東狂アルゴリズムの45%は海水で出来ています。東狂アルゴリズムの22%は度胸で出来ています。東狂アルゴリズムの17%はツンデレで出来ています。東狂アルゴリズムの8%は電力で出来ています。東狂アルゴリズムの5%は鍛錬で出来ています。東狂アルゴリズムの3%は理論で出来ています。 東狂アルゴリズム@ウィキペディア 東狂アルゴリズム Amazon.co.jp ウィジェット 掲示板 名前(HN) カキコミ すべてのコメントを見る ページ先頭へ 東狂アルゴリズム このページについて このページは東狂アルゴリズムのインターネット上の情報を集めたリンク集のようなものです。ブックマークしておけば、日々更新される東狂アルゴリズムに関連する最新情報にアクセスすることができます。 情報収集はプログラムで行っているため、名前が同じであるが異なるカテゴリーの情報が掲載される場合があります。ご了承ください。 リンク先の内容を保証するものではありません。ご自身の責任でクリックしてください。
https://w.atwiki.jp/guru/pages/77.html
しっかり理解するまではメモ程度にとどめておきます。 遺伝的アルゴリズムによる巡回セールルマン問題
https://w.atwiki.jp/trans_algo/pages/5.html
このWikiでは和文英訳を 日本語の文を要素に分割する 要素に並び替えの記号をつける 要素を並び替える 単語を置き換える の手順に分割します。通常の本では、「私はケンです」と「I am Ken」とが並べられておしまいですね。これを 日本語の文を要素に分割する 私は ケン です 並べ替えの記号をつける 私は ケン です S C V 並べ替える 私はですケン 単語を置き換える I am Ken と4段階の手順によって変換します。決められた手順に従って手を動かす、一度に考えることを小さくする、これの組み合わせによって英訳する事をコンピュータプログラミングに例えて和文英訳アルゴリズムと呼んでいます。
https://w.atwiki.jp/projecthikky/pages/126.html
概要 グラフのある始点から全ての頂点への最短距離を求めるアルゴリズム。 計算量は頂点数をN, 辺数をMとするとO((N+M)logN)。N,M = 10^5程度のときに適用可能。 最短経路アルゴリズムの中で最も有名なアルゴリズムだと思われる。 全ての辺の重み(距離)が非負でないと適用できないことに注意。 実装はワーシャルフロイドに比べるとやや面倒。 計算量O((N+M)logN)を実現するためには優先度付きキューまたは二分ヒープを使う必要がある。 C++ならpriority_queue、pythonならheapqがあるのでそれを使おう。 分かりやすい解説など ダイクストラ法(最短経路問題) ダイクストラ法が分からなかった君のために - kuuso1のブログ 問題 Shortest Path - Single Source Shortest Path - AOJ ABC035-D トレジャーハント
https://w.atwiki.jp/tsukuba_kakomon/pages/62.html
データ構造とアルゴリズム実験
https://w.atwiki.jp/ct2uec/pages/16.html
講義概要 ちょっと高度なアルゴリズムについてのお勉強. 講義情報 4/27 最適化問題について,グリーディ法による演習を一題解きました. 課題情報 現在レポートは課せられていません.
https://w.atwiki.jp/geiinbashoku/pages/22.html
この項の問題点 概要 問題設定 導出 The EM algorithm メモ Maximum A Posteriori この項の問題点 この項は未完成であり重大な間違いを含んでいる可能性があります。 数学的な厳密さはありません。式変形の途中で確率分布や確率密度関数がきちんと定義されているのか疑わしいです。また全体的に説明不足です。 概要 EMアルゴリズム(The EM algorithm, [Dempster et al. 1977])は不完全データに対して最尤推定を行うメタアルゴリズムです。Expectation-stepとMaximization-stepの二つのステップを繰り返すことにより、確率パラメータを更新していきます。 問題設定 は隠れ変数、は観測、は確率パラメータ、は観測の数、は対数尤度です。(はベクトル) T回観測されたに対して、が対応します。(もベクトル) ここではi.i.d(独立同分布)とします。 対数尤度を最大化するようなを求めることが目的です。 上の変形から分かるようには対数の中に和を含む形となっています。これを直接最大化するのは困難です。 導出 EMアルゴリズムの導出にはいくつかの種類がありますが、ここでは比較的直感的だと考えられる導出を示します。 尤度を最大化するような確率パラメータを直接求める代わりに、あるよりも対数尤度を大きくするようなを求めることにします。(詳しい説明が必要) 対数尤度の差をとり変形していきます。 ここでを以下のように定義しました。 またはとのKullback–Leiblerダイバージェンスであり、これは常に0以上です。(詳しい説明が必要) よって下の式が成り立ちます。 ここから、を最大化するようなを求めることにより、あるよりも対数尤度を大きくするようなを求めることができると分かります。(対数尤度は常に0以下。) The EM algorithm Initialization 初期パラメータを与える。 Expectation-step(E-step) 現在(i回目の繰り返し)の確率パラメータを用いて期待値を計算する。 Maximization-step(M-step) 期待値を最大化するをとする。 終了条件を満たすまでE-stepとM-stepを繰り返す。 メモ EMアルゴリズムの終了条件はある小さな正の値に対してとするのが一般的です。 EMアルゴリズムの結果は初期値に依存します。local maximumに収束することは保障されていますが、それはglobal maximumであるとは限りません。そこで初期値を変えて複数回アルゴリズムを実行する手法が一般的です。 Maximum A Posteriori これまで、対数尤度を最大化するようなを求めることをEMアルゴリズムの目的としてきました。ここでは対数尤度ではなく対数事後確率を最大化するようなを求めることを目的にします。(詳しい説明が必要) 事後確率を最大化することをMaximum A Posteriori estimation(MAP推定)と呼び、尤度を最大化することをMaximum Likelihood estimation(ML推定)と呼びます。 ベイズの定理から対数事後確率は以下のように変形できます。 右辺の第一項は対数尤度となっています。 MLの時と同じようにとのそれぞれの対数事後確率の差をとって変形していきます。 ここでを以下のように定義しました。 MAPの場合はを最大化するようにパラメータを更新していきます。