2010-05-29

R packages for machine learning and statistical learning

R package ElemStatLearn では, 統計学習の教科書 Elements of Statistical Learning に対する R package を紹介しましたが, これを紹介しているページ CRAN Task View: Machine Learning & Statistical Learning にある, 機械学習, 統計学習のための他の R パッケージを 以下のような項目にしました.

» 続きを読む

2010-04-12

Python Copy Special Exercise in Japanese

Nick Parlante 氏による Google's Python Class で 出されている演習問題の3つ目, Copy Special Exercise を翻訳してみました. この演習問題を含む資料全体が クリエイティブ コモンズライセンスにより公開されています. このライセンスにより公開して頂いていることに 感謝しています. 以下の翻訳も同じライセンスに従います.
今回翻訳した演習を含む, 4種類の演習の いずれに対しても, 模範解答が問題とともに提供されています.

(5月3日追加)
練習問題だけでなく, Google's Python Class の講義資料も翻訳してみました. 翻訳版のホームページから 各項目へのリンクがあります. 講義映像を見なくても講義資料の情報のみで練習問題は解けるようになっています.
(5月3日追加ここまで)

» 続きを読む

2010-03-21

MIT Python 教室 第21回 (シミュレーション結果の確認、曲線のあてはめ、線形回帰、PyLab)

Python と計算機科学の入門講義の21回目.

前回は円周率をモンテカルロ法により求める方法を説明していました. 今回は, 大きく分けると前半と後半に分かれています. 前半は, その求められた円周率の値の正確さを議論し, 推定した値の正しさは, 推定に使ったモデルに依存することを説明しています. そこから発展して, 後半では 測定したデータに対するモデル (関数) の当てはめ (最小二乗法) について説明しています. 最小二乗法について, 計算方法の導出などの説明はありませんが, Python のライブラリである Pylab に含まれる最小二乗法をするための関数を説明しています. データに対する関数の当てはめについては, 次回の講義に続きます.

» 続きを読む

2009-09-28

MIT Python 教室 第2回 (演算子、命令、条件分岐、繰り返し)

講義映像を見ていると, 講義中に質問すると菓子がもらえるシステムが 採用されています. Stanford でのある講義でも 質問するとチョコバーがもらえるシステムが 採用されていたので, アメリカや他の国ではしばしばあること なのかもしれません.

今回の講義は, 前半が型, 演算子, 変数に関する説明, 後半が, 命令, 条件分岐, 繰り返しについて 配布資料中のプログラム (プログラム 1-5) を使った説明でした.

» 続きを読む

2009-09-27

MIT Python 教室 第1回 (データの型、演算子、変数)

2008年度 MIT で行われた, Python のプログラミング入門 (Introduction to Computer Science and Programming) の講義 (全24回) の1回目を聴講. (講義全体の説明は 前のエントリ で説明しています. )

1回目なので, 本論にはまだあまり入っていません. 講義中の主な話題は次の通り.
  • 受講の注意
  • 二乗根の計算における宣言的知識と命令的知識の違い
  • 単一目的コンピュータとプログラム格納コンピュータ
  • 計算モデル (メモリ, ALU, プログラムカウンタ)
  • チューリング機械の基本命令は 6つ
  • Python の特徴 (高級言語, インタプリタなど)
  • Python による実際の計算
  • 本格的な講義は次回以降のようです.

    2009-09-26

    MIT Python 教室(講義映像)公開

    2008年度に MIT で行われた, Python のプログラミング入門 (Introduction to Computer Science and Programming) の講義ビデオが1週間前公開されたようです. SICP (Structure and Interpretation of Computer Programs) に基づく scheme 入門の講義から変更されて, 始まったもののようです.

    ウェブページはこちら. 初回の講義ビデオは, こちらで iTunes, Internet archive を通してダウンロードでき, こちら で Youtube を通して見ることができる. この講義は, コンピュータを専門としない学生を対象としたプログラミング入門になっています. その概要は次の通り.
    この授業は, プログラミングの経験がほとんど, または, まったくない学生に向けたものです. この授業では, 問題解決において計算が果たす役割を学生に理解してもらうことを目的としています. また, 学生の専攻に関わらず, 有用な目的を達成出来る小さなプログラムを書く能力に自信が持てるようにすることも目的としています. この授業では, プログラミング言語 Python を使います.
    講義は全24回. ここにあるように, 各回はほぼ一時間ずつで, それぞれの内容は次の通り.
    1. 授業の目標. 計算とは何か. データの種類, 演算子, 変数の導入.
    2. 演算子と演算対象. 命令, 分岐, 条件文, 繰り返し.
    3. 共通のコードパターン. 繰り返しプログラム.
    4. 関数を経由した分解と抽象化. 再帰計算の導入.
    5. 浮動小数点. 逐次改善. 二乗根の計算.
    6. 二分法. ニュートン/ラフソン法. リストの導入.
    7. リストと変異性. 辞書. 擬似コード. 効率の導入.
    8. 計算の複雑さ. 対数時間, 線形時間, 二次, 指数時間のアルゴリズム.
    9. 二分探索. バブルソート. 選択ソート.
    10. 分割統治法. マージソート. 例外.
    11. テストとデバッグ
    12. デバッグの詳細. ナップサック問題. 動的計画法の導入.
    13. 動的計画法. 重複する部分問題.
    14. ナップサック問題の解析. オブジェクト指向プログラミングの導入.
    15. 抽象データ型, クラス, メソッド.
    16. カプセル化. 継承, シャドーイング.
    17. 計算モデル. ランダムウォークのシミュレーション.
    18. シミュレーション結果の表示. Pylab. プロット.
    19. 偏りのあるランダムウォーク. 分布.
    20. モンテカルロシミュレーション. 円周率の推定.
    21. シミュレーション結果の検証. 曲線のあてはめ. 線形回帰.
    22. 正規分布. 一様分布. 指数分布. 統計の誤った使い方
    23. 株式市場のシミュレーション
    24. 講義全体を通して. 計算機科学者がしていること.