タグ

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

  • 強化学習の基本:マルコフ決定過程ってなんぞ? - 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
  • エントロピーからKLダイバージェンスまでの話 - HELLO CYBERNETICS

    情報理論でエントロピーなる概念を導入し、情報量を定式化したことを前回の記事で紹介しました。 s0sem0y.hatenablog.com 機械学習ではパラメトリックな推定を行う際に真の確率分布p(x)をq(x|θ)で表現するために、KLダイバージェンスKL(p(x)||q(x|θ))を最小化する問題に帰着させます。 KLダイバージェンスの性質が確率分布の隔たりを表現できると考えられるため、このような学習則が用いられ、実際にKLダイバージェンスの最小化は、尤度の最大化と数学的に一致しますから尤もらしい推定を行っていると言えます。 今回はこれを情報量なる観点から見なおして、元々の定義であるエントロピーの立場から、確率分布を近似する有効な手法であることを見ていきます。KLダイバージェンスは相対エントロピーと呼ばれる概念と同等のものであり、相対エントロピーの最小化が最尤推定に一致するわけですが、で

    エントロピーからKLダイバージェンスまでの話 - HELLO CYBERNETICS
    ZAORIKU
    ZAORIKU 2018/12/01
  • 【まとめ】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
  • Deep Learning勉強のための書籍【2018年版】 - HELLO CYBERNETICS

    はじめに 初級編 ゼロから作るDeep Learning 中級編 scikit-learnとTensorFlowによる実践機械学習 PythonとKerasによるディープラーニング 上級編 Pro Deep Learning with TensorFlow Deep Learning はじめに ディープラーニングに関する書籍は山ほど出てきています。 その中でどれを読めば良いのか分からない、というのは初心者にとって最初の問題でもあるでしょう。まずはブログなどのネットの情報を参考に勉強をする人が多いかと思われますが、私のブログも含め、大抵は個人の興味に沿ってバラバラに話題が提供されるため、できれば1つ1つ順を追って解説してくれる物が欲しいと感じるのが音と思われます。 今回は、数ある書籍の中でも私自身が所持していておすすめできるディープラーニングの書籍を載せたいと思います。 初級編 ゼロから作

    Deep Learning勉強のための書籍【2018年版】 - HELLO CYBERNETICS
  • 線形層と比較した畳み込み層 - HELLO CYBERNETICS

    はじめに 全結合層 全結合層の数式 非全結合層 畳み込み層 入力成分のindexに着目した非全結合層 非全結合・重み共有層 1D畳み込み層 2Dの畳み込み層 最後に はじめに 今回はニューラルネットワークの基的な構成要素である線形(全結合)層と畳み込み層について簡単に説明します。 これを説明するモチベーションは、「畳み込み層は線形層よりも優れた発展的手法、複雑な手法であるという勘違いが 初学者の中であるのではないかと感じ、それの解消をするためです。 以降、畳み込み層と線形層の最たる違いを主張するために、線形層のことを全結合層と呼ぶことにします。 この呼び名は、TensorFlowやKerasなどのフレームワークで採用されています(layers.dense)。 全結合層 全結合層の数式 まず全結合層について数式を以下に示します。 入力ベクトル$x \in \mathbb R^{D}$に対し

    線形層と比較した畳み込み層 - HELLO CYBERNETICS
  • ディープラーニングのハイパーパラメータ自動調整の概要 - HELLO CYBERNETICS

    はじめに ハイパーパラメータ自動調整の概要 学習という関数 グリッドサーチ 関数近似器(ガウス過程)による方法 メタヒューリスティック最適化 強化学習 まとめ ライブラリ はじめに ディープラーニングのハイパーパラメータ調整がとんでもなく退屈なことは周知の事実(?)です。一度学習を回すとその経過が気になってログを眺めてしまう人も多いのではないでしょうか。どうも望みがなさそうならさっさと次の値を試したいという思いもあることでしょう。そして、なるべく数を打ちながら良さげなハイパーパラメータの範囲を早く絞り込みたいと思うのではないでしょうか。 こういうこと自体を上手く自動化するような試みが欲しくなります。古典的な方法ではグリッドサーチで、とにかく考えうるパターン全部試してやれ!というものがあります。しかしこの方法はディープラーニングのように一回の学習に時間が掛かる場合には有効ではありません。 今

    ディープラーニングのハイパーパラメータ自動調整の概要 - HELLO CYBERNETICS
  • 最適制御からの強化学習 - HELLO CYBERNETICS

    はじめに 最適制御 そもそも制御問題とは? 自動制御 フィードバック制御 制御問題の例 最適制御問題 最適制御のまとめ 最適制御から強化学習へ 最適制御の困難 強化学習の形式と最適制御との比較 環境の振る舞いを知る方法は無いのか 強化学習の大まかな流れ モンテカルロ法 TD法 関数近似 最後に 制御の分野と強化学習 基的思想の違い 実用的問題 PID制御という巨人 はじめに 強化学習といえば、最強の囲碁ソフトAlphaGo に搭載されているアルゴリズムで一躍有名となった分野です。今回は強化学習の特殊な問題設定がどういうものであるかを強調するため、最適制御としての立場から発展させた強化学習を見てみたいと思います。 最適制御 そもそも制御問題とは? 例えば、自動車の速度を調整する場合、タイヤの回転を調整する必要がありますが、私達が実際にやっているのはアクセルやブレーキを踏み込むことだけです。

    最適制御からの強化学習 - HELLO CYBERNETICS
  • 機械学習関連を取り扱うはてなブログを探してみた - HELLO CYBERNETICS

    はじめに 自然言語処理の深遠 作って遊ぶ機械学習木で働くデータサイエンティストのブログ 人工知能に関する断創録 数学、ときどき統計、ところによりIT 空飛ぶロボットのつくりかた はじめに ただの雑記。 専門書的な内容ではなく、機械学習に取り組む実際の姿が見られるブログを取り集めました。例えばコードが載っているとか、分かりやすい解説があるとか、その手の記事が書かれているものに焦点を絞っています。 自然言語処理の深遠 非常に実践的。 今のところは、あまり記事は多くありませんが、Kerasを使った機械学習による自然言語処理に関しての記事が積極的に書かれています。Kerasの実装に関して、コードで検証を行っていたり、実用面で参考になることが多いと思われます。 hironsan.hatenablog.com 特に自然言語処理だとChainerやPyTorchのようなDefine by Runの

    機械学習関連を取り扱うはてなブログを探してみた - HELLO CYBERNETICS
    ZAORIKU
    ZAORIKU 2017/09/22
  • 機械学習をこれから始める人の線形代数を学ぶモチベーション - HELLO CYBERNETICS

    はじめに 機械学習に使われる主要な数学 線形代数 最も重要な理由 線形代数って何なんだ? 線形代数を学ぶモチベーション 線形代数を学んで、できるようになること 補足 微分積分学は? 確率統計は? 確率・統計を考えていくための初歩を確認したい人は以下の記事へ はじめに この記事は、私が機械学習を学んできて感じた、数学の役割をまとめたものです。記事を書く上で特に意識したのは、ある数学機械学習においてどのように活躍し、どのような旨味をもたらしたのか、そして、そこから数学を学ぶ意義を改めて抑えることです。 数学の解説をすることが目的ではないため、直接的に数学の疑問を晴らすということにはなりませんが、 これから機械学習を学んで行こうという場合に、数学がどのように役立ちうるのか、その全体像を予め把握しておくことに使っていただけると幸いです。 機械学習に使われる主要な数学 多くの書籍、多くの記事が世の

    機械学習をこれから始める人の線形代数を学ぶモチベーション - HELLO CYBERNETICS
  • 機械学習で抑えておくべき損失関数(回帰編) - HELLO CYBERNETICS

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

    機械学習で抑えておくべき損失関数(回帰編) - HELLO CYBERNETICS
  • 今更聞けないLSTMの基本 - HELLO CYBERNETICS

    ディープラーニングで畳込みニューラルネットに並ぶ重要な要素のであるLong Short-Term Memoryについて、その基を解説します。 LSTMとは リカレントニューラルネットワーク LSTMの役割 LSTMの計算 Output Gate Input GateとForget Gate Forget Gate Input Gate LSTMの肝であるMemory Cell周辺 Forget Gate側の出来事 Input Gate側での出来事 Cellの手前での出来事 出力付近の話 LSTMの役割 セル付近の役割 Forget Gateが過去の情報をどれだけ保持するか決める 全体を通しての役割 最後に LSTMとは LSTMとはLong Short-Term Memoryの略です。 short-term memoryとは短期記憶のことであり、短期記憶を長期に渡って活用することを可能に

    今更聞けないLSTMの基本 - HELLO CYBERNETICS
  • 時系列データ:隠れマルコフモデルの基礎と、リカレントネットの台等 - HELLO CYBERNETICS

    はじめに 隠れマルコフモデル 確率分布として考える 隠れていないマルコフモデル 隠れマルコフモデル 隠れマルコフモデルの学習 隠れマルコフモデルでの予測 隠れマルコフモデルで何ができるか リカレントネット リカレントネットの構造 時間方向への展開 深層学習について 記事 はじめに 隠れマルコフモデルでは、時系列的に変動するデータを確率的なモデルで表現します。 通常の機械学習手法(例えばサポートベクターマシン)などでは、データは各時刻毎に独立したデータであると仮定しており、そのデータの順番に意味がないという前提を持っています。(厳密には更に強く仮定をし、各データ点はある一つの確率分布から生起しているとし、各データ点同士は独立であるとする。これを独立同分布に従うデータと言う。) 一方で隠れマルコフモデルでは、データの変動(隠れマルコフモデルでは遷移と呼ぶ)が確率的に起こっているとしてその部分を

    時系列データ:隠れマルコフモデルの基礎と、リカレントネットの台等 - HELLO CYBERNETICS
    ZAORIKU
    ZAORIKU 2017/01/15