のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

機械学習

CatBoostを5分程度で動かしてみた

皆さんこんにちは お元気ですか?私は年末の師走フラグが立っています。少し前(この界隈ではだいぶ前っぽい)にYandex社からCatBoostが発表されました。 これが発表されたことは知っていたのですが、時間が取れなくて利用してなかったソフトウェアの1つで…

PyTorchでCIFAR10を既存のCIFAR10のDataset Classを使わずに分類する

皆さんこんにちは。 お元気ですか。雨天が増えてきて、出かけるのが億劫になっています。PyTorchを使って画像認識データセットCIFAR10を分類しました。 KaggleでPyTorchユーザが増えてきたこともあり、勉強しました。最近、この手のチュートリアルやExamples…

クリスマスにもなってカノジョがいないからカノジョを作ってみた。

皆さんこんにちは お元気ですか?私はぼっちです。本記事は「カノジョできない機械学習エンジニア」の最終日です。 qiita.com本日の話の流れは次のとおりです。 はじめに カノジョがいないことに対する解決法 カノジョについての考察 カノジョとは 理想のカ…

Keras.jsを使って、JavascriptでDeepLearningを動かしてみる

皆さんこんにちは お元気ですか?一人で箱根温泉りらっくすできました。Keras.jsが出て、遂にKerasをjavascriptを扱えるようになりました。 (これ公式なのかどうかが非常に不安で、きっと違う) ということで実際に動かしてみようと思います。 Kerasについ…

Bandit Problemと強化学習ーこれであなたも大金持ち?ー

皆さんこんにちは お元気ですか。私は元気です。 本日はBandit Problemと呼ばれる問題を強化学習で解いてみます。 Bandit Problemについて 解き方 今回解いた問題 epsilon greedy algorithm Softmax Tempature UCB 感想 参考文献 ソースコード Bandit Proble…

Neural Networkでの失敗経験やアンチパターンを語る

皆さんこんにちは お元気ですか。私は元気です。今日は珍しくNeural Networkを使っていく上での失敗経験について語ります。 学習の時に案外、失敗するのですが、だいたい原因は決まっています。そう大体は・・・ ということで、今回は失敗の経験、アンチパタ…

Chainerにおけるグラフ構造をループで書いてみる。

皆さんこんにちは お元気ですか。私は元気です。実は私、Chainerでのfor文でLinkとして作成できることを知らず、 今の複雑なネットワークにChainer使いにくいと思っていましたが、以下にサンプルがあって こうすれば複雑なネットワークも組めるんだ。みたい…

Pythonで書けるDeepLearningのライブラリを比較してみた

皆さんこんにちは お元気ですか。私は元気です。ChainerのAdvent Calendar第16日目です。 DeepLearningのライブラリの比較を行ってみました。Chainer Advent Calendar 2015 - Qiita ライブラリ紹介 Chainer chainer.org日本製PFIが開発したライブラリ。個人…

Chainer version 1.5への対応に苦労する方へ

皆さんこんにちは お元気ですか。私は元気です。最近、ChainerのVersionが1.5へUpgradeしましたが… 従来までと異なり、GPUへの対応が大変です。 なぜ、大変になったか? Cythonへの対応 調べた限りだとCythonです。従来まではctypesを使って 行っていたので…

TensorFlowの可視化機能を使ってみる

本日はTensorFlowの可視化機能を使ってみる。皆さんこんにちは お元気ですか。私は元気です。今日はTensorFlowの可視化機能を使ってみました。 TensorFlowって何ぞ?といった方はこちらの記事を御覧ください。nonbiri-tereka.hatenablog.comまずは、可視化用…

TensorFlowのTutrialの解説と機械学習の実験をした。

今日は様々な箇所で賑わっているTensorFlowを使ってみました。皆さんこんにちは。 お元気でしょうか。朝弱いと結構困りますよね。 TensorFlowが盛り上がってたのでつい書いてみました。 TensorFlowとは http://tensorflow.org/ http://download.tensorflow.o…

Autogradで微分して、モデルを構築するとこまでの解説

皆さんこんにちは お元気ですか。Twitter上で突然賑わった、Autogradについて 書いてみることにします。 Autogradとは Autogradについての説明 github.com Autogradはnumpyらしく書くことができ、その記載した式を微分してくれるライブラリです。(in Python…

Word Embedding using GloVe

GloVeについて調べてみた。 皆さんこんにちは。お元気ですか。先日、EMNLP勉強会@PFIに行ってきました。 専門とは異なるので、普段聞けない話が聞けてよかったですね。 個人的にはRNN,LSTMがどう使われているのか、 Word Embeddingが流行していたそうだとい…

Mac10.9 でApache-Sparkを動作させてみる(in Python)

分散処理で有名なApache-Sparkを初動作させてみる。皆さんこんにちは お元気ですか。腹減った。分散処理のプラットフォームSparkを扱ってみます。 Apache Sparkとは spark.apache.orgApache Sparkは大きいデータを高速に処理する為のプラットフォームで Hado…

最近噂のDeepLearningLibrary DeepLearning4jを使ってみた(後編)

DeepLearning 4jの解説の後編を進めていきたいと思います。皆さんこんにちは お元気でしょうか。私はSWをエンジョイしています。一番上には今日話すこと持ってこないと、twitterで拡散された時にタイトル以外 何がいいたいのかわからない内容になってしまい…

最近噂のDeepLearningLibrary DeepLearning4jを使ってみた(前編)

皆さんこんにちは お元気ですか。私は元気です。本日は最近噂のDeepLearningLibraryのDeepLearning4j(dl4j)を使ってみました。 (1)なのは、次回ソースコードの解説を行う予定だからです。思っていたよりインストール部分が長くなりました。 DeepLearning4j…

Lasagneを使ったNeural Networkの構築

皆さんこんにちは お元気ですか。私は元気です。本日は、Lasagneを紹介したいと思います。 What is Lasagne? Lasagneは簡単にニューラルネットワークを構築できるライブラリです。 Lasagne/Lasagne · GitHub CNNやRNN(LSTM含)をサポートしている 複数の入…

Gensimを使った自然言語処理

皆さんこんにちは お元気ですか。私は元気です。今日はGensimを使い、自然言語処理を行います。 Install sudo pip install gensim 基本的なプロセス まず、学習処理ですが 基本的にはCorpusを作成する⇒ベクトルに変換する⇒何らかの処理をする(LSI,LDAとか)…

Hyperoptを使った、関数の最適化

皆さんこんにちは お元気ですか。私は元気です。本日はhyperoptと呼ばれるライブラリを紹介したいと思います。 KaggleのForamで時々あがっていたので、気になっていました。 Hyperoptについて What is Hyperopt? hyperoptはTree-structured Parzen Estimator…

Recurrent Neural Networkについて調査してみた

皆さんこんにちは お元気ですか。私は自由に元気です。今日はRecurrent Neural Networkについて見て行きたいと思います。 Recurrent Neural Network Recurrent Neural Networkは通常のネットワークと異なり、時系列が考慮されているニューラルネットワークで…

DenoisingAutoEncoderでアニメ顔の特徴を抽出してみた

皆さんこんにちは お元気ですか。私は人生元気に仲良くフリーダムに生きています。本日はDenoisingAutoEncoder(DAE)を使って実験してみたいと思います。DeepLearningの重みは可視化できます。他のブログで掲載されている 可視化について殆ど、MNISTだった…

ChainerでCIFAR-10の分類を行ってみる

皆さんこんにちは お元気ですか。私は元気です。前回はChainerの紹介をしました。機械学習ライブラリ Chainerの紹介 - のんびりしているエンジニアの日記nonbiri-tereka.hatenablog.com 本日はこのChainerを使って、CIFAR-10の分類を行ってみようと思います…

機械学習ライブラリ Chainerの紹介

皆さんこんにちは お元気ですか。私は元気です。Chainerと呼ばれる機械学習ライブラリを紹介しようと思います。 Chainerについて Chainerとは? ChainerはPreffered Networksが開発したニューラルネットワークを誤差伝播で学習する ライブラリです。(Python)…

Scikit learnで行う文章の特徴ベクトルの抽出

皆さんこんにちは お元気ですか。私は元気です。今日は、Scikit learnを使って、お手軽に文を特徴ベクトルに変換してみます。 どんな時に使うのか? ある文章、例えば、This is a pen(①)とThat is a pen(②)を機械学習で学習させるとき、 基本的に文字を…

Kaggleのコンペティションで公開されている手法・ソースコードのリンクをまとめてみた

皆さんこんにちは お元気ですか。私は元気です。日々、Kaggleで勉強しながら、自己研磨しているのですが、 優勝者の手法とか参考になる手法ってなかなか纏まってないと感じたので、探して、見つかった内容をこちらに載せようと思います。時々、追記して、情…

Kaggleで、Deep Oceanの画像コンペの結果が出ました

皆さんこんにちは お元気ですか。私は元気です。久々の投稿ですね。Kaggleで出場したコンペについて記載します。 どんなコンペティション? コンペティションのページはこちらです。 プランクトン121種類の画像を識別します。プランクトンの画像サイズは異な…

Scikit-learnのモデルをまとめてみた

皆さんこんにちは お元気ですか。私は元気です。今日はScikit-learnで扱えるモデルについて紹介したいと思います。気が向いたら追加します。 ※Sampleは割りと公式サイトのを少々改変したもの使っていたりします。ご了承ください。 モデル全般について Parame…

Torch7によるニューラルネットワークを使った機械学習

皆さんこんにちは お元気ですか。私は元気です。Torch7を使って具体的に、機械学習を実装してみようと思います。 Torch7におけるフレームワーク 基本的に以下に添って実装すれば問題ありません。1.データセットを構築する 2.モデルを構築する 3.学習する 4.…

Torch7 のインストール

皆さんこんにちは お元気ですか。私は元気です。Facebookが一部をオープンソースにしたとかで、最近話題のTorch7について記載してみた。 Torch7とは? http://torch.ch/:enable科学技術計算の為の、機械学習ライブラリで、LuaJITで動作します。 CUDAなどのGP…

Pylearn2のインストール(OS:Mac10.9 Marvericks)

皆さんこんにちは お元気ですか。私は元気です。今日はPythonを使ってDeepLearningを動かすpylearn2をインストールしてみました。なかなか手こずりました 事前準備 さて、事前にインストールしなければいけないソフトウェアが5つあります。 PIL PyYAML IPyth…