2. 目次 • 1. 自己紹介 • 2. 概要:Random Forestとは • 3. 理論編 • 3-1. 決定木 • 3-1. Random Forest • 4. 実践編(プログラミングの流れ) • 4-1. 決定木 • 4-1. Random Forest • 5. デモ • 6. 参考文献
![機会学習ハッカソン:ランダムフォレスト](https://cdn-ak-scissors.b.st-hatena.com/image/square/9f435c1479631e9bf27ea1cf1c99938ec5e79f8d/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fpdf-140718220012-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
ずいぶん前にできていたのだが、変分ベイズのフォローのために、ブログに書くのを後回しにしてたオンラインEMについて。 確率的勾配法など、通常はオンラインの方がバッチより収束が遅い。 が、EMアルゴリズムについては、オンラインの方が収束が速いらしい。PRML にも「この逐次型のアルゴリズムはバッチ型に比べて速く収束する」と書かれており、また論文にもそういうデータが載っている。 EM アルゴリズムを実装してみると、確かに収束が遅い。 収束し始めてから遅いのなら許せるけど、2サイクル目くらいからすでに遅い。せめて最初くらいもうちょっと速くなんないの! と文句言いたくなる。 EM アルゴリズムの1サイクルは結構重いので、さらにその気分を助長する。 というわけで、オンラインEMアルゴリズムについてとても興味が湧いたので、実装してみた。 参考にしたのは Neal and Hinton の increme
可視化してみました。 解説 以下の動画が一番分かりやすいです。 www.youtube.com Q関数を最大化する, , の求め方は,実際に解いてみると,本当にラグランジュの未定乗数法を使うだけという感じでした。ただし という制約を組み込むのを忘れずに… について求めるところはちょっと迷ったので,導出を載せておきます。 ソースコード Pythonで書きました。movieディレクトリにpngを連番で出力します。アニメーションGIFを作るには以下のサイトを参照してください。 アニメーションGIFの作り方 ImageMagick編 hに関してのforループが残っていてnumpy力の低さが感じられますが,自信がある人は消してみてください。 # coding: UTF-8 import os import shutil import scipy import scipy.stats import m
機械学習プロフェッショナルシリーズ輪読会の発表スライドをまとめたページです。 随時更新します。 機械学習プロフェッショナルシリーズ輪読会 Conpass URL: http://ml-professional.connpass.com 1冊目:「深層学習」 2冊目:「異常検知と変化検知」 #1「深層学習」編 http://bookclub.kodansha.co.jp/product?isbn=9784061529021 正誤表 chapter 1: はじめに @a_macabee http://www.slideshare.net/beeEaMa/chapter-01-49404580 Chapter 2:順伝播型ニューラルネットワーク @a_macabee http://www.slideshare.net/beeEaMa/chapter-02-49488411 Chapter 3:確
CoreOSのDocker上でCentOSを動かしてみる。 CoreOS環境の準備についてはこちら。 環境について Docker: 1.0.0 CoreOS: 353.0.0 なお、CoreOSのバージョンは/etc/os-releaseに記載してある。 core@core-01 ~ $ cat /etc/os-release NAME=CoreOS ID=coreos VERSION=353.0.0 VERSION_ID=353.0.0 BUILD_ID= PRETTY_NAME="CoreOS 353.0.0" ANSI_COLOR="1;32" HOME_URL="https://coreos.com/" BUG_REPORT_URL="https://github.com/coreos/bugs/issues"
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
B-treeがMySQLで使用されている背景から、B-treeインデックスの構造、そしてそれに基づいたインデックスの使用方法の入門編です。以下の流れに沿ってまとめていきます。 インデックスってなに? B-treeってなんでインデックスに使われているの? B-treeインデックスの構造 インデックスの使用方法 ※ 勉強をかねてまとめていることもあり、間違っている箇所がございましたら教えていただけると嬉しいです。 インデックスってなに? 全体の内容の中から特定部分を探すために使用する、本の索引のような概念のことです。これを用いることで、検索を高速化することができます。 特定の項目が本のどこに載っているかを確認するために索引を調べることで、全ページを順に調べなくても、その項目が登場するページ番号がわかる MySQLのストレージエンジンでも、インデックスが同様の方法で利用されており、インデックスの
AtCoder Beginner Contest(ABC)とは? プログラミングには興味あるけど、何をしていいかわからない... そんな人のためのコンテンツです。 AtCoderとは? コンテストを通じて、プログラミングやアルゴリズムを学習するサービスです。 運営会社はAtCoder株式会社 使い方は? プログラミングコンテストとは? プログラミングコンテストとは、「与えられた問題をいかに素早く、正確に」解くことができるかを競うものです。 初めて参加される方は、練習ページで練習してみましょう! このコンテスト(ABC#001)の開催時間は、2013/10/12 21:00 ~ 2013/10/12 23:00となります。 ルール コンテストのルールは ルール を参照してください。 このコンテストのペナルティは5分です。 過去問&その他コンテスト AtCoder のページから参照できます。
CheckiOって知ってる? CheckiOというゲーム(?)に登録したので簡単にご紹介してみます。 人によっては「今更?」といわれてしまいそうですが、 どうかお許しください。。。 CheckiOとは プログラミングをゲーム感覚で学べるWebサービスです。 どの辺がゲームっぽいかというと、まずUIですかね。↓ すごーーーくざっくりした流れとしては 1.問題を解く 2.レベルが上がる 3.挑戦できる問題が増える となっているのですが、2、3あたりはまんまゲームですね。 問題自体は単純だけど、少し考えるくらいの問題(最初だけ?) また、解いた問題は他のプレイヤーの解答が見れる上に それにに対して「イイね」見たいな事とかコメントができるので、 世界のPythonista目線での良解答がわかるってのもすごくいいと思います。 対応言語 プログラミング言語としてはPythonです。 外国語とかの言語は
PythonユーザのためのJupyter[実践]入門posted with カエレバ池内 孝啓,片柳 薫子,岩尾 エマ はるか,@driller 技術評論社 2017-09-09 Amazonで最安値を探す楽天市場で最安値を探すYahooショッピングで最安値を探す 目次 目次 はじめに Jupyter Notebook (iPython Notebook)とは? インストール Notebookデータのバックアップ&マルチアカウントアクセスする設定 Jupyter Notebookのショートカット コマンドモードのショートカット Editモードのショートカット セルを上から全部実行する Markdownで文章を入力する 数式を入力する 数式の計算をする 画像をドロップアンドドラッグで挿入できるようにする 目次を見出し情報から自動生成する レポートタイトルを入力する方法 PDFに出力する Ma
Jupyterはすごい便利なんですが、この機能があったらなーと思うことがあります。 そんなときにはextensionです。 JupyterにはNotebook extensionsとかいうのがあって、機能の拡張ができるようになっています。 公式サイトにもextensionsがあるということはちょこっと載ってるんですが、いくつか使用してみると結構便利。 Jupyterは使っているけどextensionは使っていないというひとに是非試して欲しいです。 Jupyter notebook extensions Jupyterに機能を追加するextensionを集めたレポジトリがGitHub上に公開されています。 このレポジトリを利用すると、ブラウザからextensionのactivate/deactivateの切り替えが可能で便利です。 IPythonの公式デベロッパーチームとは関係ないグループで
最近、Javaからダイナミックライブラリの呼び出しをしようと考えていますが、「そもそもダイナミックライブラリってどうやって作るんでしょう?」ということで調べました。 OSXのダイナミックライブラリは、dylib ダイナミックライブラリは、Windowsだとdll、Linuxだとsoという拡張子になると思いますが、OSXだとdylibがそれにあたるようです。 下記ブログを参考に、試しに作ってみます。 mac の gcc で dylib を作成する方法 ライブラリのコードを書く。 早速、ライブラリのコードを書きます。 $ cd dylibexample/ $ vim dylibexample.c 簡単なライブラリコードを書きます。hello関数を実行すると、hello worldを出力するだけです。 #include int hello() { printf("hello world\n");
MacPortsでswftools@0.9.2を入れようとしたら失敗した - kanonjiの日記、MacPortsで入れる代わりに自前でビルドしたライブラリを使ってswftoolsをビルドしてみた - kanonjiの日記で、ビルドする時のライブラリについての知識が足りず困ったので、ちょっと調べてみました。基本的にLinuxについて調べてて、Macについても分かったところがあるって感じです。 ちゃんとまとめるほど理解出来てるわけじゃないので、分かった事を並べる感じで書きます。勘違いしてたり、ちょっと用語がおかしかったりするかもしれません。 LinuxとMacでは仕組みが違う LinuxではELF(Executable and Linking Format)という実行ファイルフォーマットがあって、この辺を調べていくとよくELFという単語を見かけます。 Macはというと、Mach-Oという実
I'm trying out Go for the first time. I was following these docs and wanted to run the go tour locally, but I haven't figured out how to get it to work. Where is the tool "tour" supposed to be found? I'm on OSX 10.11.3, and I installed Go via Homebrew my Go entries in .zshrc export GOPATH=$HOME/code/Go export GOROOT=/usr/local/opt/go/libexec export PATH=$PATH:$GOPATH/bin export PATH=$PATH:$GOROOT/
The MNIST database of handwritten digits, available from this page, has a training set of 60,000 examples, and a test set of 10,000 examples. It is a subset of a larger set available from NIST. The digits have been size-normalized and centered in a fixed-size image. It is a good database for people who want to try learning techniques and pattern recognition methods on real-world data while spendin
OpenStackディストリビューション「RDO」を用いて、実際に動作するOpenStack環境を構築しながら、OpenStackの利用方法や内部構造を学ぶ特集の第8回です。今回は、OpenStackとDockerを組み合わせて、仮想マシンインスタンスの作成からアプリケーションの実行までをまとめて自動化する方法を紹介します。 「基礎編」第4回では、1台の仮想マシンインスタンス上でDockerを利用しましたが、ここでは、複数の仮想マシンインスタンスが連携する環境を構築します。OpenStackによって仮想マシンインスタンスの作成そのものは自動化されていますが、アプリケーション環境が複雑になると、手作業での環境構築には時間がかかります。 そこで、自動化ツールのAnsibleを利用して、一連の作業を自動化していきます。Ansibleには、OpenStackやDockerを操作するモジュールが用意
Open Source Gadgets ├bc10Mk-II ├bc10 └bc9 Software ├Android ├ANT ├OpenFlow ├Docker ├OS X ├CUDA ├Synthesijer ├JavaRock ├Nios II uClinux ├Hadoop ├Python ├Deep Learning ├intel IPP └tips Hardware ├Armadillo ├Raspberry Pi ├BC-USB-Kit ├ANT ├DE0-nano ├Parallella ├Intel Galileo ├Intel Atom ├Sensor ├Camera Module └gumstix 電子工作 Demos 講演資料 参考資料 その他 BC::labs(en) Obsoletes FAQ Googleグループ bc9-dev STAFF BLOG ├BC
Large-Scale Item Categorization in e-Commerce Using Multiple Recurrent Neural Networks Precise item categorization is a key issue in e-commerce domains. However, it still remains a challenging problem due to data size, category skewness, and noisy metadata. Here, we demonstrate a successful report on a deep learning-based item categorization method, i.e., deep categorization network (DeepCN), in a
すぐにDockerを試したい人のための基礎コマンド Docker 虎の巻 Dockerの基礎のまとめが良かったので翻訳してみた.原典は,Docker Cheat Sheet.このまとめは説明は十分にあるが,例がほとんどない.実例を使って,コンテナとイメージに関する基礎コマンドをまとめてみる. OS X で試したい Vagrantを使う.バージョン1.4からはDockerのprovisioningに対応してるのでそれを使う. Download Vagrant - Vagrantより.dmgをダウンロードしてきてインストール. vagrant init precise64 http://files.vagrantup.com/precise64.box Vagrantfileを以下のようにすれば,すぐにDockerを使える. Vagrant.configure("2") do |config|
docker_cheat.md Docker 虎の巻 Fork from Docker cheat sheet 実際にコマンドを試したい場合は、すぐにDockerを試したい人のための基礎コマンドを参照 何故Dockerを使うべきか Why Should I Care (For Developers) "Dockerが面白いのはシンプルな環境に隔離性と再現性をもたらしてくれることだ.ランタイムの環境を一度作れば、パッケージにして別のマシンでも再利用することできる.さらに,すべてはホスト内の隔離された環境で行われる(VMのように).最も素晴らしい点は,シンプルかつ高速であることだ." Dockerで使われている技術 仮想環境構築に docker を使う LXC "Xen とか VirtualBOX みたいにホスト内に仮想マシンを立ち上げるんじゃなくて、ホスト内の隔離された環境で仮想マシンを動か
最近はChefとかAnsibleで構築を自動化する際に Serverspec で試験することも多くなってきたけれど、ServerspecだとXMLのテストがしにくい。 リソースタイプに'file'があるが、 containでは評価が正規表現なので通常のファイルの中身を見る文には便利。 describe file('/etc/httpd/conf/httpd.conf') do its(:content){ should match /ServerName www.example.jp/ } end しかしXML形式だとタグの中の複数の値(nameとvalueとか)を見なければいけないとなると、スペースとかが入ってきてやたら長大な正規表現を書くことになりそうで、いまひとつしっくりこない。 <property> <name>dfs.block.access.token.enable</name
Basics インストール方法から初歩的な説明。インド人訛り。 https://www.youtube.com/watch?v=8BTvpeplQPU&list=PLB-tlgQ97VrdH1qcBKTghZQ09Qy5P1g2K DerekさんのYouTubeビデオ。1時間でうまくまとまっている。 https://www.youtube.com/watch?v=CF9S4QZuV30 GoのオフィシャルページにあるRuss Cox さんのイントロダクション https://www.youtube.com/watch?v=ytEkHepK08c Vincent BattsさんのYouTubeビデオ。中級レベル。 https://www.youtube.com/watch?v=cMYhGNofHA4 おなじみRob Pikeさんのビデオ Concurrency Is Not Parallel
DSSTNEとは? DSSTNEは、Deep Scalable Sparse Tensor Network Engineの頭文字を並べたもので、読み方は“Destiny”と読むらしい。 なぜ今アマゾンがDeep Learning(DL)のオープンソースを発表したのか? DSSTNEは、既存のDeepLearningのオープンソースよりも、データがSparse(疎)なときに高いパフォーマンスを示すため、Amazonのように大量の商品データ、ユーザーデータを持ち、その二つのオブジェクトが購買、評価などの行動をした行動データを持つような疎行列データを持つ場合に強いDeapLearningのオープンソースと言える。 スパース(疎)行列データとは? 疎行列(そぎょうれつ、英: sparse matrix)とは、成分のほとんどが零である行列のことをいう。 スパース行列とも言う。 有限差分法、有限体積法
■ sprockets + rails-assetsを卒業して、npm + webpackへ移行 1年少々前、Webアプリのフロントエンド開発環境として暫定的にRails Assetsを使うことにしたのだけど、あれからjs界隈もしだいに落ち着いてきて*1、いろいろと勝ち組っぽいツールが決まってきた気がする。 そんなわけで、徐々にそっち方向へ移行してこうかな、と。とくにRails Assetsはサービス自体が終了の方向らしいので、まずはそのへんから。jsのパッケージマネージャとタスクランナーの勝ち組として、おれの観測範囲でみえてる感じだと: パッケージはpackage.jsonをnpmで管理するのが一番シンプル タスクランナーもnpmでいいよもう……という流れが強そう AltJSは使わずにES2015、ビルドにはWebpackとBabelの組み合わせ ってところか? 少し前に話題になった「1
All slide content and descriptions are owned by their creators.
Dockerを取り巻く最新の状況 2016年4月13日にDocker 1.11がリリースされた。PaaS基盤としてのDockerをより便利に利用するために、ネットワークの機能やセキュリティ対策や構成管理ツールの機能が強化されている。さらに2月24日には、クラウドプラットフォーム上でコンテナの統合管理を行うDocker Datacenterもリリースされている。 さらにDocker社は豊富な資金力により、SDN(Software Defined Networking)企業であるSocketPlane社や、ハイパーバイザ型でDockerコマンドとの連携を実現している軽量OSを開発したUnikernel Systems社、DockerコンテナをパブリッククラウドにデプロイするSaaSサービスを提供するtutum社など、多数の企業を買収している。Docker社は各社の製品を統合し、PaaSプラット
はじめに 画像の分類やオブジェクト認識などの問題でDNNが注目されていまして,たくさんのサンプルコードが公開されています.これらは分類(classification)の問題ですが,回帰(regression)の問題をDNNで解きたい場面もあると思います.本稿ではtensorFlowとscikit-learnのデータセットを用いて回帰の問題を解いてみようと思います. データセット scikit-learnの"diabetes"のデータセットを用います.これは糖尿病患者の生理学的な特徴量(10次元, real)と1年後の病状を表すターゲット(1次元, int)をセットにしたデータです.特徴量は$\pm0.2$に正規化されており,ターゲットの値域は$25<y<346$となっています.各特徴量がそれぞれの値が何を意味しているか理解していませんが,とりあえず回してみます.サンプル数は442です. ネ
Think IT 本書解説記事のご案内 本書の解説記事を以下のURLにて公開しています。本書に必要な前提知識、本書の構成と読み方のプラン等について説明。本書を通して、より効果的に機械学習を学ぶための解説となっています。 ◎ ブック・インサイド―『Python機械学習プログラミング』学び方ガイド 第3回(2016/09/16 更新)「単純な例でADALINEのイメージをつかむ」 https://thinkit.co.jp/article/10666 第2回(2016/08/08 更新)「パーセプトロンを読み解く」 https://thinkit.co.jp/article/10342 第1回(2016/06/30 更新)「学び方ガイド」 https://thinkit.co.jp/article/9926 著者プロフィール ◎ Sebastian Raschka(セバスチャン・ラシュカ) ミ
2016-05-24(火)19:30 - 21:30 https://html5j-begin.doorkeeper.jp/events/36265
本稿の目的 TensorFlow...かっこいい名前ですね.ロゴとかクール・クーラー・クーレストの三拍子です.坂本ですね.ただこのライブラリに限った話ではないと思いますが,少し記述に癖があって個人的に描きづらいというのが第一印象です.そこで,自分へのメモとして,もしくは成長の一環としてここに記事を残してみようと思います. 今回私は初めから Deep な沼に入水するのではなく,勉強の一歩目として TensorFlow を用いて円周率を求めるコードを書きました.記述言語であるpython,TensorFlowともに未熟者ですがどうぞ宜しくお願いします.また,両ツールともに現在勉強中であるために,間違ったことを記述している場合があります.訂正コメントなどでご指摘・ご指導いただけたら幸いです. TensorFlowは機械学習のライブラリです.詳細は公式ページをご覧ください. また,TensorFl
Ansibleにはsetup module、Chefにはohai、Puppetにはfacterというプラットフォームのインベントリ情報を取得するライブラリや機構があります。 ただ、リモートホストのインベントリ情報を取得したいときに、ohaiやfacterはリモートホスト側にインストールが必要だったり、setup moduleは単体で使いにくかったりするので、 「気軽にエージェントレスでプラットフォームのインベントリ情報を取得できるようにしたいなー」 ということでkomaというgemを作りました。 github.com Installation $ gem install koma Usage まず、公開鍵認証でSSH接続できるリモートホストを用意します。 例えば、 $ ssh k1low@example.com でログインできるようなホストですね。 で、そのssh コマンドを koma s
Emacsの正規表現が上手く使いこなせない・・・。 いや、私が使いこなせないんじゃない! Emacs が悪いんだ!! ……と思ったので改造です。 頭おかしい! Emacs の正規表現 Emacs の正規表現は独特すぎて頭おかしいです。他のに慣れてると全然使いこなせません。 RegExp replace (正規表現での置換)のときも、 どの文字が正規表現に引っかかっているかわからず結果、 Replaced 0 occurrences の一文を見てガッカリすることになります。 Emacs 標準搭載の Re-Builder という機能を使って、正規表現が一致するか見ることは出来ますが・・・*1 ちょっと例を見てみましょう。 使えない Re-Builder <p name="lemon"> lemon </p> <p name="melon"> melon </p> これの name="" の中身
GitBucketがMySQL、PostgreSQL対応したのでマイグレーションのテストをMySQLやPostgreSQLで実行できるようにしたいなぁと思って方法を考えています。 テスト用のDBを立てたりDockerを使ったりするのが一般的な方法なのではないかと思いますが、Javaで利用可能な組み込みMySQLなんていうものも存在するようなので試してみました(以前@makingに教えてもらいました)。 github.com 使い方はとても簡単で、Mavenの依存関係を追加して <dependency> <groupId>com.wix</groupId> <artifactId>wix-embedded-mysql</artifactId> <version>1.0.3</version> <scope>test</scope> </dependency> こんな感じで使えます。 Mysq
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く