PythonでXGBoostをちゃんと理解する(2) ライブラリ作者から学ぶ

XGBoostについて調べてたら、開発者本人から学ぶ的な動画があったので観てみた。www.youtube.com時間にして約1時間半、英語が苦手でなくて時間がある方は直接見て頂くと面白いかも。目次はこんな感じ。 ・Introduction ・Basic Walkthrough ・Real World App…

Pythonで実装 PRML 第5章 ニューラルネットワーク

PRML5章から図5.3を再現するために、ニューラルネットワークを実装してみます。 先に申し上げておきますと、偉そうに実装とか言ってるものの、コードから再現した図は歯切れの悪いものとなっております。。。まず、図5.3(b),(c),(d)に関してはPRMLの中の図に…

PythonでXGBoostをちゃんと理解する(1)

なんせ、石を投げればxgboostにあたるくらいの人気で、ちょっとググれば解説記事がいくらでも出てくるので、流し読みしただけでなんとなく使えるようになっちゃうので、これまでまとまった時間を取らずに、ノリと勢いだけで使ってきた感があります。が、腹に…

Pythonで実装 PRML 第4章 パーセプトロンアルゴリズムによる分類

前回に続いてパターン認識と機械学習、第4章「線形識別モデル」の図4.7の再現です。この図はパーセプトロンアルゴリズムでの分類が収束する様子を表したもので、右下の図で収束完了となってます。本当は特徴空間上での話なのですが、作図の都合上、となる恒…

Pythonで実装PRML 第4章 最小二乗法とロジスティック回帰による識別

パターン認識と機械学習、第4章「線形識別モデル」に入って図4.4、図4.5の再現を行います。まずは4.1.3の最小二乗法による識別ですが、ノイズが混ざると上手く分類できない点、多分類になると上手く機能しない点が図の4.4、4.5で説明されてます。 また、4.3.…

Pythonで実装 PRML 第3章 ベイズ線形回帰

パターン認識と機械学習、第3章からベイズ線形回帰が予測分布を収束させていく様子を再現します。 やっていることは、1章でやったベイズ推定とほぼ一緒で、基底関数がガウス関数(3.4)になっているだけです。 ですので、コードもほぼほぼ流用してます。1章と…

Pythonで実装 PRML 第2章 確率分布 ノンパラメトリック手法

パターン認識と機械学習、第2章からは「2.5.2 ノンパラメトリック手法」を実装します。取り出してきたデータの数を数え上げて、確率分布を把握する手法が紹介されてます。 この章はあんまり時間かけてもしょうが無いなと感じたので、さくっと実装。 カーネル…

Pythonで実装 PRML 第1章 ベイズ推定

前回に続いて、PRML1章から「1.2.6 ベイズ推定」の実装です。 図1.17の再現ですが、M=9とした上で、予測分布の平均と±1σの範囲を示しています。数式追ってるだけだと抽象的で、いまいちピンと来なかったんですが、 実装することで、(1.70)、(1.71)が分布を示…

Pythonで実装 PRML 第1章 多項式曲線フィッティング

パターン認識と機械学習、第1章から「多項式多項式曲線フィッティング」の図の再現に取り組んでみます。 早速図1.4の再現から行ってみたいと思います。また、データの数を増やすことで、予測の正確性が増すことの確認を図1.6で行っています。数学的にも実装…

PuLPを使った線形計画法(Linear Programming)

カーネルやら何やらを理解するために、非線形計画法を勉強中。 で、その前に線形計画法で実際に手を動かしたくなったので無償で使えるPuLPを使ってみた。今回例題として解いたのは「これならわかる最適化数学」の第6章、線形計画法。 似たような例題がいくつ…

ハッシュとカーネル

最近Spark使ってて特徴量減らしたいよねってなった時に、 Future Hashingを漠然と使ってたけど、気になったかた勉強。 Hash Trickの前にKernel Trick どっか違う空間に写像するってことで似てるけど、若干用途が違うカーネルトリックから。 線形空間では分離…

PysparkのMllibでリッジ回帰

作ったPysparkの環境でMap関数の練習リッジ回帰やってみました。元ネタはedXのこの講義↓ Scalable Machine Learning | edXデータはMillionSongDatasetから取得できます。で、結果から先に書きますと、Default値含めてGridsearchしたにも関わらず、 Default値…

Pysparkでテキストマイニング第一歩 on Amazon EMR with Jupyter notebook

SparkをAmazon EMRに乗せてみたので備忘録的に。といってもめちゃくちゃ簡単だった。他にはローカルでSpark立ててしまう、AmazonEC2使うとか選択肢あったけど、 価格見ても高くないし、いつか本格的に使うことを想定して、EMRでの予行演習的な位置づけ。下記…

scikit-learnで機械学習:決定木(2)

前回の続きで、Scikit-learnの決定木を使ってみます。ここから先は難しいことは何もなくて、本家に従いながら走らせてみる。もろもろimport。 import numpy as np import pandas as pd from sklearn import datasets from sklearn import tree from sklearn.…

VagrantとVirtualBoxで環境構築

「なんでこっちで動いて、そっちで動かんねん」を解消するために環境構築備忘録。VirtualBox:オラクルが提供しているx86仮想化環境ソフトウェア・パッケージ Vagrant:開発環境の管理ツール。 この二つ組み合わせて、みんなで同じ環境を構築&共有。 色んな…

scikit-learnで機械学習:決定木(1)

犯罪予測における時空間分析の研究にずいぶん時間を使っていてブログが放置状態でしたが、久々の更新。 だいぶ遠のいていた機械学習の進めます。Scikit-learnで決定木やってみます。 参考にしたのは、scikit-learnの本家、Decision Treeの項目。アルゴリズム…

一般化線形モデル(GLM)とニューラルネットって一緒やんね (2)

前回の続きで、一般化線形モデル(GLM)と多層パーセプトロンの比較です。一般化線形モデル(GLM)とニューラルネットって一緒やんね (1) - KAZ log 機械学習の観点から:多層パーセプトロン ニューラルネット、パーセプトロンについては下記に非常にわかりやす…

一般化線形モデル(GLM)とニューラルネットって一緒やんね (1)

ちょっと乱暴な気もしますが、一般線形化モデル(GLM)とニューラルネットの多層パーセプトロンってやってること一緒なんですよね。 バラバラっと散らばったデータの中に、納得感ある線をバチっとひいちゃうわけで。 両方の分野をやる方も多いかと思いますが、…

【読書メモ】異端の統計学 ベイズ

お正月休みに読了した本について。 目次は後ろに記した通りで、ベイズ統計学の歴史を1740年代からごく最近まで続いた、頻度主義者との論争を中心に描いたもの。 異端の統計学 ベイズ作者: シャロン・バーチュマグレイン,冨永星出版社/メーカー: 草思社発売日…

10分でPandasを学ぶ

"pandas 0.15.2 documentation"の中に、"10 Minutes to pandas"なんてのがあったので、覗いてみたらかなり頭の中が整理された。 まじめにやると10分じゃ終わらんが、便利そうなところだけかいつまんでメモ。 まずはPandasとNumpyのインポート。 #import libl…

Pythonで回帰分析

「わざわざPythonで?」ってところもあるかも知れませんが、とりあえず手を動かしてみようと、フィッシャー御大のあやめ(iris)のデータで回帰分析までやってみました。 参考にしたのは、「データサイエンティスト養成読本」。 データサイエンティスト養成読…

ブログをはじめます

テクノロジー業界に足を踏み入れることになりました。 情報交換用のブログです。