本日MXNet公式でアナウンスがあったばかりのAutoGluonを早速使ってこの記事を書きました。これは普通のHyperparameter Optimizationには止まらない,Feature EngineeringやModel Selectionまで含む,いわゆる「全てお任せ」のAutoMLライブラリです。 中のコードはMXNet主体ですが,AutoGluonで全て隠蔽されているので,実際MXNetを使ったことがなくても問題なく利用できます。 (For Pytorch Userというのがある通りPythonコードを書けばPytorchなどでも利用できる様です。念のため。) 今回は速報的に公式のチュートリアルを追ってみたいと思います。 公式Tweetは以下。 AutoGluon, a new open source toolkit from @awscloud based on #MXN
こんにちは。 @tereka114です。 最近はCA x atma杯に参加するなどバタバタしておりましたが、少しずつ落ち着いてきました。 今回、AutoGluonと呼ばれるツールを使ってテーブルデータに挑戦してみました。 AutoGluonについて AutoGluonは簡単に拡張、利用ができる自動機械学習のライブラリです。 前処理、ハイパーパラメータのチューニング、モデル選定、或いはアンサンブルといった機械学習のモデリングを自動化できます。 これにより、機械学習に詳しくない人も簡単に精度が高いモデルの作成ができます。 autogluon.mxnet.io AutoGluonはテーブルデータの分類・回帰、画像分類、文書分類、物体検出、そして、ニューラルネットワークのアーキテクチャの自動構成を行うNAS(=Neural Architecture Search)に対応しています。 今回は、テーブ
FXのデータで研究を始めてみたものの、全く収束する気配がありません。 もしかしたらLSTMの使い方を間違っているのかも? 確認のため簡単なシミュレーションデータで実装してみました。 データはよく使われるsin波(に少し手を加えたもの)です。 簡単なLSTMモデルの定義 loss = gloss.L2Loss() # 損失関数 ### sequentilalモデルを作ってもよいけれど、これでいく! class RNNModel(nn.Block): def __init__(self, rnn_layer, **kwargs): super(RNNModel, self).__init__(**kwargs) self.rnn = rnn_layer self.dense = nn.Dense(1) def forward(self, inputs, state): X=inputs Y,
scikit-learnの便利なAPIについて,新しく知ったことをメモする. $HOME/Desktop/memo.mdにメモを書き溜めていたが誤ってrmしてしまったのでQiitaを使ってみる. 新しく学びを得たら随時追加していく. (間違いがあったらご指摘頂けると幸いです.どうかよろしくお願いします.) データの前処理 ライブラリの Preprocessing モジュールには神が宿っており, import する際にはコミッターに感謝を捧げる必要がある. 素性の次元削減 k個の素性を選択する. SelectKBestの第一引数は関数でchi2のほかにもf_classifなどが使える. 素性の次元削減には他にも RFECV などがあるけれど,どう違うのかよく分かっていないので今後調べたい.
データ分析コンペでは Target Encoding という特徴量抽出の手法が用いられることがある。 Target Encoding では、一般的に説明変数に含まれるカテゴリ変数と目的変数を元にして特徴量を作り出す。 データによっては強力な反面、目的変数をエンコードに用いるためリークも生じやすく扱いが難しい。 今回は、そんな Target Encoding のやり方にもいくつか種類があることを知ったので紹介してみる。 元ネタは CatBoost の論文から。 CatBoost: unbiased boosting with categorical features (PDF) 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.14.6 BuildVersion: 18G103 $ python -V Python
初めてのQiita投稿です。Ridge-iという会社で機械学習を中心としたコンサル~開発をしてます。 強化学習について教える機会が出てきたので、三目並べをベースに モンテカルロ Q-Learning Deep Q Network (いわゆるDQN) についてJupyter(ipython) で実装して教材を作りました。 ちなみに強いプレーヤー同士ならば、ドローだけが繰り返されるはずです。(WarGameの有名なやつですね。) 結論としては モンテカルロ 実装簡単。100回試行位でほぼ負けなし(50回くらいだと時々負ける) Q-Learning 更新式の設計に気を遣う。3目並べ程度なら10万対戦で最強 Deep Q Network 色々な落とし穴が多数。最適なトポロジーがわからん。Leaky Reluにするまで最弱。教え方ミスると何も学習しない。などなど Q-Learningまでの実装は1
せっかくの週末にもかかわらず台風が来てしまい、テニスも出来なければ街歩きも出来ず暇を極めることになってしまったので、UCI ML repositoryを眺めていて見つけた適当なデータセットに対してTensorFlowで遊ぶということをしてみました。 基本的にはこのシリーズの前回の記事の続きです。 データセット UCI Machine Learning Repository: YouTube Spam Collection Data Set 用いたデータセットはこちら。YouTubeの5種類の動画についたコメントに対して、スパムか否かのタグ付けがされたものです。一つ一つの動画に対するサンプルサイズだけでは小さ過ぎるので、手元で1つにまとめた上で、不具合のあった2行*1を削除したものを用意しました。 分類器 やることは簡単で、TF-Hubのpre-trained modelでコメント欄の内容を
こんにちは。 決定木の可視化といえば、正直scikit-learnとgraphvizを使うやつしかやったことがなかったのですが、先日以下の記事をみて衝撃を受けました。そこで今回は、以下の解説記事中で紹介されていたライブラリ「dtreeviz」についてまとめます。 explained.ai dtreevizの概要 dtreevizとは より良い決定木の可視化を目指して作られたライブラリです。 解説記事 : How to visualize decision trees Github : GitHub - parrt/dtreeviz: A python machine learning library for structured data. Sample Imagesdtreeviz/testing/samples at master · parrt/dtreeviz · GitHub 多
こんにちは、DSOC R&Dグループ研究員の 奥田 です。最近はYouTubeでコーギーの動画ばかり見ているのですが、あの食パンみたいなお尻が最高です。 今回は大規模グラフに対するグラフ埋め込み(Graph Embedding)を計算するPytorch-BigGraphについて紹介いたします。また、記事の後半ではWikipediaの実データを対象に、約200万ノード1億エッジという大規模グラフに対するグラフ埋め込みの計算や類似記事検索の結果などをご報告できればと思います。 概要 グラフ埋め込み グラフ埋め込みとは、ノードとエッジから構成されたグラフ構造から、ノードの埋め込み表現を得るための手法やその表現自体のことを指します。直感的には、自然言語処理における単語埋め込み(Word Embedding)のグラフ版だと考えると理解しやすいかもしれません。 単語埋め込みにおいては、ある単語の意味は
scikit-learnの決定木をjupyter notebook上で対話的に可視化できるようにしてみた 背景 決定木の可視化 機械学習モデルを人が理解できるようにする技術に興味を持っています. 特に決定木は皆さん大好きな勾配ブースティング木 (GBM) の一要素でもあり, 決定木を人が理解できるように可視化することには価値があります. 機械学習モデルの中では決定木は人が理解しやすい(解釈可能性が高い)モデルと言われており, 例えばscikit-learnではgraphvizやmatplotlibで可視化することができます. www.haya-programming.com ただしこの可視化は分岐条件がテキストで書かれていて直感的な理解がしにくく, 見た目もちょっとイケてないと感じます. これに対してpythonではdtreevizという素晴らしい決定木可視化パッケージが公開されています.
word2vecや系列モデル等で学習した分散表現の埋め込みベクトル(word embeddings)は、単語の意味をベクトル空間上で表現することが可能です。最も有名な例では「King - Man + Woman = Queen」のように意味としての加算や減算がベクトル計算で類推可能なこともあり、ベクトル空間の解釈として低次元へ写像する形で分散表現の可視化が行われています。 可視化の際に用いられるツールとしては、TensorFlowのツールの一つであるTensorBoardが、豊富な機能とインタラクティブな操作性を備えていて一番使い勝手が良いと思います。ただ、TensorFlowと組み合わせた可視化は容易なのですが、他のツールやパッケージで作成したコードをそのまま読み込めないなど、かゆいところに手が届かないと感じる部分もあります。 そこで今回は、すでに学習された単語の分散表現を可視化するため
Code for Naraがらみで, 施設に出入りする人のカウント及びそのデータ分析などの実証実験を, とある場所(ヒ・ミ・ツ!!)の施設管理者に提案しようという話が持ち上がっている. 関連記事: ・ピーブルカウンタを考えてみる(1) ・ピープルカウンタを考えてみる(2) ・ピープルカウンタを考えてみる(3) ・ピープルカウンタを考えてみる(4) ・ピープルカウンタを考えてみる(5) ・ピープルカウンタを考えてみる(6) ・ピープルカウンタを考えてみる(7) ・ピープルカウンタを考えてみる(8) 1. はじめに 施設出入口で通行人をカウントする方法として, ・ カメラ映像の解析 ・ 赤外線センサ ・ マットセンサ などいろいろとあるが, 今回カウント方法の1つとしてDepthカメラの距離画像によるカウントを検討している. カメラで撮影した映像データを解析して人のカウントを行う場合, 個人情
最適な読書体験をしたい アマゾンなどでレコメンドされる本を上から見ていても読書体験がそんなに良くありません。 本の売り上げランキングなどは、大衆に受ける本がほとんどであり、少々独特なセンスを持つ人たちにはそんなに受けが良くないです。 結果として現状の解決策がSNSや人づてに聞き及ぶぐらいしかないのとジャケ買いなどがせいぜいです どうあるべきかを考えるとき、仮に他人の本棚を知ることができれば、集合知と機械学習を用いて自分に向いているだろう本をレコメンドさせることができます 会社の技術共有会の小話で話した話 Matrix Factorization 2000年台のNetflix Prizeからある伝統的な手法で、シンプルで動作が早く、ユーザが多くアイテムの数がとても多いときに有効な手法です。 DeepLearningでも実装できるし、sklearnなどでも関数が用意されています。 コード 自分
はじめに 今回は splay tree (スプレー木、スプレイ木) という二分木を紹介します。今まで説明した AVL 木 や 赤黒木 は二分木をベースにした平衡木で、木のバランスをチェックするための情報を節 (node) に付加し、バランスが崩れたら一定の範囲に収まるように木を修正します。これに対し、1985 年に Sleater 氏と Tarjan 氏が提案したスプレー木はちょっと変わっています。 スプレー木は二分木と同じ構造なので、通常の操作 (探索、挿入、削除など) は二分木と同様に行うことができます。スプレー木の特徴は、このあとに行う操作にあります。スプレー木はアクセスした節を木の根 (ルート) に移動します。この方法を Move to Root といいます。 たとえば線形探索の場合、後ろにあるデータほど探索に時間がかかります。そこで、探索のたびに見つけたデータを少し前に移動します
逆強化学習 一般的な強化学習では、エージェントが環境からの報酬を得ることで最適な行動を獲得します。しかし現実の問題においては、この報酬を設計することが困難な場合があります。 例えば運転技術を獲得する場合、うまい運転というのはただ目的地に速く着くだけでなく、急発進・急ブレーキしない、混んでなさそうな道を選ぶなど実際の報酬関数として考慮しづらい要素が存在します。 逆強化学習ではエキスパートによる行動から報酬を推定する ことによって、このような表現しにくい報酬を求めることができます。 逆強化学習の手法 この記事では逆強化学習の手法としてよく取り上げられる手法の中で以下の3つについて解説したいと思います。 線形計画法を用いた逆強化学習 Maximum Entropy IRL Maximum Entropy Deep IRL マルコフ決定過程(MDP) 逆強化学習に入る前にまずMDPについて説明しま
Google Colaboratory で Kaggle コンペに参加したいときの データの入手方法や提出方法についてまとめました。 実際の学習を行う部分は省略していますのでご注意ください。 記事よりも下記の成果物とリンク見たほうが早いと思います。 リンク 今回の成果物 | google Chrome 以外のブラウザだとうまく開けない可能性あります https://github.com/Kaggle/kaggle-api https://github.com/google/google-api-python-client Using kaggle datasets into Google Colab - Stack Overflow Kaggle API with Colab | Colab notebook 必要なもの Google アカウント Google Chrome 各手順 お好き
DRAGAN arXiv:https://arxiv.org/abs/1705.07215 “How to train your DRAGAN"というタイトルの論文で、 変なタイトルだなぁ..と思っていたが、 このタイトルの元ネタとして、アメリカの3DCGアニメがあるのを知った。 (日本名はヒックとドラゴンというらしい。この名前も初耳) www.youtube.com このDRAGANを使って以下のようないらすとや画像を生成したというのが本記事の主旨。 この生成画像は非常に綺麗。 この記事自体はお蔵入り予定だったが, 本日リリースされたchainerのGANライブラリの中に, 決して有名でないDRAGANが入っていて驚き, この記事を公開する意味もなくはないか,と気持ちを改め, これを機に成仏させることにした. この論文の概要 GANでは目的関数がnon-convexなので局所的なナッシュ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く