サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
analytics.livesense.co.jp
こんにちは、リブセンスでデータサイエンティストをしている北原です。今回は対応分析の利用事例として、紹介型マッチングアプリknewの結婚観の特徴を分析した結果を紹介します。対応分析は2カテゴリーの項目間の関係性を視覚的に把握する方法です。主に探索的分析で使われます。なお、対応分析については別記事にて紹介します。 knewは結婚につながる真剣な恋愛を目的としたアプリなので、ユーザーの結婚願望には注意を払っています。そのため、会員登録時の質問で関連情報を取得してマッチングに活用しています。また、筆者は関わっていないものの、社外に委託して結婚観のアンケート調査も行っています。今回の分析は、このアンケート調査と同様に、簡易的な現状把握を目的としています。 分析 目的 今後の施策に活かせる仮説構築の参考となる情報を得るために、結婚願望別の特徴を簡易的に把握することが分析目的です。検証は目的としていませ
こんにちは、リブセンスでデータサイエンティストをしている北原です。今回は、多変量正規分布の分散共分散行列を扱うときに有用であることが知られているコレスキー分解を取り上げます。 多変量正規分布を使ったモデリングをしたいことはよくありますが、複雑な分布であるため計算時間が長くなりやすかったり不安定になりやすかったりします。コレスキー分解を利用することで、この問題が緩和されます。今回は、コレスキー分解を利用した具体的な例として相関係数の推定を扱います。コードはRとStanです。 相関係数 相関係数のベイズ推定 コレスキー分解 コレスキー分解を利用した相関係数のベイズ推定 まとめ 相関係数 まず、基本の確認のため、簡単に相関係数について説明します。 相関係数は二変量の線形な関係性を定量的に示す指標です。実際には相関係数と呼ばれるものはいろいろありますが、ここで扱うのは最も基本的なピアソンの積率相関
こんにちは、リブセンスでデータサイエンティストをしている北原です。今回は平均処置効果の推定方法について紹介します。より具体的にはマッチングや重み付けといった共変量のバランシングを利用してバイアスの小さい推定をする方法を使い、複数得られた推定結果を絞り込んで意思決定に使える結論を得るまでの流れを扱います。サンプルデータを使って実際に推定を行い結果を解釈するところまで行います。コードはRです。完全にコンセンサスのとれた因果推論方法・手順はおそらく存在しないので、現時点でよいのではと考えている方法の紹介になります。 今回紹介する方法のポイントは、共変量のバランシングによってモデル依存性が低下することを利用して信頼できそうな推定結果を絞り込んでいるところにあります。手法やモデルによって様々な推定値が得られますが、バイアスの評価方法がないため採用すべきものがわからないという問題があります。しかし、共
こんにちは、リブセンスでデータサイエンティストをしている北原です。今回は2020年8月に開催された転職ドラフトの年収非公開施策の分析結果について紹介します。今回は一般向けの内容で、分析手法は集計のみを使いデータ分析の専門用語はほとんど使わずに説明しています。データサイエンティスト向けの、より詳細な分析については後日扱う予定です。 転職ドラフトでは本格的に選考が始まる前に企業がユーザーに年収を提示することになっています。提示された年収は公開されているので、他社の提示年収を参考にすることができ、ある種の市場価格が形成されます。今回の分析では、この仕組みがユーザーあるいは企業にとって不利になることがないかを調べました。 転職ドラフト まず、転職ドラフトがどのようなサービスを行っているのか、どのようなビジョンをもってサービスを運営しているのかについて説明します。より詳しくは転職ドラフトのサイトを御
こんにちは、リブセンスでデータサイエンティストをしている北原です。前回に続きコンテキストを扱えるFactorization Machines(FM)をモデルとした、Bayesian Personalized Ranking(BPR)(以下ではBPR-FMと略)を紹介します。今回はBPR-FMのモデルパラメータ推定の実装と実務適用の話をします。実装にはJuliaを使います。モデルやアルゴリズムの詳細については下記の記事をご参照ください。 analytics.livesense.co.jp Factorization MachinesによるBayesian Personalized Ranking まずはおさらいとしてBPR-FMについて簡単に紹介します。 BPRはユーザーごとの好みの順位を学習するアルゴリズムのフレームワークで、暗黙的評価データを利用したレコメンデーションで使われます。微分可
こんにちは、リブセンスでデータサイエンティストをしている北原です。今回と次回の2回にわたって暗黙的評価データを使ったコンテキスト対応レコメンデーションの紹介をしようと思います。具体的には、コンテキストを扱えるFactorization Machines(FM)をモデルとした、Bayesian Personalized Ranking(BPR)を紹介します。今回はアルゴリズムとモデル、次回は実装と実務での応用の話をします。 暗黙的評価データを使ったレコメンデーション まず暗黙的評価データとは何かについて説明し、暗黙的評価を使ったレコメンデーションの問題について説明します。 レビューの点数のようなユーザー回答に基づくものは明示的評価、クリックや購入のようなユーザーが直接評価したわけではなく行動から推測されたものは暗黙的評価と呼ばれます。明示的評価はユーザーが意識してつけた点数なので比較的信頼性
データプラットフォームグループの松原です。 弊社各サービスのデータ分析基盤であるLivesense Analytics(以降LA)の開発、運用を行っています。 今回はLAで行っている分析のためにサービス側のデータ(テーブル)を、Redshiftへ同期を行う処理について紹介します。 概要 LAではデータウェアハウスとしてRedshiftを運用しており、社内から比較的自由に利用できる様にしています。 LAで取り扱っているデータはアクセスログが中心ですが、分析を行う利用者からはLA由来のデータ以外にも自分たちのサービスのデータを用いて分析を行いたい、という要望がよく出てきます。 サービスのデータには個人情報を含むものも少なくありませんが、分析基盤として社内にデータを解放するためにはそのような情報は削る必要があります。 そこで個人情報をマスキングしたサービス側データを利用できるよう、Redshif
こんにちは、リブセンスで統計や機械学習関係の仕事をしている北原です。今回はレコメンデーションで使う評価推定値計算の効率化に関する小ネタです。機械学習を実務で使うときのちょっとした工夫に関するお話です。実装にはJuliaを使います。 FM(Factorization Machines)をレコメンデーションで使う場合、各ユーザーに対してレコメンド可能なアイテムの評価推定値計算を行うため、ユーザー数とアイテム数が多くなると非常に計算時間がかかります。学習データで交差検証をしたりコンペで使ったりしているだけだとあまり問題にならないのですが、実務では結構問題になります。こういうのは実務の現場で個別に対処されているためか知見もあまり公開されていないようです。対処方法はいろいろあるのですが、ここでは計算方法を少し工夫することで計算量を削減する簡単な方法を紹介します。合わせて計算量の見積もりや計算量削減の
こんにちは、リブセンスで統計や機械学習関係の仕事をしている北原です。今回はレコメンデーションにも使えるFactorization Machines(FM)の効率的な学習アルゴリズムの紹介です。実装にはJuliaを使います。 実務で必要な要件を満たす機械学習ライブラリがなくて、機械学習モデルをカスタマイズすることってありますよね。最近はTensorFlowのような機械学習フレームワークが充実してきたので、そういう場合にはこれらのフレームワークを利用することが多いかもしれません。しかし、アルゴリズムによっては、フルスクラッチで実装することで大幅に効率化できるものもあります。今回扱うFMのAlternating Least Squares(ALS) はその一例です。そこで使われている効率化方法は実装が簡単でギブスサンプリングなどでも使うことができる便利なものなのですが、あまり知られていないようで
こんにちは、リブセンスで統計や機械学習関係の仕事をしている北原です。今回は階層ベイズを使った小技の紹介です。推定にはStanを使います。 Webサービスに限らないかもしれませんが、CVRやCTRなど比率データを扱うことって多いですよね。弊社の求人サービスは成果報酬型であるため、各求人の採用率などを知りたいこともよくあります。しかし、求人別だとバイト求人や転職求人の応募数はそれほど多くないので、採用数を応募数で単純に割っただけでは極端な採用率になりがちです。今回は、このような分母の値が小さい比率のデータを、階層ベイズを使って計算する方法を紹介します。 応募数が少ないときの採用率計算の問題 まず、応募数が少ない求人の採用率計算が必要な理由と、このようなサンプルサイズが小さいデータの比率計算の問題について説明します。 その問題をふまえて、今回どのような推定を行いたいかを説明します。 弊社の成果報
データプラットフォームグループの野本です。主に機械学習基盤の構築やそれにまつわるアプリケーションの開発をしています。 以前までの記事で現在 Kubernetes を利用して機械学習基盤の構築を進めているという紹介をしましたが、機械学習システムに付きものだと思われるワークフローのジョブ管理に Argo という Kubernetes 上で動作するワークフローエンジンを導入し使いはじめまてみました。まだ色々試している段階でもあるのですが現状でどんな感じで使っているのか紹介してみようと思います。 ワークフローエンジンの選定に関して 現在機械学習基盤では先に紹介した以前の記事 や マルチコンテナ構成による機械学習アルゴリズムとアプリケーションの疎結合化 のような形で機械学習システムの構築を進めています。特に後者の具体例のように各アプリケーションを疎結合にうまく動かせるように出来るのが理想です。 これ
テクノロジカルマーケティング部 データマーケティンググループにてUXリサーチャー/UXコンサルタントをしている佐々木と申します。普段は、UXデザイン(以下、UXDと略記)に関するプロジェクトを事業部横断で支援する業務についております。 リブセンスでは、サービスの戦略レイヤーや主要機能と結合度の高い領域について機械学習を適用することに挑戦しており、データマーケティンググループは、UX担当とアナリティクス担当が並存しているグループになります。 グループとしての取り組みは、こちらの記事等もご参照下さい。 「競争優位性構築のための人間中心機会学習〜CVRからUXへ〜」 analytics.livesense.co.jp 私は、UXDを社内に普及する立場であり、かつ、UXDがビジネスに必要な要素であると強く認識しておりますが、全てのプロジェクトにUXDを多くの時間を掛けて取り組むことが適切な姿である
2023-06-30 Gale-Shapleyアルゴリズム実装の高速化 アルゴリズム 前回に続き今回もGale-Shapleyアルゴリズムを扱います。前回の記事で紹介した実装のボトルネックを把握し、少し改良することで計算量を大幅に削減します。コードはJuliaです。 2023-06-29 Gale-Shapleyアルゴリズムの実装 アルゴリズム 今回は、マッチングアルゴリズムとして有名なGale-Shapleyアルゴリズムを扱います。今回の記事ではアルゴリズムをそのまま実装したものを紹介し、次回の記事で計算速度を考慮した実装を紹介します。なお、弊社サービス[knew](https://knew.jp)が始まった頃に… 2023-06-27 二元分割表のベイズ推定 - 対数線形モデル データサイエンティスト向け データ分析 ベイズ統計 今回も二元分割表のベイズ推定ですが、今回は一般化線形モデ
こんにちは、データプラットフォームグループの田中 (@yubessy) です。機械学習基盤のプロダクトマネージャをしています。 いきなりの質問で恐縮ですが、機械学習(ML)システムの開発プロジェクトでこんな経験をされた方はいらっしゃいますか? MLエンジニア: Webエンジニアに「コードの品質が低くシステムを本番運用できない」と言われた Webエンジニア: MLエンジニアに「開発と本番でデータが違って精度検証ができない」と言われた どちらかに心当たりがあるなら、同じチームにもう一方に当てはまる人がいるかもしれません。 MLシステム開発には様々な経験をもつメンバーが関わるため、システムの信頼性について重視する観点が分かれることは珍しくありません。 システム開発において信頼性は重要な要素です。 特にMLシステムには高い不確実性がつきまとうため、通常にくらべて信頼性の実現がより困難になります。
テクノロジカルマーケティング部データマーケティンググループにてデータサイエンティスト兼UXアーキテクトをしている新保と申します。普段は機械学習を中心としたデータ活用の推進や新規機能のユーザ体験の設計をしています。ここ1年程リブセンスではサービスの戦略レイヤーや主要機能と結合度の高い領域に対して機械学習を適用していくことに挑戦しており、今回はそれらを実際にどのように行っているかをご紹介したいと思います。 パッチ型機械学習の成功体験とその限界 本題に入る前にリブセンスのデータ活用の歴史について少しお話しします。以前に別のメンバーが投稿した記事に詳しい説明がありますがリブセンスでは2014年にデータ活用の専門組織を立ち上げてから現在に至るまで機械学習のビジネス活用を継続的に行っています。初期の頃は既存サービスの枠組みの中でサービスとの結合度が出来る限り低く、かつ利益インパクトが大きい領域に機械学
こんにちは。テクノロジカルマーケティング部の谷村です。 本日、私と田中の2名で デブサミ2018において、データを活かす組織の作りかた、事業に寄り添う分析・機械学習基盤の育てかたというタイトルでお話する機会をいただきました。 早速ですが、発表資料についてそのまま公開させていただいています。 前半:Livesenseの場合のデータを活かす組織の作りかた(谷村) 後半:事業に寄り添うデータ基盤の育て方(田中)
こんにちは。テクノロジカルマーケティング部 データプラットフォームチームの村上です。 弊社各サービスのデータ分析基盤であるLivesense Analytics(以降LA)の開発、運用を行っています。 本日は弊社データプラットフォームでも活用しているフロー管理ツールAirflowについて、分散処理の概要や最近の更新についてご紹介します。 Airflowについて Airflowとは github.com Airflowはデータ処理フローを管理するツールです。元々はAirbnb社が開発して公開したソフトウェアです。その後Apacheソフトウェア財団のサポートを受けて現在はApache Airflowという正式名称になっています(本ブログでは以下Airflowと記述します)。ライセンスはApache License2.0です。本体コードはpythonで作られています。 2018年2月現在、正式リ
データプラットフォームチームの野本です。機械学習基盤の構築やその周辺アプリケーションの実装を行っています。以前は DOOR 賃貸の開発運用をしていてこんなことなどしてました。 機械学習システム運用の課題 リブセンスでは 2014 年ごろから機械学習システムの開発導入を行っており以降様々な機械学習システムを各サービスに導入してきました。また自社でのデータ分析基盤の運用も行うようになってから機械学習システムの開発の幅が広がり導入の要望も次第に増えてきました。(参考:リブセンスのデータ専門組織のこれまでとこれから) 当初は機械学習システムに対する運用知見などが少なかったため、専用のインフラというものは保持せず各サービスのインフラに相乗りし、サービスのアプリケーションと密に連携し機械学習システムを実装運用することが多かったです。各サービスは元々オンプレミスで運用されていたものが多かったのですが、現
はじめに こんにちは。テクノロジカルマーケティング部の谷村です。 テクノロジカルマーケティング部(以下、テクマ部)は、 リブセンス内のデータ分析や機械学習、そのための基盤開発までデータまわりを手広くやっている部門です。 リブセンスはHR領域や不動産領域を中心として複数のメディアを運営しています。組織的にはメディア毎に事業部を編成する、いわゆる事業部制を採用しています。 メディア毎の意思決定スピードや戦略の柔軟性、等々が事業部制のメリットかと思いますが、テクマ部についてはこれら各事業を支援する形で横串の横断組織として編成されています。 横断の組織としているのは所属メンバーの専門性を高める目的や、全社状況にあわせたアサインメントを行う目的などがあります。 今回は、リブセンスがテクマ部を中心としてどのようにデータと向き合っているかをご紹介させていただきます。 リブセンスのデータ分析のこれまで 私
Analytics チームで転職会議のレコメンドを開発している @na_o_ys です。今回は業務のことは忘れて、趣味の将棋の話をしたいと思います。 この数年で将棋の学習環境はずいぶんリッチになりました。通勤電車では将棋アプリのネット対局をして、自宅ではオープンソースの強豪 AI を使って棋譜検討し、日々将棋を楽しんでいます。 一方で、顔を突き合わせて盤と駒を使って指す対局が一番楽しいのは変わりがありません。 リアルの対局を AI で検討するために、盤面を手軽にコンピュータに入力したい というのが今回のテーマの発端です。 TL;DR 盤上の駒を高い精度で推定することができました。 処理は大きく 2 つのステップからなります。 盤面の正規化 盤面の四隅の座標を特定し、元画像から正規化画像への射影変換を得る マス目毎の内容を推定する マス目毎に画像を切り出し、駒の有無・種類を推定する ちなみに
データエンジニアリングチームのよしたけです。 弊社各サービスのデータ分析基盤であるLivesense Analyticsの開発、運用を行っています。 Livesense Analyticsのアーキテクチャ Livesense AnalyticsはAWS上でシステムが構築されています。S3上にあるデータやtd-agent、Kinesis Firehoseなどを経由して集めたデータをAmazon Redshiftに格納し、データウェアハウスとして運用しています。詳細は、弊社大政がデータ分析基盤Night #1 で発表した内容をご参照ください。 当時とは一部変更になっている部分もありますが、大枠は上記の図の構成になっています。 ディスク使用量 このLivesense Analyticsには、マッハバイトや転職会議をはじめ、リブセンスで運用している多くのメディアの各種ログやデータが集められています
こんにちは、Analyticsグループの田中です。 以前は主にデータ分析基盤を開発・運用していましたが、現在は機械学習基盤の開発に携わっています。 今回はレコメンドエンジンを題材に、コンテナ技術を活用した機械学習システムのアーキテクチャをご紹介します。 リブセンスでのレコメンドエンジン開発 リブセンスでは以前から機械学習を利用したレコメンドエンジン開発に力を入れています。 このブログの初回の記事でも社内で利用しているBPMFアルゴリズムについて解説しています。 この記事にもあるのですが、社内のレコメンドをとりまく状況は次のような点が特徴です。 複数のサービスでそれぞれのニーズに合わせたレコメンドエンジンを開発・運用している マッハバイト・転職ナビ・転職会議などの各メディアでそれぞれ独自のレコメンドエンジンが稼働している 主な事業領域である求人・不動産サービスでは、アイテムの件数は多くないが
こんにちは、リブセンスで機械学習関係の仕事をしている北原です。 弊社の転職ナビアプリには求人をレコメンドする機能が実装されていて、求人の好みを回答すると各ユーザーに合った求人がレコメンドされるようになっています。このサービスではいくつかのレコメンドアルゴリズムが使われているのですが、その中にBPMF(Bayesian Probabilistic Matrix Factorization)というアルゴリズムがあります。基本的な問題をフルベイズで扱っている典型的なベイズ手法なのですが、使いどころが難しいのか、使われているのをあまり見たことがありません。そこで、今回はこのBPMFを紹介しようと思います。 アプリの求人レコメンド レコメンドに限らず機械学習では、やりたいことや使えるデータの種類、特徴に応じて適切なアルゴリズムを使うことが大事です。BPMFを使った背景として、まず簡単に求人レコメンド
このページを最初にブックマークしてみませんか?
『LIVESENSE Data Analytics Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く