タグ

ブックマーク / www.hellocybernetics.tech (12)

  • 強化学習の基本:マルコフ決定過程ってなんぞ? - HELLO CYBERNETICS

    はじめに 環境とエージェント 環境 マルコフ過程 当のマルコフ過程 マルコフ決定過程 当のマルコフ決定過程 強化学習の話をちょっとだけ 最後に はじめに 強化学習を真面目に勉強し始めたので、ここまで学んだ知見を記事としてまとめます。 線形代数の基的な表記や確率統計で出てくる基的な言葉を前提とし、理論的な証明などは割愛し結果だけを認める形で進めていきたいと思います。 環境とエージェント まず最初に強化学習で現れる「環境とエージェントの相互作用」なるもの言葉について、実を言うと、目の前にある課題は環境とエージェントの相互作用というのは必ずしも必要がないかもしれません(そうであれば強化学習という手段を行使しないということ…)。 強化学習を学び始めるとどうしてもこの相互作用なるものが前提で話が進んでしまうため、若干の分かりにくさが生まれてしまうように思います。ここでは思い切って、「環境」と

    強化学習の基本:マルコフ決定過程ってなんぞ? - HELLO CYBERNETICS
    ZAORIKU
    ZAORIKU 2022/02/22
  • 状態空間モデルと推論アルゴリズムの概要 - HELLO CYBERNETICS

    はじめに 状態空間モデル 状態空間モデル AR(1) モデル AR(p) モデル 状態空間モデルに対する推論 まとめ はじめに 今回は状態空間モデルと呼ばれる非常に広いクラスのモデルを扱います。 状態空間モデルは、ARモデルを代表とする時系列モデルや空間的に隣接している局所構造を表すモデルを記述し、統一的に扱える非常に便利な表現を提供します。 状態空間モデルでのとある設定が、わざわざ固有名詞を持って(別の表現で)モデリングされているケースも多々あることを考えると、状態空間モデルを勉強すれば固有名詞を与えられるほどの重要なモデルを包含した体系を学ぶことができるというわけで、これは抑えておくと非常に良いということです。 まずはじめに状態空間モデルの一般的な表現を学び、それに対して具体的な設定を与えるとどのようなモデルになるのかを見ていくという形式にします。また、状態空間モデルに対する推論手法と

    状態空間モデルと推論アルゴリズムの概要 - HELLO CYBERNETICS
    ZAORIKU
    ZAORIKU 2020/09/19
  • 確率モデリングのための確率分布の式変形基本【ベイズの定理/グラフィカルモデル】 - HELLO CYBERNETICS

    はじめに 確率モデリング 確率変数間の関係性記述 ベイズの定理と条件付き分布 関係性の記述と事後分布の導出 いろいろなパターンの練習 パターン1 パターン2 同時分布とグラフィカルモデル 基事項 すべて互いに関連 すべて互いに独立 有向グラフ化 関連を断ち切ることによるモデリング 最後に はじめに 確率モデリングでは、複数の確率変数間の関係性を記述するということが必要になります。 そうして確率変数間の関係性を記述したら、あとは観測できているデータは確率変数を所与としてしまい、その観測データの条件付き分布により、他の確率変数の事後分布を表現するということを行います。 この事後分布を求める部分をいわゆる学習と呼び、その後、事後分布を用いて予測したい変数の値を分布として(あるいは分布からのサンプリングとして)出力させることで予測を行います。 しかし、多くの確率モデリングの初学者は、実は確率変数

    確率モデリングのための確率分布の式変形基本【ベイズの定理/グラフィカルモデル】 - HELLO CYBERNETICS
    ZAORIKU
    ZAORIKU 2020/08/15
  • E資格で必須の特異値分解解説 - HELLO CYBERNETICS

    はじめに 特異値分解 定義 特異値分解の嬉しさ 行列の低ランク近似 主成分分析の解法 行列による増幅率を定義 特異値と特異ベクトルの実態 最後に はじめに 予め断っておきます。私はE資格を持っていませんし受けたこともありません。 なんか特異値分解は知識として必須らしいという話だけ聞きました。なのでタイトルに入れました(完全に検索対策である)。 タイトルは動機不純として…、特異値分解はデータ分析にしても信号解析にしても、線形代数での必須知識だと思われるのでここで解説しておきます。 特異値分解 定義 特異値分解は定義だけ述べれば、行列 $\mathbf X \in \mathbb C ^ {m \times n}$ に対する下記で表される分解手法です。 $$ \bf X = U \Sigma V ^ * $$ ここで $\mathbf U \in \mathbb C ^ {m \times m

    E資格で必須の特異値分解解説 - HELLO CYBERNETICS
    ZAORIKU
    ZAORIKU 2020/02/13
  • 確率的プログラミング言語 pyro 基本 - HELLO CYBERNETICS

    はじめに Pyro primitives 確率変数の実現値 sample 条件付き独立のベクトル化 plate 階層モデル 変分パラメータを扱う param poutine モデルの様子を把握する trace 条件付き分布の作成 condition まとめと変分推論の例 はじめに 当はTensorFlow2が世の中で使われるようになって、情報も増えるのが一番嬉しいのですが、ちょっと周囲の状況も含めてPyTorch続投の兆しが強いため、確率的プログラミング言語としてPyroを選択する可能性も出てきました。というわけでPyroの記事です。 https://pyro.ai/ Pyro PyTorchをバックエンドとした確率的プログラミング言語(PPL)です。PPLの名に恥じないくらい、確率モデリングが容易に可能で、TensorFlow Probabilityほど剥き出しのTensorをアレコレ

    確率的プログラミング言語 pyro 基本 - HELLO CYBERNETICS
    ZAORIKU
    ZAORIKU 2019/12/08
  • 【まとめ】Principal Component Analysis【PCA:主成分分析】 - HELLO CYBERNETICS

    はじめに データの前提 分散最大化(KL展開) 取り出したい成分について 問題の定式化 問題を解く 元々の多次元信号 次元削減後の信号 寄与率 各成分が無相関になるような射影先を選ぶ 5次元の観測データ 無相関化したデータ 確率的主成分分析(最尤推定) 定式化 解法 ベイズ主成分分析(MAP推定) 補足:事前分布は任意性を持つ ベイズ学習の基 MAP推定 主成分分析のMAP推定コード(TensorFlow Probability) インポートとデータの準備 モデル 最適化ループ 学習されたモデルからのデータの生成 はじめに PCAは色々と勉強になるので、今回ここでザッとまとめておこうと思います。実はこれまでにも何度も取り上げていて、 www.hellocybernetics.tech www.hellocybernetics.tech 等などあるのですが、その場でその場で場当たり的に比較

    【まとめ】Principal Component Analysis【PCA:主成分分析】 - HELLO CYBERNETICS
    ZAORIKU
    ZAORIKU 2018/11/29
  • TensorFlow Eager Execution + Keras API の基本 - HELLO CYBERNETICS

    はじめに Eager Executionの書き方 インポート データの準備 モデルの書き方 学習コード モデルの評価 補足 Google colabでのTensorBoard 最後に はじめに TensorFlow2.0から Eager Execution と Keras API が標準になる見込みです。すでにブログではこのことを何度か取り上げています。 www.hellocybernetics.tech www.hellocybernetics.tech 今回は、TF2.0から最も標準的になると思われるコードの書き方を見ておきましょうというテーマになります。 特にディープラーニングのテクニックや手法の考察などは行わないので、あくまで書き方の参考という程度に御覧ください。 コードはgoogle colabで書いていったので、基的にはjupyter notebookなどで動作させることを想

    TensorFlow Eager Execution + Keras API の基本 - HELLO CYBERNETICS
    ZAORIKU
    ZAORIKU 2018/11/22
  • 大幅に進化するらしいTensorFlow2.0について - HELLO CYBERNETICS

    はじめに TensorFlow2.0がもうすぐ来るよ! APIs High level APIs Eager Exexution Reference Models Contribの扱い プラットフォーム TensorFlow Lite TensorFlow.js TensorFlow with Swift パフォーマンス Distributed TensorFlow CPUGPU、TPUの最適化関連 その他のパッケージ TensorFlow Probability Tensor2Tensor End to End ML systems TensorFlow Hub TensorFlow Extended はじめに TensorFlow2.0ではこれまでのTensorFlowから大幅に変化するので、その変更点について記しておきます。 基的には公式のRoadmapの和訳と思って差し支えあり

    大幅に進化するらしいTensorFlow2.0について - HELLO CYBERNETICS
  • 074452

    はじめに 量子アニーリングマシンの概要 量子コンピュータ 組み合わせ最適化問題 問題の書き換え 量子アニーリングマシンの動作 巡回セールスマン問題を量子アニーリングマシンで解く 量子アニーリングマシンの実態 量子アニーリングマシンの応用に向けて 実応用における課題:物理的な事情 社会的応用における課題 機械学習との関連 はじめに 今回は量子コンピュータとして応用が期待されている(既にされている?)量子アニーリングマシンについて、一般の人にも分かるように数学的な話を避けながら教養としてまとめておきたいと思います。 実際のところは私自身も量子コンピュータについては初歩的な勉強を始めた段階であり、全くの初心者であることをご承知ください。 量子アニーリングマシンの概要 量子コンピュータ 量子コンピュータとは量子力学的な振る舞いを計算に取り入れたコンピュータの総称です。なぜ「総称」なのかというと、今

    074452
    ZAORIKU
    ZAORIKU 2018/08/19
  • 【機械学習を基本から丁寧に】TensorFlow Eager Executionで多項式回帰の実行 - HELLO CYBERNETICS

    はじめに 実行環境 理屈編 問題設定 損失関数 損失を小さくする勾配法 実践編 必要なライブラリの準備 問題設定 モデルの設計と損失関数 tf.keras.Modelクラスでモデルの雛形を作る 損失関数 勾配の計算 パラメータの更新 実験 初期状態のモデル 学習後のモデル 当に学習は上手く行ったのか 補足 コード全体 関連記事 前回記事 続きの記事 はじめに 前回の記事では単回帰で直線をフィッティングする問題を、TensorFlow Eager Executionで実行しました。 割と低レベルなTensorFlowの機能を使ったため、数式とほとんど直結した形で機械学習の動作を確認できたのではないかと思います。 www.hellocybernetics.tech 実は先のような単回帰をしっかりマスターすると、基的にどんなモデルを仮定するのかというのがちょっと変わるだけで、いろいろな手法を

    【機械学習を基本から丁寧に】TensorFlow Eager Executionで多項式回帰の実行 - HELLO CYBERNETICS
  • 機械学習で抑えておくべき損失関数(回帰編) - HELLO CYBERNETICS

    はじめに ニューラルネットワーク 損失関数を考えるモチベーション 回帰の損失関数 色々な損失関数 二乗損失 分位損失 Huber損失 感度損失(ε-許容損失) 損失関数の図示 二乗損失 分位損失 Huber損失 ε-感度損失(ε-許容損失) 比較 損失関数の使い分け1 損失関数の使い分け2 損失関数の使い分け3 最後に 分類に関する損失関数 はじめに 機械学習における教師あり学習では、入力に対してパラメータを用いて関数を構築し、正解データに対して損失を定義し、これを最小化する手続きを取ります。 損失を、色々なとの組に対して計算し、その総和が最小化されるようにを決めることを学習と呼びます。これにより未知のデータを入力した時に、それに対する正解をが出力してくれることを期待するのです。 学習がの最小化という目標に従っている以上、このをどのような形にするのかが重要になるのは言うまでもありません。

    機械学習で抑えておくべき損失関数(回帰編) - HELLO CYBERNETICS
  • 評価関数で見る機械学習手法 - HELLO CYBERNETICS

    最近、学習は最適化問題に帰着されるということを自分自身強く意識するようになりました。 そこで有名なSVMや対数線形モデルなどの評価関数を見て、それぞれがどのような狙いを持っているのかを概観してみようと思います。 Support Vector Machine 評価関数 解釈 ソフトマージン 対数線形モデル 狙い 実際の最適化問題 解釈 正則化 正則化項の取り扱い 評価関数の一般的な取り扱い 正則化と最大事後確率推定(Maximum a-posteriori estimation:MAP推定) 対数線形モデルは最大事後確率推定 Support Vector Machine 線形関数 で分離面を構成するのが第一の考え方です。 評価関数 がマージンと呼ばれるもので、これを最大化するのがSVMです。絶対値は取り扱いにくいので、代わりに二乗を考え、分数も厄介なので、逆数を取り、以下の最適化問題に帰着し

    評価関数で見る機械学習手法 - HELLO CYBERNETICS
  • 1