タグ

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

  • PyCon mini Osakaで異常検知システム構築の裏側について発表しました - yasuhisa's blog

    現在仕事で作っている異常検知システムについてPyCon mini Osakaで登壇してきました。異常検知というマイナーなトピックですが、多くの人に聞いてもらえてよかったです。 #pyconjp #pyconosaka 「Pythonを用いた異常検知システム構築の裏側」 吉田康久さんです! たしかはてなの人だったはず。 pic.twitter.com/hRacSgV59D— PyCon mini Osaka (@OsakaPyConMini) 2018年5月19日 はい、はてなMackerelチームの中の人です。 機械学習の人からすると「なんだただの混合ガウス分布か」と思われるかもしれませんが、異常検知のシステムを実際に作ろうとすると考えることが色々あります。今回の発表では ユーザーのどのような要望から異常検知機能を作るに至ったか 異常検知とはそもそも何か、どういった問題設定か 異常検知手

    PyCon mini Osakaで異常検知システム構築の裏側について発表しました - yasuhisa's blog
  • KaggleのCTR予測コンペで上位10%に入るまでの試行錯誤 - yasuhisa's blog

    週末KagglerとしてavazuのCTR予測コンペに参加しました。Kaggleは機械学習版のISUCONだと思ってもらえばよいです。コンペ自体は終わっているので、late submiteであまり意味はないかもしれません、練習です。leaderboard上で上位10%以内に行けたので、そこまでの試行錯誤をメモしておきます。謎ノウハウ(?)を持っているガチ勢じゃないと上位に行けないものかと思っていましたが、基に忠実にやればこれくらいの順位(上位7.6%)に行けましたし、他の人の工夫を垣間見えるという意味でも現場の機械学習やり始めたエンジニアにお薦めできそうでした。 参加の動機 目標感: 頑張りすぎずに上位10%以内に入る 試行錯誤 AthenaとRedashによる探索的データ解析 ベンチマークをまず超える 線形分類器でシンプルな特徴量 時系列要素を忘れていて過学習発生 特徴量エンジニアリン

    KaggleのCTR予測コンペで上位10%に入るまでの試行錯誤 - yasuhisa's blog
  • 異常検知ナイトでLT登壇しました - yasuhisa's blog

    機械学習の中でもマイナーなテーマであろう異常検知がテーマの勉強会、異常検知ナイトというイベントでLTの登壇をしてきました。マイナーテーマなのに300人以上が集まる東京怖い。 3ページしかないですが、発表資料も置いておきます(LTのレギュレーションで3ページ5分)。 異常検知ナイト LT登壇資料 はてな id:syou6162 from syou6162 LTのテーマは、現在自分がどんなデータで異常検知をやっているか、どういう困り事があるかを発表してプロの方からアドバイスをもらおうというものです。Mackerelで今まさに異常検知機能の開発をしていて、時系列周りのモデルのハイパーパラメータを開発データでチューニンングしたいけれども、そもそも異常データを含む開発データって手に入らないことが多くてどう対応していくのがよいのか?という質問をさせてもらいました。プロからのアドバイスは動画で見れるので

    異常検知ナイトでLT登壇しました - yasuhisa's blog
  • 能動学習で効率的に教師データを作るツールをGoで書いた - yasuhisa's blog

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

    能動学習で効率的に教師データを作るツールをGoで書いた - yasuhisa's blog
  • 自然言語処理の深層学習において転移学習はうまく行くのか? - yasuhisa's blog

    このエントリはDeep Learning Advent Calendar 2016 5日目のエントリです。EMNLP2016に出ていたHow Transferable are Neural Networks in NLP Applications?を読んだので、それについて書きます。 [1603.06111] How Transferable are Neural Networks in NLP Applications? モチベーション 画像方面では、あるタスク(source side)で学習させた深層学習の結果を、別データセット(target side)でソフトマックス層だけ再学習させる転移学習(Transfer Learning)がうまくいっていると報告されています。 [1311.2901] Visualizing and Understanding Convolutional Ne

    自然言語処理の深層学習において転移学習はうまく行くのか? - 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

    先週末、はてな社内の勉強会で構造学習、特に実装が簡単な構造化パーセプトロンについて発表しました。発表資料と説明用にサンプルで書いた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
  • 2変数でのカーネル密度推定の練習 - yasuhisa's blog

    2変数というとで先週書いた密度トレイスを参考にしました。が、微妙に間違いも発見しました。 カーネル関数を使って密度トレイスを書いてみた→最後のほうに微妙に間違いがあるので注意!! - yasuhisa's blog gauusian関数の仲の1/hにかかる括弧が抜けていた。一次元だとplotしたときにそんなに影響がなかったので、気がつかなかったが、次元増やしたら全然違うことになっていたので、先週の間違いに気がついた。 gauusian <- function(r,h){ gauusian.intern <- function(r,h){ return(paste("1/sqrt(2 * pi) * exp(-1/2 * ((x - ",r,")/h)^2)",sep="")) } eval(parse(text=paste("function(x){1/h * (", paste(sapp

    2変数でのカーネル密度推定の練習 - yasuhisa's blog
  • Pythonのアクセス制限と抽象クラス&インターフェイスについてのまとめ - yasuhisa's blog

    アクセス制限について Javaに関して Pythonに関して アクセス制限についての感想と考察 考察 感想 抽象クラスとインターフェイスについて 抽象クラスについて インターフェイスについて アクセス制限について Javaに関して Javaのアクセス修飾子については、public、private、protected、無名の種類があります。アクセス修飾子についてはnextindex.net - がまとまっているようなので、そこを見てみるといいでしょう。各所にて書かれているので僕がいうまでもないと思いますが、オブジェクト指向プログラミングにおいて、アクセス制限はカプセル化を実現するために必要なものです。以下に簡単にまとめたものを掲載してみます。先ほどのところを参考に書かせてもらっています。 private 同一クラス内からのアクセスのみ。 無名 同じパッケージ内からしか呼び出せない。 prot

    Pythonのアクセス制限と抽象クラス&インターフェイスについてのまとめ - yasuhisa's blog
  • mapのvalueでソートしたい - yasuhisa's blog

    PerlRubyみたいに。stlのmapはディフォルトでキーでソートされていて、valueではできないっぽい。結論からするとpriority_queueを使うとよさそう。 #include <iostream> #include <map> #include <queue> #include <string> #include <boost/foreach.hpp> typedef std::map<std::string, int> container; typedef std::pair<std::string, int> value_type; struct second_order { bool operator()(const value_type& x, const value_type& y) const { return x.second > y.second; } };

    mapのvalueでソートしたい - yasuhisa's blog
  • Rの基本データ構造、よく使う関数紹介 - yasuhisa's blog

    Agenda データ構造 たくさんある>< ベクトル Rの格言 いろんなベクトルの作り方 規則的データの生成 同じデータを繰り返す ベクトルへのアクセスの方法 アクセス方法にもいろいろある まだまだあるよ、アクセス方法 行列 埋めていく順番 すでにあるベクトルを束ねる cbind rbind 行列へのアクセス方法 行列の基演算 積がやっかい 積を求めたいときは「%*%」を使うべし 逆行列を求める ちなみに 行列式 固有値 配列 リスト 例 ちなみに unlistのtips リストへのアクセス リストは結構難しい>< 例 リストの要素には名前を付けることができる Rでlistがどのように使われているか データフレーム 例 データフレームを作る データフレームに列を追加と削除 データフレームに行を追加 因子型 irisのデータでやってみる irisデータ 層別にSepal.Lengthの長さ

    Rの基本データ構造、よく使う関数紹介 - yasuhisa's blog
    satojkovic
    satojkovic 2012/11/08
  • 猫はうろうろ - yasuhisa's blog

    にゃーにゃー、ではなくてw。情報学類(今名前変わったんだっけか)のほうで出ている自然言語処理の講義ほうで、形態素解析をするための「wikipedia:ビタビアルゴリズム(Viterbi algorithm)」というのを勉強しました(GWの前くらいに)。なんか全然分かっていなかったので、書いてみることにしました。アルゴリズムの種類としては動的計画法(Dynamic Programming)に入るので、アルゴリズムデザインのほうの勉強にもなるし(という合理化)。 「はうろうろ」という文字列は「、はう、ろう、ろ」や「、は、うろうろ」など様々な形で形態素解析することができます。これをある基準で分解したいのですが、ここでは一番単純そうな単語数最小法と呼ばれる方法でやります。 このやり方で「はうろうろ」と「家におくりました」を形態素解析すると結果は次のようになります。 /tmp% ruby v

    猫はうろうろ - yasuhisa's blog
    satojkovic
    satojkovic 2010/05/09
    ビタビアルゴリズムによる形態素解析
  • 確率論、統計学関連のWeb上の資料 - yasuhisa's blog

    確率論と統計学は俺がまとめるから、他の分野はお前らの仕事な。 確率論 Index of /HOME/higuchi/h18kogi 確率空間 生成されたσ-加法族 確率の基的性質 確率変数とその分布 分布の例 分布関数 期待値、分散、モーメント 期待値の性質 独立確率変数列の極限定理 大数の弱法則(Weak Law of Large Numbers) 確率1でおこること 大数の強法則 中心極限定理 特性関数 Higuchi's Page Brown運動 Brown運動のモーメントの計算 連続性 Brown運動の構成:Gauss系として Brown運動に関する確率積分 空間L^2の元の確率積分 伊藤の公式(Ito formula) 日女子大学理学部数物科学科の今野良彦先生のところにあった資料 最尤法とその計算アルゴリズム 収束のモード 大数の法則と中心極限定理 指数分布族モデルにおける最

    確率論、統計学関連のWeb上の資料 - yasuhisa's blog
    satojkovic
    satojkovic 2009/02/24
    すばらしく充実してる
  • 1