Hacker Tackleで「はてなにおける機械学習の取り組み」について登壇しました

LINE福岡で行なわれたHacker Tackleにて登壇してきました。 発表内容は(1)機械学習を使ったサービス開発の難しい点について整理し(2)その難しさを乗り越えていくためにはてながどのような取り組みを行なっているかについてでした。一口に機械学習を使ったサ…

異常検知ナイトでLT登壇しました

機械学習の中でもマイナーなテーマであろう異常検知がテーマの勉強会、異常検知ナイトというイベントでLTの登壇をしてきました。マイナーテーマなのに300人以上が集まる東京怖い。 3ページしかないですが、発表資料も置いておきます(LTのレギュレーションで3…

Rettyにおける推薦文からの見出し抽出の論文を読んだ

OR学会の自然言語処理と数理モデルの特集で、はてなと同じくC向けのサービスを運営しているRettyさんの論文が出ていたので、週末に論文を読みました。方法論としてはシンプルだけど、サービスへの貢献もなかなかありそうだなーと思いながら眺めました。 CiNi…

2018年の目標1: 自分の砂場を作る

2018年の個人目標の一つ。もう一月が終わろうとしている...。 やりたいこと/目的意識 ミドルウェア/インフラで見れる範囲を少しずつ増やしていく/理解を深めていく。仕事で実際使っているっていうのもあるし、インフラ方面への理解を深めたいって気持ちが強…

Clojureの思い出

ふと思い立ったので、記憶から忘却される前に書いてみようと思います。もう2年くらい書いてないけど、4年ほど仕事で使っていました。その期間はコード書くときはほとんどClojureだったので、まあまあヘビーに使っていたと思います。 前提 Clojureを使うよう…

mackerel-agentでChromeのタブが吹き飛ぶ悲劇を防ごう

この記事は、Mackerel Advent Calendar 2017の6日目の記事です。昨日はid:myfinderさんによるMackerel思い出話でした。今日は小ネタです!!! ブラウザのタブを閉じない人間の習慣 全国のブラウザのタブを閉じない皆さん、こんにちは。私もブラウザ(Chrome)の…

マージン最大化近傍法の読書メモ

社内で異常検知本の輪講を進めています。今回は近傍法による異常検知。一年くらいに一人で読んだときのメモはこちら。慣れない人は途中で出てくる劣モジュラの概念や勾配の導出が大変かなと思ったので、メモ書きしておきます。 劣勾配/劣勾配法 目的関数が連…

AWS Lambda上で鯖(Mackerel)の曖昧性問題を機械学習で解決しよう

この記事は、はてなエンジニア Advent Calendar 2017の1日目の記事です。 サービスに関連する言及のみを観測したい こんにちは。Mackerelチームでアプリケーションエンジニアをやっているid:syou6162です。サービスを運営していると、サービスに関するtweet…

Multi-task Multi-modal Models for Collective Anomaly Detectionを読んだ

勤労に感謝しながら読みました(論文, スライド)。いい論文をありがとうございます。 概要 基本的にはSparse Gaussian Markov Random Field Mixtures for Anomaly Detection(ICDM 2016)の素直な拡張だと思います。式は少しゴツいですが、拡張を順番に追ってい…

2017年の振り返り技術編

ふと思いたったので書く。2016年は自然言語研究者からWeb系エンジニアになったということで、今振り返ってもキャッチアップで精一杯だったなーと思うが、2017年は去年よりは慣れたこともあり、もう少し自分にとって新しいことに取り組めたかなーと思う。とい…

AWS Batchのメトリックを収集するMackerelプラグインを作りました

AWS Batchを仕事で使うことになりそうなので、Mackerelのプラグインを作りました。Queueの状態をカスタムメトリックとして収集します。mkr plugin install mackerelio/mackerel-plugin-aws-batchでインストールしてくれ! mackerelio/mackerel-plugin-aws-bat…

特定のDockerコンテナが起動しているか確認するチェックプラグインを作りました

Dockerコンテナをデーモンとして起動(docker run -d ...)させていたけど、いつの間にか死んでいたのを後から知った...ということがあって悲しかったので、特定のDockerコンテナが起動しているかを確認してくれるMackerelのチェックプラグインを作りました。m…

mkrのプラグインインストール機能を使って自分のプラグインをインストールしよう

3行まとめ。 mkrにプラグインインストール機能が付きました jenkinsのビルド時間を監視するチェックプラグインを作って、mkrでインストールできるようにしました 簡単にできるので、是非色々なプラグインを作ってみてください!! mkrにプラグインインストール…

Anomaly Detection in Streams with Extreme Value Theoryを読んだ

Anomaly Detection in Streams with Extreme Value Theory Amossys-team/SPOT: SPOT algorithm implementation (with variants) KDD2017の異常検知の論文です。異常検知を行なうとき、何らかの閾値を設定しますがこの閾値の決定は難しいことが多いです(そし…

IBIS2017の聴講ログ

今年で20周年のIBIS2017に仕事で聴講参加しました。IBISは意外と初参加。とにかく大量の発表があり、全部書いてると膨大になってしまうので、自分のアンテナに引っ掛かった研究についてのみログを残しておきます。問題設定やモチベーションを重点的にメモし…

ホストメトリックの異常検知を行なうmackerel-agentのチェックプラグインを作りました

最近、異常検知の実験/実装を行なっていますが、その過程の中間成果物をmackerel-agentのチェックプラグインとして切り出しました(非公式のプラグインです。サポート宛てにお問い合わせしてもらっても回答できません。id:syou6162まで個人的に連絡してもらえ…

tig/hubでレビューしやすい環境を作る

コードレビューをするとき、コメントや判断をするには様々な情報が必要です。例えば 変更箇所とそれに対応するcommit message 該当行のblame、その変更が行なわれたpull request 今見ている変数の型、関数の定義元 などです。レビューのコメントを書く場所は…

Change Detection using Directional Statisticsを読んだ

方向データに対する変化点検出の論文を読んだところ、面白かったのでメモを残しておきます(論文、スライド)。IJCAI2016の論文です。 異常検知は重要な領域であるにも関わらず、まだまだ枯れていなくて論文読んでて面白いものが多いですね。 問題設定 確率分…

Sparse Gaussian Markov Random Field Mixtures for Anomaly Detectionを読んだ

異常検知の一環で外れ値検知をやっていると「どの事例が外れ値か分かるだけじゃなくて、どの次元がおかしくなったかも教えて欲しい。次元数が100とかあると、どの次元がおかしい動きをしているか人手で見るのは大変」というのをちらほら聞きます。Gaussian M…

Splatoon2やってます

発売日からやっていましたが、本職のガチエリアでやっとS+に到達(人権獲得)したので何か書きます。 イカリング2、いいですね。 Splatoon1との比較 前作は結構やり込んでいたんだけど(ウデマエは大したことない…)、実はSplatoon2あまりやり込めていませんでし…

SlackやTwitterをWeeChat経由で使う & 自分がやっている設定

Slack、最近では色々なところで使われますね。会社用、家庭用、友人との連絡用、研究室のOBOGの連絡用…などとあれこれチームに入っているとチームの切り替えが面倒になってきます。各チームでよく使うチャンネルをひとまとめで見たい、といった要望が出てき…

iTerm2でAquaSKKが使えるようにhammerspoonの設定をする

Mac

OSを上げると何か動かなくなるものなので、ついつい上げることが億劫になりますね。社内の大きなイベント*1がひと段落したので、やっと重い腰を上げてOSをSierraにしました。 すでにwebに色々情報が流れてますが、karabinnerがSierraでは使えません。普段Aqu…

Amazon Elasticsearch Serviceでcluster_block_exceptionが出てindexに書けなくなった場合の対処法

以前、自宅のElasticsearchをAmazon Elasticsearch Serviceに移した話を書いた。 www.yasuhisay.info データは引越しせず新規のデータをAmazon Elasticsearch Serviceに放り込んでいくようにしていた(コストをめっちゃかけないと普通に動いてくれるのかちょ…

雑なpythonスクリプトやjupyter notebookをdockerを使って動かす

気が付いたら三ヶ月ぶりのブログだった…。 きちんとした用途ならpyenv等を使って、きちんとpythonのversionを指定、使うライブラリも列挙というのをディレクトリ毎にやっていくようになりました。しかし、pythonを使いたいときはきちんとした用途だけではな…

go-active-learningを改良している話(Slackからのアノテーションをサポートなど)

以下の話の続きです、地味に続いています。自分が普段使うツールを改良していくのは楽しいですね。 自分で使ってみて、これは欲しいといったものを追加していってます。社内で紹介したところフィードバックをもらったので、それを踏まえてどうしていきたいか…

劣モジュラ最大化によるエントリの推薦をやってみた

背景 半年前から機械学習に関するよさそうなエントリを提示してくれるbot(ML君)を運用しています。 大量のtweetの中から関連するエントリを人手で探す手間は省けるようになったのですが、最近別の問題が起こっています。以下の画像はある日に提示されたエン…

mattn/memoでさらに快適にメモを書くためにやっている設定について

Go

公開用のテキストはブログで書くことが多いですが、公開できない話や落書きのような内容はローカルのテキストファイルに書き散らしているという人は多いと思います。私もそういう活用をしていて、今年からmattn/memoを使っています。 mattn/memoはGoで書かれ…

能動学習で効率的に教師データを作るツールをGoで書いた

みなさん、教師データ作ってますか?! 機械学習のツールも多くなり、データがあれば簡単に機械学習で問題を解ける環境が整ってきました。しかし、データ作成は重要ながらも未だに大変な作業です。最近、私もいくつかのドメインで教師データを作る機会があった…

Go言語にさらに入門するために係り受け解析器を書いた話

今年からGo言語に入門していますが、もう少し複雑なものをものを書いてみたいと思ったので、係り受け解析器を書きました。その過程で工夫したこと、苦労したことをまとめます。作ったものはこちら。 一人で作っているプロジェクトですが、100行以下の細かめ…

実タスクで機械学習を導入するまでの壁とその壁の突破方法

社内で機械学習の案件があった際に、機械学習の経験者しか担当できないと後々の引き継ぎで問題が起こりがちです。これを防ぐために、機械学習に興味があり、これまで機械学習を経験したことがないエンジニアにも担当できる体制を整えられることが望ましいで…