statsuのblog

愛知のデータサイエンティスト。自分の活動記録。主に機械学習やその周辺に技術について学んだことを記録していく予定。

回帰問題でのDropoutの悪影響とその対策

背景・目的 回帰問題をNNで解くときにDropoutとBatchNormを使わない方が良いという話を聞いた。 回帰問題をNNで解くときはドロップアウトとBatchNormは使わないほうがいいって話、あまり知られてない気がするPitfalls with Dropout and BatchNorm in regress…

分位点回帰を使ってLightGBMの推定値の分布と不確かさを評価する

分位点回帰を使った推定値の分布評価と不確かさ評価について気になっていたので試してみました。 記事タイトル及び検証ではLightGBMを使っていますが、他の手法でも同じ考え方を適用できるはずです。 以下の検証に関するコードはgithubにあげてあります。 qu…

Windows10でAnacondaを使ったVS CodeのPython開発環境設定

いつも忘れるので自分用のメモです。 準備 Anacondaのインストール、仮想環境作成 VS Codeのインストール、Python拡張の導入 VS Codeの設定 settings.jsonの設定 pythonを動かせるようにするための設定。このサイトを参考にした。 Windows + Anaconda3 + Vis…

YOTO(YOU ONLY TRAIN ONCE)を不均衡データ対策の損失関数に適用して画像分類してみた

この記事は、YOTO(YOU ONLY TRAIN ONCE)の雰囲気を掴むことを目的として、不均衡データ対策の損失関数にYOTOを適用して画像分類してみた記録です。 YOTOを使うことで、1つのモデルでMajorクラスの性能が良いモデル or Minorクラスの性能が良いモデルをテスト…

Kaggleのコンペ参加記録まとめ

Kaggleのコンペ参加記録のまとめです。(自分用) Kaggleとは Kaggle: Your Machine Learning and Data Science Community データサイエンス・機械学習オンラインコンペティションサイト。 企業や研究機関がタスクを投稿し、世界中のデータサイエンティスト…

ReZeroの収束性と精度について画像認識(Cifar100)で検証した記録

ReZeroという最近提案されたDeep learning関連の手法を画像認識(Cifar100)で試したのでその記録です。 結論としては、Cifar100での画像認識では効果なかったです。(なんかミスしている可能性もなくはない) 本記事の概要 ReZeroの概要 ReZeroの実装 ReZeroの…

Kaggle Bengali Classificationコンペに参加した記録

KaggleのBengali.AI Handwritten Grapheme Classificationコンペに参加して24位(2059チーム中)でソロ銀メダルを取れました。ついでにkaggle expertになりました。 以下ではその記録についてまとめます。 本記事の概要 コンペ概要 私の取り組み 興味深かった…

Kaggle Google QUEST Q&Aコンペに参加した記録

Kaggle Google QUEST Q&Aコンペに参加して61位(1571チーム中)でソロ銀メダルを取れました。 以下ではその記録についてまとめます。 本記事の概要 コンペ概要 私の取り組み 興味深かった上位ソリューション 感想 コンペ概要 Google QUEST Q&A Labeling | Kagg…

【論文メモ】Rethinking Normalization and Elimination Singularity in Neural Networks

「Rethinking Normalization and Elimination Singularity in Neural Networks」をざっと読んだのでそのメモです。 arxiv.org github.com 論文の概要 画像認識に使うDeep neural network (DNN)の構造お話。 Batch normalization (BN)はDNNでとてもよく使われ…

Kaggleの雲コンペ(Understanding Clouds from Satellite Images)についての記録

Kaggleの雲コンペに参加したので、実施事項や思ったことを記録しておきます。 1. 雲コンペ 衛星写真にうつった雲を種類ごとに検出して分類するタスクについて、その精度を競います。 Understanding Clouds from Satellite Images | Kaggle 特徴は以下のとお…

Kaggleのくずし字認識(Kuzushiji recognition)コンペで15位になった

Kaggleのくずし字認識(Kuzushiji recognition)コンペで15位/293チームになりました。 https://www.kaggle.com/c/kuzushiji-recognition/leaderboard コードをのっけておきます。 github.com 以下、記録です。 1. 記事の概要 くずし字認識(Kuzushiji recognit…

KerasでのDrop-Activationの実装と検証

KerasでDrop-Activationを実装し、性能を検証したのでその記録です。 以下の検証に関するコードはgithubにあげてあります。 github.com 1. 本記事の概要 Deep learningの正則化手法であるDrop-Activationの概要説明 KerasでのDrop-Activationの実装 Cifar10…

Deep EnsemblesでDeep Learningの不確かさを評価する

前回の記事に引き続き、Deep learningの不確かさ評価についてです。 今回は、「Simple and Scalable Predictive Uncertainty Estimation using Deep Ensembles」という論文で紹介されているアンサンブルで不確かさを評価する手法の検証を実施しました。 検証…

Dropoutによる近似ベイズ推論でDeep Learningの不確かさを評価する

Deep learningの推定結果の不確かさってどうやって評価するのか疑問を持っていました。 Dropoutを使ったサンプリングをすることで不確かさ評価をできるということなので、kerasで実装して検証してみました。 以下の検証に関するコードはgithubにあげてありま…

簡単な2次元問題でWGAN-gpの基礎理解を深める(python, keras)

WGAN-gpについて理解するため、WGAN-gpを簡単な2次元問題に適用し、その挙動を観察してみました。また、GANとの違いを比較しました 前にGANでやったことの続きです。 簡単な2次元問題でGANの基礎理解を深める(python, keras) - st1990のblog 以下の検証に関…

日本ディープラーニング協会のG検定を受験しました

2019年7月6日に日本ディープラーニング協会のG検定を受験して合格しました。 せっかくなのでG検定の難易度や対策方法等を記録しておきます。 受験される際の参考にしていただければ幸いです。 記事の概要 まとめ 受験した感想 G検定とは 試験形式 合格基準 …

簡単な2次元問題でGANの基礎理解を深める(python, keras)

GANについて理解するため、GANを簡単な2次元問題に適用し、その挙動を観察してみました。実装にはpythonとkerasを使いました。 mnistの文字生成などがGANの導入としてよく紹介されていますが、文字等の画像データはデータ分布形状という観点での観察が難しい…

はてなブログの自分用まとめ

はてなブログの使い方のメモ。 ソースコードにファイル名を設定 はてなブログでソースコード表示時にタイトルを付ける - 酔いどれ技術者の備忘録

numpyの自分用まとめ

numpyの使い方をしょっちゅう忘れるのでここに記録しておく。 乱数 Random sampling (numpy.random) — NumPy v1.16 Manual Numpyによる乱数生成まとめ - Qiita グリッド 線形に等間隔な数列を生成するnumpy.linspace関数の使い方 - DeepAge 配列の要素から格…

matplotlibの自分用まとめ

matplotlibの使い方をしょっちゅう忘れるのでここに記録しておく。 網羅的な説明。 matplotlib入門 - りんごがでている fig, axesの概念。複数グラフの作り方。 matplotlib の figure(図) と axes(座標軸)-python | コード7区 散布図の説明。 matplotl…

実数値遺伝的アルゴリズムで回転倒立振子の深層強化学習

実数値遺伝的アルゴリズム(Real coded genetic algorithm, 以下RCGA)を使って深層強化学習をしてみたのでその記録です。 RCGAについてはこちらの記事を参考にしてください。 st1990.hatenablog.com 以下の検証に関するコードはgithubにあげてあります。 gi…

Pythonでの実数値遺伝的アルゴリズム(Real-coded genetic algorithm)の実装

実数値遺伝的アルゴリズム(Real-coded genetic algorithm)について勉強したのでその記録です。 以下、実数値遺伝的アルゴリズムをRCGAとしています。 以下の検証に関するコードはgithubにあげてあります。 github.com ちなみにこちらのページで、今回実装し…

pythonでのWebスクレイピング

pythonでWebスクレイピングをしたのでそのメモ Webスクレイピング用ライブラリ BeautifulSoupというライブラリでHTMLを解析できる。 Webスクレイピングの流れ ChromeでスクレイピングするWebサイトを開く。 Chromeのデベロッパーツール(F12キー押下)を開く…

Matrix FactorizationとDeep Matrix Factorization(Keras)でのレコメンド

レコメンドの手法であるMatrix Factorizationについて勉強したのでその記録です。 以下の検証に関するコードはgithubにあげてあります。 github.com 1. 本記事の概要 レコメンドの手法であるMatrix Factorizationについての概要 Matrix FactorizationのNeura…

Kerasでのmixup augmentation

mixupについて調べて実装したのでまとめました。 以下の実装や検証はgithubにあげています。 github.com 1. 本記事の概要 data augmentationの1種であるmixupについて概要をまとめました。 2つ以上のサンプルを混合できるよう、mixupの拡張を検討しました。 …

このブログの目的と自己紹介

ブログの目的 自分の活動を記録し、振り返れるようにする 機械学習 機械学習に関連する周辺技術 その他気になったこと ブログをとおした技術交流 気軽にコメントもらえると嬉しいです! 自己紹介 年齢:1990年生まれ 仕事:メーカーでソフトウェアエンジニア…