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

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

機械学習

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…

アニメの顔写真をBag of Keywordsで分類してみた

皆さんこんにちは お元気ですか。私は眠いです。書いている時間が深夜なんて言えない。さて、今日はアニメの顔写真を分類してみます。 画像認識の分野において結構メジャーな手法であるBag of Keywordsを使います。 Bag of Keywordsの概要 Bag of keypoints,…

DenoisingAutoEncoderを実装してみた(C++)

皆さんこんにちは お元気ですか。私は元気です。さて、今日はAutoEncoderの一種であるDenoisingAutoEncoderを実装してみました。 ublasの機能と補助機能ライブラリを使ってます。作ったのはいいのですが、ぶっちゃけファイル多くて困っています。理論はこち…

Sklearnを使った機械学習

皆さんこんにちは お元気ですか。私は元気です。さて、今日はSklearnを使ってみたいと思います。 Sklearnとは? Pythonで使える機械学習のライブラリです。 インストールですが、以下のとおり sudo pip install scikit-learn How to Use 基本的に殆どの機械…

混合ガウスモデルをC++で実装した(Gaussian Mixture Model)

皆さんこんにちは お元気ですか。私は元気です。今回は混合ガウスモデルと呼ばれるクラスタリング手法を解説したいと思います。まず手順ですが、今回は 1.負担率の計算 2.クラスタのパラメータの更新①負担率の計算 あるデータのラベルが出る確率というの…

シグモイド関数を微分する

皆さんこんにちは お元気ですか。私は普通です。さて、今日は以下のシグモイド関数を微分してみます。 シグモイド関数とは何か? 以下のような形で示す関数です。ニューラルネットワークの活性化関数とかで使われます。 ニューラルネットワークの学習で最急…

ニューラルネットワークとは?

皆さんこんにちは お元気ですか?私はー。さて、本日はニューラルネットワークについて ニューラルネットワークって? 脳機能に見られるいくつかの特性を計算機上のシミュレーションによって表現することを目指した数学モデルである(Wikipedia)。なるほど…

最急降下法(機械学習のパラメータを求めるのに使います)

皆さんこんにちは お元気ですか?私は元気です。さて、本日は最急降下法について 最急降下法 関数(ポテンシャル面)の傾き(一階微分)のみから、関数の最小値を 探索する勾配法のアルゴリズムの一つ。勾配法としては最も単純であり、 直接・間接にこのアル…

機械学習 クラスタリングアルゴリズム、K平均法(Kmeans)

皆さんこんにちは お元気ですか?私は元気です。6/11:ソースコード訂正さて、今回は機械学習のアルゴリズムのうちクラスタリングアルゴリズムで有名である K平均法について取り扱って見ようと思います。 クラスタリングアルゴリズムって? データがあり、そ…

機械学習ってなに?

皆さんこんにちは お元気ですか?私はねむいさて、本日は機械学習について最近になり、Bigdataとか機械学習とか言われるようになってきました。ところで機械学習ってなんなのでしょうか? 機械学習とは…? 引用 機械学習とは、人間が言葉や常識を学習する過…

Deep Learning Tutorials Denoising AutoEncoder編

皆さんこんにちは お元気ですか。私は非常に眠いです。はよ寝ろよってことか?さて、本日はDeepLearningTutorialのDenoising AutoEncoderの解説(?)もとい勉強メモを書きます。 AutoEncoder 端的に申しますと、AutoEncoderとは生データから自動で特徴量を…

Deep Learning Tutorials Logistic Regression編

皆さんこんにちわ お元気ですか。私は元気です。Theanoの使い方って難しいですよね。そして、Deep Learning Tutorialsも難しい。 そんな僕のメモ代わりに解説でもしていきたいなと思います。 間違ってたらご指摘ください。今回はこちらのLogistic Regression…