はじめに 『パターン認識と機械学習』の独学時のまとめです。一連の記事は「数式の行間埋め」または「R・Pythonでのスクラッチ実装」からアルゴリズムの理解を補助することを目的としています。本とあわせて読んでください。 また、機械学習で登場する確率分…
はじめに 様々な分野で多様なビッグデータが得られるようになり、こうしたデータを解析し、そこから「知」を得るための手段として、機械学習 (Machine Learning)、いわゆるAIが注目されています。そういった動きは、農学の分野でも広がってきており、我々生物測定学研究室でも、圃場のモニタリングに画像解析技術を用いたり、育種(品種改良)に機械学習のアイディアを応用した研究を行ったりしています。 こうした状況を鑑みて、本研究室では2020年前期(4月〜8月)に、機械学習の教科書の決定版ともいえる、Christopher Bishopによる『Pattern Recognition and Machine Learning (パターン認識と機械学習)』、通称PRMLに関する輪読会を開講しました。本輪読会では、PRMLの各章の末尾に付いている演習問題を、輪読会参加者の有志が解く、ということも行い
自分の勉強のためにPRMLで紹介されている手法の幾つかをピックアップして、Pythonで実装していくことにしました。基本的には、Pythonの標準ライブラリ以外に使っていいのはnumpyだけというルール(そのうちscipyぐらいは使ってるかも)でコーディングしていきます。ただし、matplotlibなどはアルゴリズムの部分とは関係ないので例外とします。 ベイズ曲線フィッティング ベイズ曲線フィッティングは、完全にベイズ的な取り扱いをすることで曲線をフィッティングする手法となっています。 最尤推定による予測分布ではどの点についても同じ分散となるのに対して、ベイズ曲線フィッティングではパラメータの事後分布を使ってベイズ的に(確率の加法・乗法定理を使って)予測分布を求めることで、各々の点について分散を計算することができます。各点について比較的自信のある予測なのかどうかを計算してくれます。 実装
はじめに 『パターン認識と機械学習』の独学時のまとめです。一連の記事は「数式の行間埋め」または「R・Pythonでの実装」からアルゴリズムの理解を補助することを目的としています。本とあわせて読んでください。 この記事は、9.2.2項の内容です。多次元混合ガウス分布(多変量混合正規分布)に対するEMアルゴリズムによる最尤推定をPythonで実装します。 【他の節一覧】 www.anarchive-beta.com 【この節の内容】 はじめに ・Pythonでやってみる ・真の分布の設定 ・データの生成 ・初期値の設定 ・最尤推定 ・コード全体 ・処理の解説 ・Eステップ ・Mステップ ・推論結果の確認 ・最後のパラメータの確認 ・パラメータの推移の確認 ・おまけ:アニメーションによる推移の確認 参考文献 おわりに ・Pythonでやってみる 人工データを用いて、EMアルゴリズムによる最尤推定
はじめに 『パターン認識と機械学習』の独学時のまとめです。一連の記事は「数式の行間埋め」または「R・Pythonでのスクラッチ実装」からアルゴリズムの理解を補助することを目的としています。本とあわせて読んでください。 この記事は、3.1.4項「正則化最小二乗法」の内容です。ラッソ回帰(Lasso回帰)の正則化項と最尤解の関係をR言語で可視化します。 【数式読解編】 www.anarchive-beta.com 【前節の内容】 www.anarchive-beta.com 【他の節一覧】 www.anarchive-beta.com 【この節の内容】 はじめに ・ラッソ回帰の正則化項と最尤解の関係 ・関数の準備 ・モデルの設定とデータの生成 ・最尤推定 ・おまけ:正則化係数と最尤解の関係 参考文献 おわりに ・ラッソ回帰の正則化項と最尤解の関係 「二乗和誤差関数・正則化項」と「重みパラメータ
PRML(パターン認識と機械学習:Pattern Recognition and Machine Learning)は,機械学習の基礎知識を身につけるのに非常にオススメな書籍です. 本記事では,PRMLの第1章にて紹介されている「多項式曲線フィッティング」について細部まで説明し,これをJuliaで実装してみます. GitHubのリポジトリ→こちら ソースコード(.jl,.ipynb)→こちら 概要 パターン認識のゴールは,観測されたデータをもとに,今後観測されるであろうデータを予測することです. その際に,観測されるデータがある関数によって生成されていると仮定し,その関数を多項式で近似することを考えるのが多項式曲線フィッティングです. 以下に,例を示します. x=0のときに0.07,0.125のときに0.32,0.25のときに0.19...のようにデータが得られ,以下のようにデータ点がプロ
PRML学習記 この度「パターン認識と機械学習」4章の輪講発表担当になったので、勉強したことやちょっとした解説などを書いていきたいと思う。自分もこの本に苦戦した人の一人なので、今後似たような境遇の人がいたときに参考になればとても嬉しい。もし数理的な誤り等を見つけたり、もっとこうした方がいいといった指摘があれば遠慮なくして頂けると助かります。 フィッシャーの線形判別 2クラス 識別関数の項は最小二乗から始まっているがそもそも最小二乗は「うまく使えないのは当たり前」という結論なので割愛。ということで2クラスのフィッシャーから。ここでは線形識別を次元削減の視点から見る。 入力としてD次元ベクトルを得て、以下の式で1次元に射影
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事では、PRML第7章で述べられている、サポートベクターマシン(Support Vector Machine. 以下、SVM)による2値分類を実装します。 対応するjupyter notebookは筆者のgithubリポジトリにあります。連載全体の方針や、PRMLの他のアルゴリズムの実装については、連載のまとめページをご覧いただければと思います。 始めに書いてしまいますが、今回の記事は**長いです。**というのも、「PRMLの本に書いてある内容だといまいち分かった気にならないなー」と思って調べているうちに内容が増えてしまったからで
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 先日、機械学習界隈では有名なパターン認識と機械学習(通称: PRML)を購入した。 パターン認識と機械学習 結構難解だという声も聞くが、機械学習をやる身としては理解しておいた方が良いので何とか読破しようと思う。ただ読むだけでは知識が定着しないので、読んだ内容をブログにまとめてアウトプットしていこうと思う。 また、PRMLの内容をまとめた資料として、松尾研の輪読資料もあるのでこちらも参考にしてもらいたい。 1.1 多項式曲線フィッティング 訓練集合 訓練集合として、N個の入力値$X≡(x_1, x_2,...,x_N)$と入力値
はじめに 『パターン認識と機械学習』の独学時のまとめです。一連の記事は「数式の行間埋め」または「R・Pythonでの実装」からアルゴリズムの理解を補助することを目的としています。本とあわせて読んでください。 この記事は、9.3.3項の内容です。混合ベルヌーイ分布に対するEMアルゴリズムによる最尤推定をPythonで実装します。 【数理編】 www.anarchive-beta.com 【他の節一覧】 www.anarchive-beta.com 【この節の内容】 はじめに ・Pythonで実装 ・MNISTデータセットの準備 ・初期値の設定 ・推論処理 ・コード全体 ・処理の解説 ・Eステップ ・Mステップ ・対数尤度の計算 ・推論結果の確認 ・パラメータの確認 ・学習の推移の確認 ・分類結果の確認 ・他の結果 参考文献 おわりに ・Pythonで実装 MNISTデータセットを用いて、混合
はじめに 機械学習を勉強する人が一度は耳にする「パターン認識と機械学習(通称PRML)」。 読んでみたいと憧れつつも、中身を見て絶望した人は少なくないと思います。 私も自主ゼミを開いて無理やり読み進めていたものの、担当箇所が下巻に移った時に「マジでなんもワカラン」と何度もくじけそうになりました。 今回は一応目で追った読了した私を支えてくれたUdemyの講座をご紹介します! 講座名:ベイズ推定とグラフィカルモデル:コンピュータビジョン基礎1 おすすめしたい理由 優しい解説が少ないPRML後半をカバー 「学習内容」からいくつかキーワードをピックアップしました。 PRMLにいるあいつらがたくさんいますね! 最尤推定 ベイズ推定 EMアルゴリズム 混合正規分布 ベイズ線形回帰 Gaussian process regression グラフィカルモデル 条件付き独立 forward-backward
PRMLこと、「パターン認識と機械学習」 のアルゴリズムをPython (numpyと必要に応じてscipy)でほぼスクラッチで実装する方法を解説した記事です。 対応するjupyter notebookは筆者のgithubのリポジトリ からご覧いただけます。 各記事へのリンク ※随時リンク先が増えていきます。 第3章 線型回帰モデル: ベイジアン線型回帰/エビデンス近似 第4章 線型識別モデル: ロジスティック回帰 第5章 ニューラルネットワーク: 全結合ニューラルネットワーク 第6章 カーネル法: ガウス過程回帰 第7章 疎な解を持つカーネルマシン: サポートベクターマシン(SVM)による2値分類 第8章 グラフィカルモデル → きちんと理解できていないので、当面保留。。。 第9章 混合モデルとEM: 混合ガウスモデルに対するEM algorithm 第10章 近似推論法: ベイズ混合ガ
はじめに 『パターン認識と機械学習』の独学時のまとめです。一連の記事は「数式の行間埋め」または「R・Pythonでのスクラッチ実装」からアルゴリズムの理解を補助することを目的としています。本とあわせて読んでください。 この記事は、4.3.2項と4.3.3項の内容です。ニュートン法によるロジスティック回帰のパラメータの更新式を導出します。 【実装編】 www.anarchive-beta.com www.anarchive-beta.com www.anarchive-beta.com 【前節の内容】 www.anarchive-beta.com 【他の節一覧】 www.anarchive-beta.com 【この節の内容】 はじめに 4.3.2 ロジスティック回帰 ・モデルの確認 ・勾配の導出 4.3.3 反復再重み付け最小二乗 ・ニュートン-ラフソン法 ・線形回帰モデルの場合 ・勾配の確
タイトルはいささか暴論ですが。 パターン認識と機械学習 上 私はもともとこの本を「機械学習の教科書」だと思って読み始めました。タイトルが『パターン認識と機械学習』ですからね。 最初に無理矢理読み通した感想は「難しい、良く分からない」というものでした。 ところが最近、ベイズ理論を勉強したいと思い、再びこの本を手に取ってみたところ……。 前回よく分からなかったところが、手に取るように分かるようになりました。 すべてが繋がって見えてくる。これは驚きです。 もちろんこの本がベイズ理論に基づいた統一的な視点から書かれた本であることは前文にも明記されており、副タイトルも「ベイズ理論による統計的予測」と書かれています。 しかしながら、この本の主テーマはむしろこの副題だと思うのです。「タイトルに偽りあり」と。 この副タイトルは実は日本語版にしかないそうで、翻訳した方が心ある方で「このタイトルだけではマズイ
そうそう。10億ゲットの五嶋さん、どうしても脳内配役がオーズの伊達さんになってしまうのですが、共感していただける方いるかしら? 仕事がつらいので「人工知能で10億ゲットする完全犯罪マニュアル」を本当に映画にするなら監督は誰かというのを考えながらやっている。エドガー・ライトかな…… カジノのマップを広げて、あらゆる監視の目をごまかし金を奪う、ってオーシャンズやん!って感じで面白かったです。 『マルドゥック・スクランブル』のカジノシーンを思い出しつつ 全体の雰囲気はガイリッチーみたいだった 読み終えたあと少し賢くなったと錯覚できるSFは良いSFなのだ 10億ゲットが超えらいところは、フィクション作品における紋切りの人工知能を扱うのではなく、プラクティカルな数理モデルに基づく人工知能を扱っていること いまのところ、「これ、大賞あげてよかったんじゃない???」っていう気持ちになってる SFなのにテ
はじめに 『パターン認識と機械学習』の独学時のまとめです。一連の記事は「数式の行間埋め」または「R・Pythonでのスクラッチ実装」からアルゴリズムの理解を補助することを目的としています。本とあわせて読んでください。 また、機械学習で登場する確率分布について色々な角度から理解したいシリーズです。 この記事では、R言語で散共分散行列と固有値・固有ベクトルの関係を計算して確認します。 【前の内容】 www.anarchive-beta.com 【数式読解編】 www.anarchive-beta.com 【他の記事一覧】 www.anarchive-beta.com www.anarchive-beta.com 【この記事の内容】 はじめに 分散共分散行列と固有値・固有ベクトルの関係の計算 分散共分散行列の設定 固有値・固有ベクトルの計算 固有ベクトルの性質の計算 分散共分散行列と固有値・固有
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く