タグ

ブックマーク / www.yasuhisay.info (38)

  • カスタマーサクセスのためのデータ整備人の活動記録というタイトルでオンライン登壇しました - yasuhisa's blog

    第3回 データアーキテクト(データ整備人)を”前向きに”考える会という勉強会で、CREとしてデータ基盤を整備する活動についてオンライン登壇しました。 カスタマーサクセスのためのデータ整備人の活動記録 from syou6162 イベント登壇はまあまあやってきたはずなんですが、今回の登壇は初めて要素が満載でした。 CREとして初めての登壇 これまでは研究者 or アプリケーションエンジニアとして登壇 今年の2月にCREになったばかりなので、私がCREについて語ってもいいんかいな...みたいなところはありますよね と言いつつ、偉そうに語ってしまった データ基盤に関する初めての登壇 これまでは機械学習や自然言語処理に関する登壇がメイン 関連: データに関連するいくつかの見方と私 - yasuhisa's blog 初めてのオンライン登壇 意図せず(?)YouTuberデビューを果してしまった..

    カスタマーサクセスのためのデータ整備人の活動記録というタイトルでオンライン登壇しました - yasuhisa's blog
    fumikony
    fumikony 2020/05/15
  • 「データ活用のための数理モデリング入門」を読みました - yasuhisa's blog

    著者の一人からご恵贈いただきましたので、紹介してみたいと思います。 機械学習を中心としたデータ活用の敷居は下がってきているが... 10年ほど前と比べると、データ活用、特に機械学習を「使う」ハードルは以下のように下がってきています。 sklearnやPyTorchなどのライブラリを使えば、ある程度型にはまった問題は簡単に扱うことができるようになりました 画像認識や自然言語処理の分野でも事前学習済みのモデルが配布されるようになりました Amazon SageMakerやCloud AutoML など、コードを書かずとも機械学習のモデルが学習され、推論もできるマネージドサービスが普及し始めています しかしながら、何かデータを入れれば何か結果を返してくれるブラックボックスとして使われてしまっている事例も残念ながら時々見かけます。どういった問題を解くかは、道具をどう「使う」かよりも何倍も重要です。

    「データ活用のための数理モデリング入門」を読みました - yasuhisa's blog
    fumikony
    fumikony 2020/04/20
  • データに関連するいくつかの見方と私 - yasuhisa's blog

    ポエムです。元々書きたかったエントリがあったのですが、長くなってしまったのでパーツ毎に切り出します。 自分のやりたい方向性やキャリア的なものを考えると、大体その中心には「データ」がいます。データに対してどう向き合い方はいくつかパターンがあると思います。 データを生成する Webで言えば、アプリケーションエンジニアがここに該当するのかなと思います ユーザーの活動をログとして記録する データを蓄積する 生成されたデータを継続的に蓄積していきます SREやデータ基盤を整備する人がここに該当するかなと思います データを活用する 貯蓄されたデータを使って意思決定に役立てたり、データからの未来の予測をします データサイエンスやR&D的なものはここに該当するかなと思います この3つに対して、これまで自分がどう向き合ってきたのか、これからどういう風になっていきたいのかをこのエントリでは整理してみます。 デ

    データに関連するいくつかの見方と私 - yasuhisa's blog
  • Machine Learning Casual Talks #10でMackerelのロール内異常検知について発表しました - yasuhisa's blog

    メルカリさんのオフィスで開かれたMachine Learning Casual Talks (MLCT) #10に「教師なし学習によるMackerelの異常検知機能について 〜設計/運用/評価の観点から〜」というタイトルで登壇してきました。 MLCTは機械学習をサービスで運用していく知見を共有する勉強会です。YouTube等で動画配信を積極的にしてくださっていて、はてなの京都オフィスでも鑑賞会と称してランチタイムに同僚と発表を見させてもらっていました。普段から勉強させてもあっていた勉強会に、登壇という形でちょっとはお返しできているとうれしいです。登壇させて頂き、ありがとうございました! 私の発表資料はこちらです。スライド46枚ありますが、発表は15分だったので番はこれの短縮バージョンで発表させてもらいました。 教師なし学習によるMackerelの異常検知機能について 〜設計/運用/評価の

    Machine Learning Casual Talks #10でMackerelのロール内異常検知について発表しました - yasuhisa's blog
  • AWS Fargate上でMackerelのプラグインを実行 & 監視する - yasuhisa's blog

    特定のホストの紐付かないメトリックをMackerelのプラグイン経由で監視する場合、AWSであればEC2上に監視専用のホスト(いわゆるmonitoringホスト)を立てることが多いです。これは便利な一方で、以下のような問題点があります。 EC2ホストの面倒を見ないといけない 趣味で使う用途だとEC2のホスト台を毎月あまり払わずに済むとうれしい 特に一番最初の面倒を見るコストが一番大きいわけですが、サーバーレス/コンテナ時代なので、いいソリューションがあればそれに乗りたいわけです。先行研究がすでに存在していて、AWS Lambdaで試されている方がおられます。 自分でも似たようなことをAWS Fargate上でやっているのですが、せっかくなのでどんな感じでやっているか簡単に書いておきます。 mkrおよびプラグインが入ったdockerイメージを作る mkrやMackerelプラグインを入れるD

    AWS Fargate上でMackerelのプラグインを実行 & 監視する - yasuhisa's blog
  • 最近の砂場活動その5: AWS Step Functionsで機械学習のワークフローの管理をする - yasuhisa's blog

    はてなブログのHTTPS配信をやっていた同僚からAWS Step Functionsはいいぞ!というのを教えてもらいました(発表資料)。機械学習のワークフロー管理にもこれは便利そうだなーと思って、自分でも試してみました。やってる内容はN番煎じです...。 機械学習とワークフローの管理 機械学習のワークフローをStep Functionsで管理する AWS Step Functionsのモニタリング AWS Step Functionsの類似ツール 機械学習とワークフローの管理 状態を持つワークフローの管理、機械学習でも難しいので悩むところですね。例えば データの取得 前処理 特徴量の生成 モデルの学習 検証データに対する精度をトラッキングできるように記録 S3等に学習済みのモデルファイルを配置 新しいデータに対して予測を行なう 全てが終わったらslackに通知 などがぱっと上げられますが、

    最近の砂場活動その5: AWS Step Functionsで機械学習のワークフローの管理をする - yasuhisa's blog
  • ホストメトリックの異常検知を行なうmackerel-agentのチェックプラグインを作りました - yasuhisa's blog

    最近、異常検知の実験/実装を行なっていますが、その過程の中間成果物をmackerel-agentのチェックプラグインとして切り出しました(非公式のプラグインです。サポート宛てにお問い合わせしてもらっても回答できません。id:syou6162まで個人的に連絡してもらえたら対応できるかもしれません)。docker pull yasuhisa/check-host-metric-anomalyで簡単に使えるので、是非遊んでみてください。 syou6162/check-host-metric-anomaly: Mackerelホストメトリックの異常検知を行なうチェック監視プラグイン yasuhisa/check-host-metric-anomaly - Docker Hub このチェックプラグインの使いどころは ホスト監視をしたいが、どれくらいの閾値が適当なのか分からない/閾値の調整が面倒なの

    ホストメトリックの異常検知を行なうmackerel-agentのチェックプラグインを作りました - yasuhisa's blog
    fumikony
    fumikony 2017/11/06
  • 劣モジュラ最大化によるエントリの推薦をやってみた - yasuhisa's blog

    背景 半年前から機械学習に関するよさそうなエントリを提示してくれるbot(ML君)を運用しています。 大量のtweetの中から関連するエントリを人手で探す手間は省けるようになったのですが、最近別の問題が起こっています。以下の画像はある日に提示されたエントリの結果ですが、arxivの論文(しかもほぼ深層学習関連のもの)ばかりになっています…。ML君はURLが与えられたときに、それが機械学習に関連するいいエントリかどうかを判定しますが、提示したエントリの話題が重複しているなど条件は全く考慮していないので、当然と言えば当然の結果です。ML君を責めてはいけない。 上のような推薦結果は私が深層学習研究者/エンジニアなら喜ぶかもしれませんが、残念ながらそうではありません。機械学習/自然言語処理に関連する企業のニュース/githubのライブラリなど、色々なトピックについてカバーして欲しいものです。問題設

    劣モジュラ最大化によるエントリの推薦をやってみた - yasuhisa's blog
  • 能動学習で効率的に教師データを作るツールをGoで書いた - yasuhisa's blog

    みなさん、教師データ作ってますか?! 機械学習のツールも多くなり、データがあれば簡単に機械学習で問題を解ける環境が整ってきました。しかし、データ作成は重要ながらも未だに大変な作業です。最近、私もいくつかのドメインで教師データを作る機会があったので、能動学習を使ってコマンドラインから簡単に教師データ作成(アノテーション)ができるツールを作ってみました。 今回は能動学習で教師データを作る意義と、作ったツールの使い方について簡単に書きます。 問題設定 能動学習を使って教師データを効率的にアノテーション go-active-learningを試してみる ダウンロード/インストール 能動学習でアノテーション おまけ: Go言語を使って得られた効用/感想 問題設定 例があったほうが説明しやすいので、問題設定を先に。 あなたはエンジニアが集まるSlackチャンネルに、最近人気の技術エントリを定期的に投稿

    能動学習で効率的に教師データを作るツールをGoで書いた - yasuhisa's blog
  • 実タスクで機械学習を導入するまでの壁とその壁の突破方法 - yasuhisa's blog

    社内で機械学習の案件があった際に、機械学習の経験者しか担当できないと後々の引き継ぎで問題が起こりがちです。これを防ぐために、機械学習に興味があり、これまで機械学習を経験したことがないエンジニアにも担当できる体制を整えられることが望ましいです。しかし、機械学習のことに詳しく知らないディレクターやエンジニアにとっては、どのような機械学習の理解段階ならばタスクを任せられるかの判断をするのはなかなか困難です。そこで、このエントリでは機械学習を実タスクでやるまでに乗り越えるべき壁だと私が思っているものについて説明します。 第一の壁: 綺麗なデータで機械学習の問題を解ける 講義で扱われるような綺麗なデータを扱える 行列形式になっていて、欠損値や異常値もない 上記のデータを回帰や分類問題として解くことができる 実際に解く際にはライブラリを使って解いてよい 手法を評価する上で何を行なえばよいか(Preci

    実タスクで機械学習を導入するまでの壁とその壁の突破方法 - yasuhisa's blog
  • AWS Lambdaに入門する - yasuhisa's blog

    Amazon Elasticsearch Serviceに引き続き、AWS Lambdaに入門しました。Lambdaを使って、Amazon Elasticsearch Serviceで特定の単語を検索をさせてslackに書き込んでくれるbot君を練習台でやってみました。 やりたいこと 準備: 適切なポリシーを設定する Goで書いたプログラムをapexを使いAWS Lambdaに転送 Lambda上からAmazon Elasticsearch Serviceで検索 MackerelAWS連携でLambdaを監視 まとめ やりたいこと AWS強化月間(?)ということでAmazon Elasticsearch Serviceに入門していました。 自宅のElasticsearchとKibanaをAmazon Elasticsearch Serviceに引越し - yasuhisa’s blog

    AWS Lambdaに入門する - yasuhisa's blog
  • Go言語に入門する - yasuhisa's blog

    先週末、仕事で東京に行く機会があって、往復の新幹線の中でまとまった時間が取れるなと思ってGo言語に入門していました。Go言語に入門する理由は 仕事で普通に使う(mackerel-agentなど) 職場で評判がいい 一年に一個は新しい言語を勉強しようっていうアレ などなどです。やtour of goを読むだけだとあまり頭に入ってこないので、複雑過ぎず簡単過ぎない例をやろうということで平均化パーセプトロンで二値分類を書きました(ファイルの読み込み、文字列操作、スライス、Mapの基的な操作、structの使い方などがちょっと身に付く)。Perlに再入門、Scalaを勉強するときもこのネタだったので、定番になってきつつある。コードはこの辺に置いてます。 https://github.com/syou6162/go-perceptron/blob/master/main.go ちょっと困った箇所

    Go言語に入門する - yasuhisa's blog
  • データベースリファクタリングやデータ移行のタスクの進め方 - yasuhisa's blog

    よくある当たり前っぽい内容ですが、はてなに入る前はあまりやったことがなかったので勉強しながらやっていました(解析器の結果をapiで見せるみたいなことが多かったので、DBそもそもほとんど使っていなかった…)。最近はデータ移行職人業務をやっている。 前提 前提があったほうが説明が書きやすい。is_hogeのようなbooleanなフィールドがhoge、fuga、piyoのようにenumな値を取るように変更が必要という前提で話を進めます。 作戦: 下の層から丁寧にやっていく 一気にやると大変なことになるので、下の層からちびちび進めていきましょう。Pull Requestを送るときに↓のようなやることリストを付けておくと、全体のどの辺をやっているか分かりやすくなるのでレビュアーにやさしい感じになりそうですね。 [model層]hoge、fuga、piyoを表わすようなフィールドを追加 [DB層]ho

    データベースリファクタリングやデータ移行のタスクの進め方 - yasuhisa's blog
  • Google機械翻訳の仕組み&できるようになったこと/まだ難しいことについて、社内の機械学習勉強会で説明します - yasuhisa's blog

    社内の機械学習勉強会で最近話題になった機械学習関連のエントリを取り上げているのですが、ここ一ヶ月ではGoogle Neural Machine Translation(GNMT)がとても話題になっていました。GNMTで使われているEncoder-Decoderやattentionのような仕組みを直近で使う予定は特にはないですが、機械学習を使うエンジニアとして知っておいて損はないし、技術的に何が変わったことにより何ができるようになって、何はまだできないのかを知ろう、というのが目的です。技術的な項目は興味ない人も多そうなので、最後に持っていきました。 Google Neural Machine Translation(GNMT)の最近の進化について できるようになったこと 定量的な評価 まだまだ難しいこと 技術的な詳細 Encoder-decoder Attention based encod

    Google機械翻訳の仕組み&できるようになったこと/まだ難しいことについて、社内の機械学習勉強会で説明します - yasuhisa's blog
  • 機械学習をプロダクトに入れる際に考える採用基準について - yasuhisa's blog

    サービスに機械学習技術(例えばSVM)を入れる際に、「この機械学習技術番サービスに投入しても大丈夫なものか?」を考える基準がまとまっていると人に説明するときに便利だなとふと思ったのでまとめてみました。散々言われ尽くされている話だとは思います。 前提 考慮に入る採用基準 予測精度 (コードの)メンテナンスの容易性 計算オーダー 学習時 予測時 挙動のコントロールのしやすさ/予測説明性の容易さ チューニングの必要性 その他 まとめ 前提 機械学習がプロダクトの主要な武器になる(例えば最近話題になっているGoogle翻訳におけるNMT)ものではなく、サービスにデータがまずあり、機械学習でデータを活用することにより、そのサービスを支えていくようなものを前提に考えています(例えばCGMサービスのスパム判定)。また、投稿内容は私個人の意見であり、所属組織を代表するものではありませんとお断りしておき

    機械学習をプロダクトに入れる際に考える採用基準について - yasuhisa's blog
  • はてな社内の勉強会で構造学習について発表しました - yasuhisa's blog

    先週末、はてな社内の勉強会で構造学習、特に実装が簡単な構造化パーセプトロンについて発表しました。発表資料と説明用にサンプルで書いたPerlの品詞タグ付けのコードへのリンクを張っておきます。 今日からできる構造学習(主に構造化パーセプトロンについて) from syou6162 structured_perceptron/structured_perceptron.pl at master · syou6162/structured_perceptron 「えっ、Perlかよ」という人がいるといけないので、Clojureで構造化パーセプトロンを使った係り受け解析のサンプルコードへのリンクも張っておきます(2種類あります)。PerlもClojureもあれば8割くらいの人はカバーできそうなので、安心ですね。 syou6162/simple_shift_reduce_parsing syou616

    はてな社内の勉強会で構造学習について発表しました - yasuhisa's blog
  • NTT CS研を退職して、株式会社はてなに入社しました - yasuhisa's blog

    エイプリルフールも一段落したので、退職&入社エントリを書こうと思います。 これまで 3/31付けで前職のNTT CS研を退職しました。CS研には(インターン期間も含め)4年間お世話になりました。 CS研はとても研究する上でよい環境 CS研は研究をする上でかなりよい環境であったと思っていて 世界で活躍しているトップの研究者がわらわらいて、日々ディスカッションできる (全くないわけではないですが)雑用が少なく、研究に集中できる 研究をする上で必要なリソース(計算機、データなど)が十分にある 足りないものやデータ等を新しく作りたい場合は、上長をちゃんと説得すればお金をかけて作ることができる 自然言語処理の研究をする上でかなり重要 などなど、とても研究しやすい環境です。AAAIEMNLP、CoNLLなどに行くことができたのもこうしたCS研の環境なしではありえなかったと思います。ここで4年間働けた

    NTT CS研を退職して、株式会社はてなに入社しました - yasuhisa's blog
  • 今年よかった習慣: ライフログ収集および可視化 - yasuhisa's blog

    データを眺めるのが好き 収集している情報 実現方法 データから分かった知見(?) 今後 年末なので、今年買ってよかったものに引き続き、今年やってみてよかった習慣について書いてみたいと思います。 データを眺めるのが好き 昔からデータを眺めるのは好きだったんですが、今年の5月くらいから自分に関するデータをとにかく収集してみました。可視化することで何か有益な視点だったり、生活の改善点が見つかるのではないか、という目的です。色んなデータを集めまくった結果、以下のようなグラフができあがります。ちょっと画像が小さいですが、毎日の歩いた歩数や体重、気温、録画した番組名、自宅マシンの負荷状況などが載っています。 収集している情報 上の画像ではとりあえずBlogに上げれるようなデータしか見せていないですが、収集している情報としては以下のようなものがあります。使用しているスクリプトで公開できるものはgithu

    今年よかった習慣: ライフログ収集および可視化 - yasuhisa's blog