nykergoto’s blog

機械学習とpythonをメインに

機械学習

特徴量選択アルゴリズム HSIC Lasso とその周辺を調べた

先日、特徴量選択についてツイートしたところ Kaggle Master のアライさんに「HSIC Lassoはまさにぴったしなんではないでしょうか?」と教えていただきました。 お、となるとHSICLassoはまさにぴったしなんではないでしょうか?https://t.co/Ezigm9OriK— Hide…

scikit-learn の grid-search を sample_weight と同時に使用する場合の問題点

以下の記事によると scikit-learn の BaseSearchCV の実装には問題があり意図しない動作をしている可能性がある、とのことが報告されています。いつも scikit learn を使う身としては気になる話題なので、少し詳しく見ていきます。 deaktator.github.io Base…

SGDにおける「順番」の問題

この記事は atma Advent Calendar adventar.org の 12/1 分の記事です。大分遅くなってしまいましたがこの記事では Stochastic Gradient Descent における順番が与える影響とそれにまつわる論文をいくつか紹介したいと思います。 Stochastic Gradient Descen…

pyspark (mmlspark) で LightGBM 使うときのメモ

Spark 上で Machine Learning を行うためのツールを Microsoft が MMLSpark (Microsoft Machine Learning for Apache Spark) というパッケージで公開しています。 https://github.com/Azure/mmlspark この中に lightGBM on spark も含まれており python を使…

機械学習なdockerfileを書くときに気をつけとくと良いこと

みなさん機械学習系の環境構築はどうやってますか? 僕は最近は Docker を使った管理を行っています。 特に師匠も居なかったので、ぐぐったり人のイメージを見たり手探りで docker をつかいつかいしている中で、最初からやっとけばよかったなーということがい…

NGBoostを読んで、実装する。

不確実性を考慮した予測が可能と噂の NGBoost の論文を読んでみたので、全体のながれをまとめて見ました。加えて自分でも NGBoost を実装して、その結果を載せています。 元の論文 NGBoost: Natural Gradient Boosting for Probabilistic Prediction はこち…

PRML の本読みをしています @section3

最近(というか今日から) 会社でPRML勉強会をやっています。ふつう第1章からやるのが普通ですがPRMLはちょっと重たいので息切れすると良くないよねということでいきなり第3章から始めるという方針をとっています。*1 今回は僕が担当で、主に 線形モデルの導入…

Kaggleで勝つデータ分析の技術: 今までの機械学習本と全く違う最強の実務本

この度光栄なことに著者の @Maxwell さんから「Kaggleで勝つデータ分析の技術」 を献本いただきました。 私事ですがこのような形で献本頂いたのは初めての経験だったのでとてもうれしくまた恐縮している次第です。 光栄なことに @Maxwell_110 さんからKaggle…

RAdam: Adam の学習係数の分散を考えたOptimizerの論文紹介

表題の通り噂の最適化手法 RAdam の論文 On the Variance of the Adaptive Learning Rate and Beyond を読んだので, そのまとめです!! 概要 一言でいうと「今までヒューリスティックに行っていた Adam 学習開始時の LR 調整を自動化できるような枠組みをつく…

機械学習のための環境構築とその管理

機械学習プロジェクトでは python を始めとした言語 + それに付随したライブラリを使います。 僕も python 触りたての頃はローカルマシン上にひとつ python 環境を作り、必要なライブラリをインストールして使っていました。環境の分離ということはあまり意…

文章の埋め込みモデル: Sparse Composite Document Vectors を読んで実装してみた

自然言語処理である単語の意味情報を数値化したいという場合に単語を特定のベクトルに埋め込む(分散表現)手法として word 2 vec があります。 この word2vec と同じような発想で文章自体をベクトル化するという発想があり Doc2Vec やそのたもろもろも方法が…

敵対的サンプリング検出のための基準としての相互情報量 - Understanding Measures of Uncertainty for Adversarial Example Detection

Understanding Measures of Uncertainty for Adversarial Example Detection https://arxiv.org/pdf/1803.08533.pdf 概要 (200文字程度) 敵対的サンプルを判別する基準として相互情報量 (Mutual Information) が優れていることを主張する論文. MI の推定に D…

重みのスケールに依存しないSGD: Path Normalized Optimization in Deep Neural Network

表題の論文を読んだのでまとめます! url: [1506.02617] Path-SGD: Path-Normalized Optimization in Deep Neural Networks Path-SGD を考えたモチベーション ニューラルネットワークがこの論文の主題です。 Rescaling 今、あるニューラルネットワークの $i,…

本のクラスタリングをやってみよう - 吾輩は猫であるに近い本は何なのか

最近理論よりなことばかりやっていたので今回は実際のデータを使った解析をやってみます。 今回使うデータは、読書メーターからクロールさせてもらって作成した、ユーザーに紐付いた読書履歴のデータです。ユーザーごとに [だれの, どんな] 本を読んだかがわ…

ニューラルネットへのベイズ推定 - Bayesian Neural Network

ニューラルネットワークの過学習防止としてDropout という機構が用いられているのはご案内のとおりです。 この Dropout 、見方を変えるとディープラーニングにおける重みのベイズ推定に相当しているのではないか、という内容が Uncertainty in Deep Learning…

機械学習のコード整理

タイトルのままですが、今まで適当に書いてローカルに放置してたりブログには書いたけどそのまま放置してたりしていたコードを一つのリポジトリにまとめる作業をしました。 まとめながら、昔書いたコードをいろいろと手直ししていましたが、ひどく密につなが…

Gpy vs scikit-learn: pythonでガウス過程回帰

Gpy と Scikit-learn Python でガウス過程を行うモジュールには大きく分けて2つが存在します。 一つは Gpy (Gaussian Process の専門ライブラリ) で、もう一つは Scikit-learn 内部の Gaussian Process です。 GPy: GitHub - SheffieldML/GPy: Gaussian proc…

scikit-learn 準拠の予測モデルのつくりかた

機械学習で色々やっていると、いろいろなモデルを複合したアンサンブルモデルなど、自分で新しい予測モデルを作りたい場合があります。 その場合自分でいちから作り上げても良いのですが、そうやって作ったモデルは、たとえば scikit-learn のパラメータ最適…

DCGANをChainerで実装

DCGANとは DCGANはランダムなベクトルから画像を生成するGeneratorと、画像が与えられた時にその画像がGeneratorによって作られたものなのか、本当の画像なのかを判定する関数Discriminatorでなりたっています。 DCGANのアイディア この2つの関数を相互に競…

PRML 10章の変分ベイズ法の実装

線形回帰に対する変分法を用いた計算について実装してみました。 コードは以下から github.com 変分ベイズではまず、隠れ変数も含めた完全データに対して同時分布を定義します。その後隠れ変数の分布が複数の関数の積として近似して表すことができる、という…

python の Xgboost を Windows で使いたい!

pythonをwindowsでやるなよ、という意見はごもっともですがでもやりたい時だってあるじゃん?なのでやりましょう。 環境 windows10 64bit 必要なものたち git bash MinGW-W64 pythonが使える何かしらの環境(Anacondaとか) git cloneする git bash を起動し…

カーネル密度推定

PRMLを読んでいます。とりあえず出てくる式はすべて自分で追って、変形とかもやってるのでなかなか進まなくてもどかしいですが、もう多分確率密度関数とかを復習することは無いだろうし…と思いながらやってます。今日は二章のおわりまで行きました。 ノンパ…