Monthly Archives: 5月 2012

「集合知プログラミング」第41回(5月29日)

Posted on by 0 comment

参加者 青木(読み手)、今井(記)
範囲 pp. 309 – 318

12章アルゴリズムのまとめ

  • 12.3 ニューラルネットワーク
    • p.310 図12-5の隠れ層3の値は、0ではなく-5なのではないか?
    • 12.3.1 ニューラルネットワークのトレーニング
    • 12.3.2 ニューラルネットワークのコード利用
      • p.312 [online]をnotspamでトレーニングを繰り返したときの、[online, pharmacy]の結果も見てみたいね。
    • 12.3.3 強みと弱み
  • 12.4 サポートベクトルマシン
    • p.313 下から1行目 誤植
      バックコートプレイヤーはOとして → バックコートプレイヤーは○として
    • p.313 図12-7とその上の説明
      本文では、
      身長の高いプレイヤー:フロントコート:×
      素早い動きを必要:バックコート:○
      として書いてあるが、図12-7では○と×が逆に見える。
    • p.314 l.4
      本文中では”Best”とあるが、図12-7では「最適」になっている。
    • 12.4.1 カーネルトリック
    • 12.4.2 LIBSVMの利用
    • 12.4.3 強みと弱み
  • 12.5 K近傍法

「集合知プログラミング」第40回(5月25日)

Posted on by 0 comment

参加者 今井(読み手)、青木(記)
範囲 pp. 295 – 308

11章 進化する知性

  • 11.9 さらなる可能性
    より複雑な問題を考えて挑戦する。

    • 11.9.1 数学的な関数を増やす
      複雑な問題を扱うには、ツリー作成に利用する関数を増やす必要がある。
    • 11.9.2 メモリ
      複雑な問題を扱うには、次のラウンドで利用する情報を保存する手段が必要である。
    • 11.9.3 さまざまなデータタイプ
      複雑な問題を扱うには、扱える変数の型を増やすことが必要である。
  • 11.10エクササイズ

12章 アルゴリズムのまとめ

  • 12.1 ベイジアン分類器
    • 12.1.1 トレーニング
    • 12.1.2 分類
    • 12.1.3 ベイジアン分類器のコードの使用
    • 12.1.4 強みと弱み
  • 12.2 決定木による分類器
    • 12.2.1 トレーニング
    • 12.2.2 決定木分類器の利用
    • 12.2.3 強みと弱み

「集合知プログラミング」第39回(5月22日)

Posted on by 0 comment

参加者 青木(読み手)、今井(記)
範囲 pp. 287 – 295

11章 進化する知性

  • 11.7 環境を作り上げる
    • p.287 コード l.5
      なぜ、logをとるのだろう?
    • p.290 l.5
      10<5 → 10>5の間違い
    • 11.7.1 多様性の大事さ
  • 11.8 シンプルなゲーム
    • p.292 コード l.15
      リストの[:]はどういう意味?
      → スライスで範囲の最初も最後も両方省略された形。つまりもとのリストと同じ範囲のリスト
    • 11.8.1 ラウンドロビントーナメント
      • p.293 コード l.3
        losses=[o for p in pl]o(オー) は、0(ゼロ)の間違いではないか。各要素を0で初期化しているのだと思う。
    • 11.8.2 実際の人間とプレイしてみる
      • p.294 コードの最後
        p.292のコードでは、0→x-1, 1→x+1, 2→y-1, 3→y+1 しているので、x軸を上から下、y軸を左から右、と考えている?

「集合知プログラミング」第38回(5月15日)

Posted on by 0 comment

参加者 今井(読み手)、青木(記)
範囲 pp. 277 – 287

11章 進化する知性

  • 11.2 ツリー構造のプログラム
    • 11.2.3 プログラムを表示する
      生成されたプログラムをツリーの文字列表現で表示するdisplayメソッドをgp.pyに追加。
  • 11.3 最初の集団を作る
    ランダムにプログラムを作るメソッドmakerandomtreeをgp.pyに追加。
  • 11.4 解決法をテストする
    • 11.4.1 単純な数学的テスト
      遺伝プログラミングをテストするデータセットを作成するメソッドbuildhiddensetをgp.pyに追加。
    • 11.4.2 成功の度合いを計測する
      テスト結果を評価するメソッドscorefunctionをgp.pyに追加。
  • 11.5 プログラムの突然変異
    プログラムの突然変異を行うメソッドmutateをgp.pyに追加。
  • 11.6 交叉(Crossover)
    プログラムの交叉(交配)を行うメソッドcrossoverをgp.pyに追加。

「集合知プログラミング」第37回(5月11日)

Posted on by 0 comment

参加者 青木(読み手)、今井(記)
範囲 pp. 267 – 277

10章 特徴を発見する

  • 10.5 株式市場のデータを使用する
    • (10.5.4章がない。目次にもない)
    • 10.5.5 NMFを走らせる
    • 10.5.6 結果を表示する
  • 10.6 エクササイズ

11章 進化する知性

  • 11.1 遺伝的プログラミングとは?
    • p.272 以前遊んだ、Robocodeとかで試すと面白いかも。
    • 11.1.2 遺伝的プログラミングVS遺伝アルゴリズム
    • (囲み記事)遺伝的プログラミングの成功
      • それほど強くはならないんだね。
  • 11.2 ツリー構造のプログラム
    • p.274 図11-2
      なぜ、+だけ○?
      → 図の下2行目に、「円で表記されているノードは」とあるので、単に本文から参照しやすくしただけ?
    • 11.2.1 Pythonでツリーを表現する
      • p.276 下から2行目 ミススペル
        substract → subtract
    • 11.2.2 ツリーの構築と評価

「集合知プログラミング」第36回(5月8日)

Posted on by 0 comment

参加者 今井(読み手)、青木(記)
範囲 pp. 260 – 267

10章 特徴を発見する

  • 10.4 結果を表示する
    特徴毎に単語のトップ6、記事のトップ3を出力するメソッド showfeaturesをnewsfeatures.pyに追加。

    • 10.4.1 記事を表示する
      記事毎に特徴のトップ3を出力するメソッド showatriclesをnewsfeatures.pyに追加。
  • 10.5 株式市場のデータを使用する
    NMFは数値データに対しても適している。Yahoo! Financeのデータを使って検討していく。

    • 10.5.1 取引量とは何か?
      ある期間内に売られたり、買われた株式の数のこと。
    • 10.5.2 Yahoo! Financeからデータをダウンロードする
      stockvolume.py作成。Yahoo! Financeからデータをダウンロードする処理を作成。
    • 10.5.3 行列の準備
      NMF関数で使用できる形にデータを変形。