天色グラフィティ

技術ちっくなことを書きます

自作キーボード沼への第一歩。Lily58を組み立てました!

みなさんは遊舎工房をご存知でしょうか? 遊舎工房とは、秋葉原(御徒町)にある自作キーボードの専門店です。 おそらく日本唯一の専門店で、かつ店内に工作スペースがあり、購入したキーボードを組み立てて帰ることができます。 開店当初から行きたいと思って…

ICNR: Sub-Pixel Conv使用時のcheckerboard artifactを防ぐ初期化

ニューラルネットワークで画像を拡大(アップサンプリング)する際、Transposed ConvolutionやSub-Pixel Convolutionという手法を使います。 しかし、これらの手法を用いた場合、拡大した画像に格子状の模様(checkerboard artifact)が発生することが知られてい…

Sub-Pixel Convolutionについて#5【画像処理&機械学習】論文LT会!で発表しました

エルピクセル株式会社で開催された #5【画像処理&機械学習】論文LT会! で発表しました。 題材に選んだのはSub-Pixel Convolutionで、関連する論文をいくつか紹介したという感じです。 ちょっと前だけど定番な論文から最新の論文まで、幅広い論文が紹介され…

【質疑応答付き】Kaggle Tokyo Meetup #6 に参加しました

DeNAで開催された、Kaggle Tokyo Meetup #6の参加記です。YouTube配信の視聴を含めるとMeetup参加は3回目ですが、回を増すごとに情報量も発表内容の多様性も増しているように思います。 本当にすばらしい発表を皆様ありがとうございました。僕も発表やLTでコ…

「結局、Kagglerは何を必死にやっているのか?」というLTをしました

弊社では毎週、新卒LT会が開催されています。 エンジニアがメインですが、同期が職種を問わず広く集まる場になっています。 僕もなにか話したいと思い、7/5(金)に発表しました。 タイトルは「結局、Kagglerは何を必死にやっているのか?」です。 スライドはS…

なぜn_estimatorsやepochsをパラメータサーチしてはいけないのか

ハイパーパラメータを探索するため、グリッドサーチやOptunaなどを利用することがあると思います。 しかし、「ハイパーパラメータ探索してみた」のようなQiita記事などでは間違って書かれていることも多いのですが、XGBoostやLightGBMの n_estimators ( num_…

Dockerでデータ分析環境を手軽に作る方法

何かデータ分析を行わなければいけないとき、手軽に分析環境を用意したいというニーズがあります。 Jupyter Notebook上でnumpy、pandas、matplotlib、scikit-learnあたりが使えれば十分でしょうか。XGBoostやLightGBMといったライブラリも使えるようにしてお…

Kaggle Eloコンペの振り返り・上位解法まとめ

KaggleのElo Merchant Category Recommendationコンペに参加しました。 僕は@kasuminkoさん、@hirokasさんとチームを組んで、ラスト2週間だけ参加しました。結果から書くと、Public 221位からのPrivate 2220位という乱高下で儚く散りました。 手元に銀メダル…

Quoraコンペの振り返りと上位解法まとめ

KaggleのQuora Insincere Questions Classificationコンペに参加しました。 結果は121位で、銀メダルでした。これで銀メダルが3枚目です。わーい。 Public Leaderboardで692位と振るわず、コンペのdeadlineが修論発表の当日だったので直前ほとんど何も出来ず…

決定木は本当に変換に依存しないのか?

決定木をベースとしたモデル(RandomForestやXGBoost、LightGBMなど)は正規化などの前処理が必要ないと言われています。 理由として挙げられるのは「決定木は特徴量の大小関係のみに着目しており、値自体には意味がないから」というものです。 先日もkaggler-…

2018年、たいへんお世話になりました。

大晦日なので実家に帰っています。あまり酒を嗜んだりはしない両親とシャンパンを飲み、話しているうちにこんな時間になってしまいました。 帰省する前は「親と話すことなんてそんなに多くはないよなぁ」と思っていましたが、24歳になって昔(中高時代など)を…

コピペで使える。Kaggleでの実験を効率化する小技まとめ

この記事はKaggle Advent Calendar 2018の20日目の記事です。当初の予定ではPLAsTiCCコンペの振り返りをするはずだったのですが、時空の狭間に吸い込まれた結果0サブミットでフィニッシュしてしまいました。何ででしょうね。 そこで、代わりにKaggleで使える…

2018年11月を振り返ってみる

先月に引き続き11月の振り返りをやっていきます。 やったこと 毎日GitHubに草を生やした 先月に引き続き毎日草を生やせました。 授業のTAの一環で簡単なコンペを開催するツールを作った(公開準備中) 授業のTAやる過程で小規模データ分析コンペを開催するWeb…

LightGBMのcallbackを利用して学習履歴をロガー経由で出力する

KaggleなどでLightGBMを使っていて学習履歴を見たとき、ログファイルにも残してほしいと思うことがあります。 公式にはそのような機能は実装されていないようなので、LightGBMのコールバックで対応したいと思います。 LightGBMではfitメソッドの引数としてコ…

2018年10月を振り返ってみる

最近、Dynalistというサービスを使ってやったことをメモしていました。それを元に今月を振り返りをやっていきます。 やったこと 毎日GitHubに草をはやした 前半はGoのツールで、後半はPLAsTiCCコンペでコミットを稼いだ。 苦し紛れでAtCoderの適当な問題を埋…

Goあんこ4kgでLTしました

知らない人にはGoあんこってなんだよって話だと思いますが。 GoあんことはGo(Un)Conferenceの略で、Go言語のゆるふわLT会のことです。4kgは4回目って意味です。かわいい。 発表資料はこちらです。 主催者は@deadcheatさんと@syossan27さんのおふたりで、株式…

Golangでどうでもいい知識を教えてくれるCLIツールを作った

最近ghqの作者@motemenさんのインタビューや pecoの作者@lestrratさんのインタビューを読んでいてCLIツールを作りたい欲がむらむらと湧いていました。 @motemenさんのインタビューによると、普段から「これ不便だな。ツールにならないかな」とアンテナを貼っ…

KaggleのHome Creditコンペで銀メダルを取った話と、チームで動く際のノウハウとか

書く書くといっておきながらなかなか書かないでいたらGoogle Analyticsコンペが始まってしまいました。慌ててこの参戦記を書いています。 Home Credit Default Riskコンペに参加し、166位で銀メダルを取りました! 僕は同じ研究室の@sugawarya、東大松尾研の…

Kaggleで使えるFeather形式を利用した特徴量管理法

みなさま、Kaggle楽しんでいますでしょうか。 僕は現在Home Credit Default RiskとSantander Value Prediction Challengeに参加しています。 前回のKaggle記事ではpandasのテクニックについてまとめました。 多くのアクセスをいただき、人生初のホッテントリ…

ARC100に参加した(510位)

ARC100に参加しました。結果は510位で、レートは1429→1427と微減しました。 問題としてはC問題を1WAしながらACし、D問題が解けませんでした。久しぶりにDで手こずった気がします。 今回から、解けなかった問題については典型要素の抽出をやってみたいと思い…

ARC099に参加した(210位)

ARC099に参加しました。210位でレートは1304→1429になりました。 久しぶりのコンテスト参加で緊張しましたが、Dをそれなりに早く解いたのがよかったっぽいです。 そういえば先日書いた記事がホッテントリに載りました。結構うれしいものですね。 amalog.hate…

Kaggleで使えるpandasテクニック集

PythonでKaggleなどのデータ分析を行う際、pandasでゴリゴリ作業をすることが多いかと思います。 最近知って「めっちゃ便利やん!」ってなったものをまとめておきたいと思います。 全部の関数にドキュメントへのリンクを付けたので参考にしてください。 今回…

ARC098に参加しました (726位)

ARC098に参加しました。C問題を1回TLEしてD問題が解けず無事死亡しました。 レートは1334→1298ということで、微減ですね。 D問題が解けなかったのは久しぶりなので練習不足を感じます。 最近Kaggleが忙しくて過去問埋めもあまりできていません。 前回の記事 …

AGC024に参加しました (445位)

AGC024に参加しました。A・B・Cを3完し、Dを途中まで解いて散りました。レートは1240→1334となりました。 順調に水色を進んでいます。早く暖色になるぞという強い意志を持ってやっていきたいと思います。 と書いておいてウケるんですが、先週末土曜日にあっ…

ひとつの本屋で起きたこと。を読んで

バズっていたこの記事を読んでいろいろ考えたのでメモがてら残しておく。 nyawaraban2014.amebaownd.com これを読んでいる間は「なんだこの絵に描いたような無能な上司は」「たった一人のマネジメントでこんなぐちゃぐちゃになるんだなぁ」といった感想しか…

GCJ Round1C 通過しました (1165位)

Round1Aで敢えなく撃沈し、Round1Bは深夜1時からの開催に耐えきれず不参加。今回迎えたRound1Cで無事突破することができました。 内訳としては1問目をvisible、hiddenともに解き、2問目を通し、3問目はDPだなーと思いながら撃沈しました。DP力が低すぎる。 a…

AGC023に参加した (412位)

アイコンが変わりました。クラウドソーシングサイトでお願いして写真を送ったところ、ものごっつい美化されて返ってきました。 かわいいのでありとあらゆるSNSのアイコンを変更して回っています。 さて、AGC023に参加しました。AとBを解いて、Cで撃沈した結…

pandas + matplotlibで描くヒストグラムいろいろ

データ解析コンペの初期段階では、データを可視化して眺め、特徴を探すという探索的データ分析(EDA)が行われます。 Pythonでデータ分析している場合、可視化にはpandasのプロット機能、もしくはmatplotlibを使うことが多いでしょう。 今回はヒストグラムに絞…

ARC096に参加した (411位)

ARC096に参加しました。10分遅刻したものの、30分くらいでCとDをやっつけ、残り時間ずっとEに取り組みましたが解けませんでした。 レートは1010→1121になりました。水色が見えてきましたよ!! 前回の記事: amalog.hateblo.jp

Mac + matplotlibで日本語を表示する

タイトルにMacと入れたのはそれでしか確認していないから。WindowsやLinuxでもパスだけ変えれば当てはまるかもしれない。 TL;DR matplotlibで日本語表示できる.ttfフォントをインストールしましょう ~/.matplotlib/matplotlibrcに書きましょう 【重要】~/.ma…