タグ

ブックマーク / catindog.hatenablog.com (14)

  • ポアンカレエンベッディング - にほんごのれんしゅう

    ポアンカレエンベッディング Euclid空間にエンベッディングするようなword2vecは意味の上下関係が明示的に記されません。(情報としたあったとしても僅かでしょう) ポアンカレボールという双曲幾何学空間に埋め込むことで、効率的に意味(や木構造)の上位関係をとらえることができます[1] 理解 ポアンカレボールはこのような、外周部に行くほど密になる球みたいなものなのです。 図1. ハニカム構造のPoincare Ball(Wikipediaより) ポアンカレボールでは外に行くほど情報が密になり、空間が広がっているともとらえます。 数式で表現するとこのようになって、 gEというユークリッド距離がxが1に近づけば無限に大きくなることがわかります。 このポアンカレボール上にある二点間の距離はこのように表現され、単純なユークリッド距離ではないことが見て取れます。 この距離関数に基づいて損失関数L(

    ポアンカレエンベッディング - にほんごのれんしゅう
    sh19910711
    sh19910711 2024/05/13
    "ポアンカレボール: 外周部に行くほど密になる球みたいなもの + 外に行くほど情報が密になり、空間が広がっている / 情報が何らかの上下関係を持っており、木構造で表現できるとき、ルートノードが真ん中に" 2018
  • 勾配ブースティングを利用した教師あり形態素分析 - にほんごのれんしゅう

    勾配ブースティングを利用した教師あり形態素分析 辞書ファイルを必要とせず、C++用のモデル(データを入力すると、結果が返ってくるもの)が構築できるので、任意の言語、例えばRuby等でも分かち書きや品詞推定 を利用できる様になります 理論 ある文章の特定の文字と文字の間に分かち書きを行うべきかどうかの、二値分類問題として扱うことができると仮説を立てます 周辺の”文字”の分布から、そこが分かち書きを行うのに適切なのかどうかを、なんらかの方法で人間が用意したデータを用い教師あり学習で学習します 図1. 問題設定 この問題設定におけるベクトルを直列化して、スパースなベクトルとして表現すると、LIVSVM形式のフォーマットにすることができ、LightGBM, XGBoostなどで学習することが可能なフォーマットに変換できます 品詞の推定も同様の理論で行うことができ、分かち書きした結果を利用して、再び

    勾配ブースティングを利用した教師あり形態素分析 - にほんごのれんしゅう
    sh19910711
    sh19910711 2021/11/08
    "Twitterで報告したところ、TinySegmenter (AdaBoostでの機械学習)という似たようなアプローチを知った / TinySegmenterでは品詞の推定ができませんが、これはできることが強みでしょうか"
  • テーブルデータに対して、DenosingAutoEncoderで精度向上 - にほんごのれんしゅう

    データセットの問題 Kaggle Porto Seguroでは問題となっている点があって、テストデータとトレインデータのサイズの方が大きく、トレインだけに着目してしまうと、LeaderBoardにoverfitしてしまう問題があります。 これはトレインだけで学習するために起こる問題で、テストデータ・セットを有意義に使う方法として、教師なし学習でまずは次元変換やなんやらを行うという方法が有効なようです。 ディープを用いることでいくつか有益な変換操作を行うことができて、「すべての情報は何らかのノイズを受けている」という視点に立ったときに、恣意的にAutoEncoderの入力にノイズを乗せ、それを除去するように学習するとはっきりと、物事が観測できるようになったりするという特徴を利用しています。 図1. よくある画像の例 画像の利用からテーブルデータの利用に変換する操作を行います。 このテーブルデ

    テーブルデータに対して、DenosingAutoEncoderで精度向上 - にほんごのれんしゅう
    sh19910711
    sh19910711 2021/08/01
    "テーブルデータも何らかの確率的な振る舞いをしていて、事象の例外などの影響を受けるとき、このときDenosing AutoEncoderでノイズを除去するように学習することにより一般的で、汎用的な表現に変換できるのかも"
  • 艦これのセリフ分類をCNNでやる - にほんごのれんしゅう

    (2017/2/24追記. いろいろ試したんですが、objective functionをcategorial cross entropyからpoissonに変更し, softmaxの出力をlogを取ることで、急峻なスパイクを抑えることができある程度改善しました ) 艦これのセリフ分類をCNNでやる 幾つかの基礎と、業務で使用できるかどうかの調査した結果、CNNでのテキスト分類が最近評判が良いことがわかった。 RNNが負けると言われていた分野は分類とか識別の部分で、テキストの生成や連続系ではまだ、RNNが有利であると思う。 ディープラーニング以前のアルゴリズムは変数の重要度に対しての解釈をする方法が、ある程度ノウハウが蓄積されており、変数の係数や、決定時の出現する変数の頻度でそれっぽく解釈はできたが、ディープラーニングは中身がうかがい知れない事が多い。しかし、性能は高いとされている[1]

    艦これのセリフ分類をCNNでやる - にほんごのれんしゅう
    sh19910711
    sh19910711 2021/06/20
    "キャラクタの発言がそもそもMeCabなどで形態素解析するのに不適な語彙がおおい > なので、形態素解析を必要としない単語粒度のCNNでの分類を行った / epoch 10~20あたりがちょうど良さそう"
  • Kerasを使ったGoogle VisionサービスのDistillation(蒸留) - にほんごのれんしゅう

    Kerasを使ったGoogle VisionサービスのDistillation(蒸留) Vision APIをVGGで蒸留する Vision APIの出力は実はタグの値を予想する問題でしかない 出力するベクトルが任意の次元に収まっており、値の範囲を持つ場合には、特定の活性化関数で近似できる 例えば、Vision APIはメジャーなタグに限定すれば、5000個程度のタグの予想問題であり、5000個程度であればVGGを改良したモデルで近似できることを示す (2017/11/08 データセットをスクリーニングして、問題のあるデータセット(一定の確率で特定のタグによってしまう)を排除したところ、だいぶ改善しました) 理論 去年の今頃、話題になっていたテクノロジーで、モデルのクローンが行えるとされているものである。 Google VISION APIなどの入出力がわかれば、特定のデータセットを用意す

    Kerasを使ったGoogle VisionサービスのDistillation(蒸留) - にほんごのれんしゅう
  • RocksDBをさまざまな言語(C++, Rust, Kotlin, Python)で利用する - にほんごのれんしゅう

    RocksDBをさまざまな言語(C++, Rust, Kotlin, Python)で利用する InstagramのCassandraのバックエンドをJVMベースのものから、RocksDBに切り替えたというニュースが少し話題になりました。 CassandraのJVMは定期的にガーベジコレクタが走って、よろしくないようです。 P99というテストケースではデフォルトのJVMからRocksDBに張り替えたところ10倍近くのパフォーマンスが得られたとのことです。 データ分析でもメモリ収まりきらないけど、Sparkのような分散システムを格に用意する必要がない場合、NVMe上にLevelDB, RocksDBなどのKVSを用意して加工することがあります。 ローカルで動作させるには最強の速度だし、文句のつけようもない感じです。 LSMというデータ構造で動いており、比較対象としてよく現れるb-treeよ

    RocksDBをさまざまな言語(C++, Rust, Kotlin, Python)で利用する - にほんごのれんしゅう
    sh19910711
    sh19910711 2020/03/20
    "LSMというデータ構造で動いており、比較対象としてよく現れるb-treeより書き込み時のパフォーマンスは良いようです"
  • 自作レコメンドで最適な読書体験をしたい - にほんごのれんしゅう

    最適な読書体験をしたい アマゾンなどでレコメンドされるを上から見ていても読書体験がそんなに良くありません。 の売り上げランキングなどは、大衆に受けるがほとんどであり、少々独特なセンスを持つ人たちにはそんなに受けが良くないです。 結果として現状の解決策がSNSや人づてに聞き及ぶぐらいしかないのとジャケ買いなどがせいぜいです どうあるべきかを考えるとき、仮に他人の棚を知ることができれば、集合知と機械学習を用いて自分に向いているだろうをレコメンドさせることができます 会社の技術共有会の小話で話した話 Matrix Factorization 2000年台のNetflix Prizeからある伝統的な手法で、シンプルで動作が早く、ユーザが多くアイテムの数がとても多いときに有効な手法です。 DeepLearningでも実装できるし、sklearnなどでも関数が用意されています。 コード 自分

    自作レコメンドで最適な読書体験をしたい - にほんごのれんしゅう
  • word2vec, fasttextの差と実践的な使い方 - にほんごのれんしゅう

    word2vec, fasttextの差と実践的な使い方 目次 Fasttextとword2vecの差を調査する 実際にあそんでみよう Fasttext, word2vecで行っているディープラーニングでの応用例 具体的な応用例として、単語のバズ検知を設計して、正しく動くことを確認したので、紹介する Appendix (発表用の資料も掲載いたします,小さくて見づらいので、直リンはこちら) 原理の表面的な説明 Skip gramではある特定の単語の前後の単語の出現確率を測定することでベクトル化する 図1. ある目的の単語から、周辺の単語の確率を計算してベクトル化する Word2vecとfasttextではこれを実装したもの ただし、fasttextにはsubwordという仕組みが入っている 図2. softmaxで共起確率を計算する あそんでみよう 2017年2~3月のTwitterのデータ

    word2vec, fasttextの差と実践的な使い方 - にほんごのれんしゅう
    sh19910711
    sh19910711 2018/10/03
    "fasttextはsubword分割という単語の中の一部が近いと近くなる特性がある"
  • Doc2vecを利用したレコメンデーションシステム - にほんごのれんしゅう

    Doc2vecを利用したレコメンデーションシステム(は、諦めて盗用チェックツールとかのほうがいいかも) Embeddingという文字、文字列をベクトル化する技術機械学習、Deep Learning界隈で用いられているように見えます CNNよるセンチメント分析や、Word2Vec、Doc(Paragraph)2Vecなどで用いられています Doc2Vecとはドキュメントをベクトル化することで、足し算・引き算・コサイン類似度などを計算できるようにしたものです。ベクトル空間で表現されるので、何かと計算しやすく様々なアイディアが試されています。 Doc2VecはBag of wordsなどと異なり、一部のdmpvなどの実装においては単語の語順などの文法情報を保存することができます。この特性を利用して、センチメント分析を行うこともあるようです[1]。 モチベーション Kindleなどで読んだに近

    Doc2vecを利用したレコメンデーションシステム - にほんごのれんしゅう
  • 勾配ブースティングを利用した、KPIに効く特徴量のレコメンド - にほんごのれんしゅう

    勾配ブースティングを利用した、KPIに効く特徴量のレコメンド 近況:おばあちゃんが亡くなった関係で、しばらく更新できませんでした。人間の一生とは改めて有限で、限られた時間で何をどうやるかを意識しないといけないなと思いました 意思決定をサポートする機械学習の必要性 機械学習は、マスメディアの中で語られるまるで人間の置き換えかのように表現されることが多いのですが、利用できる実態としては以下の側面が私が携わる案件で多いです。 CTR予想など、KPIを自動で場合によっては高速に計算することで、人間が最適な意志決定しやすくする 膨大な経験に基づく必要がある一部の職人の仕事で、何がKPIなのかなどの特徴量重要度を把握し、定量的な値で意志決定することで、属人性をなくす まだ私自身、キャリアとして、そんなに長くない機械学習エンジニアですが、主要な幾つか質的な要素に還元すると、このようなものであることが多

    勾配ブースティングを利用した、KPIに効く特徴量のレコメンド - にほんごのれんしゅう
  • Alternative Implementation Of Illustration2Vec Ver2. - にほんごのれんしゅう

    Alternative Implementation Of Illustration2Vec Ver2. Alternative Illustration2Vec Ver2の概要 画像をタグ等の特定の特徴量に従ってベクトル化できる このベクトルとは通常画像分類で用いられるsoftmaxなどのマルチクラスではなく、softprobの(*1)問題として捉えることができる Version2の改善、変更点 Ver1に比べて探索的であって割とひどいコードを修正して、わかりやすく変えました 150x150の画像のサイズから、224x224にスケールアップしました BatchNormalizationだけでなく、DropOutも併用してネットワークのスパース性を高めました Msgpackを用いたKVSをやめて、ただのPickleで画像のシリアライズをする様になりました Keras V2のインターフェース

    Alternative Implementation Of Illustration2Vec Ver2. - にほんごのれんしゅう
  • AWS SagemakerでJupyterを使ったり、独自機能を使う - にほんごのれんしゅう

    AWS SagemakerでJupyterを使ったり、独自機能を使う AWS SagemakerでのJupyterの使用例と、工夫すべき点を示します また、JupyterのPythonに内蔵されているsagemakerで他のコンテナサービスと連携して、SageMakerにユニークな機能であるRandom Cut Forestによる異常検知の使用例を示します。 個人でデータサイエンスコンペとかやるのにJupyterをさくっと立てて使いたいニーズがあるのと、会社でのセキュリティを担保した環境でのJupyterを利用できるユースケースを想定して、GW中に自分の個人契約のAWSで一通りのサーベイを行いました。 目次 AWS sagemakerとは Amazon Linux anacondaにモジュールを追加する SageMakerのOSとusernameとpermission インスタンスのスケー

    AWS SagemakerでJupyterを使ったり、独自機能を使う - にほんごのれんしゅう
  • Microsoft Bingのランキングエンジンをxgboostでシミュレート - にほんごのれんしゅう

    Microsoft Bingのランキングエンジンをシミュレートし、ランキングを学習します 目的 inspector(検査官、監査人、検閲官、視学、警視正、警部補) ランキングアルゴリズムは日々進化しています。Googleのサーチエンジンは200以上の特徴量を用いたり色々しています。 これらはGoogleでないと手に入らない特徴量も多数存在しており、容易に、ユーザが最適化できるものではなかったりします わかりやすいものでは、ドメイン以内にコンテンツが十分に存在し、それがある程度参照されるものであれば、以前あったようにWelqさんのようにコンテンツの内容の是非によらず、ランクアップしてしまうような問題もございました。 意図しない作用をもたらすから、狙ってはいけないなどということはなく、SEOはビジネスにおいて極めて重要な課題です。 SEOでどの要素(サイト規模?テキスト数?キーワードの作り?コ

    Microsoft Bingのランキングエンジンをxgboostでシミュレート - にほんごのれんしゅう
  • SQL, Pandas, 関数型言語におけるそれぞれの集計・分析方法の比較と類似 - にほんごのれんしゅう

    SQL, Pandas, 関数型言語におけるそれぞれの集計・分析方法の比較と類似 乱立するデータ集計技術 ビッグデータだの、人工知能だのバズワードが様々に叫ばれていますが、今でも主流はエクセルで分析しているということを聞いたりします。 エクセルを超えた量のデータを扱う時には綺麗に成型されている時に限り、SQLなどが使えますが、データが汚かったり、膨大な量になってくると関数型言語からヒントを得たMapReduce系の集計フレームワークが使われます。 また、さすがにVBScriptでデータ集計したくないという人もそれなりにいて、Excelのデータをpandasに投入して必要なデータを集計している人もいます。 昔からデータを貯める、分析するということを生業にしていた人は、ビッグデータの考えをそのままSQLを適応して、SQLで集計したりしています。 色々な集計方法が出てきた今、改めて、主に私の周り

    SQL, Pandas, 関数型言語におけるそれぞれの集計・分析方法の比較と類似 - にほんごのれんしゅう
  • 1