とらりもんHOME  Index  Search  Changes  Login

2018_実用解析

2018年の実用解析I用のページです。

授業目標

計算機を使う数理解析の基礎を学ぶ。計算機言語Pythonを学び, それを用いて, 機械学習, 特に人工知能(ディープラーニング)の仕組みを理解し, 実際にコンピューターで実装してみる。

Linuxの最小限の機能をマスターしよう

機械学習・人工知能では, Linuxという基本ソフトがよく使われます。WindowsやMac以上によく使われます。そこで, この授業も, Linuxを使って進めます。

まず, Linuxを多少は使えるようになりましょう。Linuxは機械学習や人工知能そのものではありませんが, 機械学習や人工知能のソフトを動かしたり実装したりするには, Linuxの知識やスキルがちょいちょい必要になります。以下のコンテンツを自習してください:

Unix/Linux入門から抜粋:

  1. UNIXとは / CUIとGUI / なぜUNIXなのか?
  2. コンソール / プロンプト / コマンド
  3. 打ち込みを助けてくれる便利な機能
  4. ディレクトリ / パス
  5. ファイル / ファイルの種類と拡張子 / 隠しファイル
  6. テキストエディター vi
  7. 標準入出力・リダイレクト・パイプ
  8. シェル・ヒストリー・環境変数
  9. シェルスクリプト入門
  10. 圧縮・解凍・アーカイブ
  11. テキスト処理
  12. バイナリーデータ処理

2018/04/17

最尤法

最尤法(さいゆうほう)は, 統計学的にものごとを推定する時によく使われる考え方の総称である。もともと確率論や統計学では, ある事象が起きる確率の大小を議論するのだが, 最尤法では, ある事象が実際に起きた後に, 「この事象が起きるってことは, この事象が起きやすい状況があったと考えるのがもっともらしいだろう」と考え, その最も典型的な「起きやすい状況」を採用するのだ。

問: 20歳の日本人の身長は,

女性 平均158.32 cm, 標準偏差 5.52 cm
男性 平均171.66 cm, 標準偏差 5.60 cm

である(出典)。

ある日本人(20歳)について, その身長だけで女性か男性かを推定する方法を述べよ。その方法を, pythonで実装せよ。

この問では, 男女のそれぞれの身長を確率変数と考え, それぞれの確率分布を確率密度関数であらわす。その確率密度関数の値を男女で比べて, 大きい方の性別を採用する。平均と標準偏差だけでは確率分布はわからないが、ここでは正規分布を仮定しよう。

ニュートン法

代数方程式f(x)=0を数値的に解く方法に, ニュートン法がある。ニュートン法は, 関数y=f(x)の接線を求め, その直線とx軸の交点を求め, そのxでのy=f(x)の接線を求め, ...という手順で, f(x)=0となるxを推定していく方法である。詳しくはネット上にたくさん解説サイトがあるので調べてみよう。ニュートン法は, 「最適化問題」というものの考え方の基礎であり, 機械学習の理解に役立つ。

問: 正の実数aが与えられたとき, その正の平方根を計算する方法を述べよ。その方法を, pythonで実装せよ。

scikit-learnのインストール

$ pip3 install --user scipy sklearn # インストール
$ ipython3 
[ipython3] import sklearn # インスールできたか確認

notebookのインストール

notebookを使うと実行結果やコードをまとめて保存できるので便利!

詳しくはJupyter notebook(旧名:ipython notebook)でググってみよう。

$ pip3 install --user notebook # ノートブックのインストール
$ ipython3 notebook # ノートブックを立ち上げる

matplotlibのインストール

$ pip3 install --user matplotlib
Last modified:2018/04/17 09:34:09
Keyword(s):
References:[授業用ページ / lecture]