u++の備忘録

大学中退→10月入社で得た三つのもの:金と時間と健康

「働き方」にまつわる #わたしの転機 の一つは、東大を退学して2017年10月に新卒入社したことです。GWのまとまった休みで気持ちの整理をしたいという考えから、入社から7カ月を経ての思いの丈を備忘録にまとめておきます。

upura.hatenablog.com

存在した三つの選択肢

転機となった2017年10月、僕には三つの選択肢がありました。

  • そのまま大学に在籍し続ける
  • 半年間在籍or休学して翌4月に入社する
  • 即座に中退して入社する

最終的には三つ目の選択肢を採用しましたが、そのおかげで得られたものは多かったと思っています。
(もちろん学位など失ったものも多くありますが・・・)

10月入社で得た三つのもの

この決断で得たものは、大きく分けて金・時間・健康の三つです。

これは一番分かりやすいですね。大学に在籍していれば年間56万程度の学費を払っていたのが、入社したことで逆に安定した収入が入ってくるようになりました。僕の場合は大学時代と入社後で(プログラミングという視点などでは)やっていることに大差がないと捉えているので、この違いは大きいと思っています。

気軽に技術書をAmazonでポチれる、後輩に躊躇せずカッコつけて飯を奢れる、といったレベルでしかお金を基本使わないのですが、精神的な余裕ができたのは良いことかなと。

時間

これは個人差が大きい話かと思いますが、僕は大学時代性格上、常に研究のことを考えてしまう節がありました。入社したことで、良くも悪くも「勤務時間」という概念が発生したのは、オン・オフを切り替えるという面で非常に効果的に働いていると感じています。

例えば大学時代はGWも常に研究のことばかりを考えて、何なら毎日研究室にいることもありました。しかし今は業務端末を会社に置いてあるので物理的に仕事ができず、まとまった時間で家事をしたり趣味的な勉強をしたりといったことが可能になった気がしています。ブログの更新数も、中退して入社すると決めた頃から格段に増えています。

健康

これは「時間」に密接に関係している話ですが、比較的時間に余裕ができたので、意識的にウォーキング・ジョギングや筋トレをするようになりました。「社会人になったし、一念発起して頑張ろう」という強い思いから実現している面もあると思います。立派なエンジニアになるため、良い筋肉を身に付けたいです。

おわりに

徒然なるままに書き連ねた通り、現状は思い切った決断をした自分を褒めてあげたいなと思っています。そして改めて、学費を払ってもらっている立場の癖に、突然「中退して就職する」とか勝手なことを言う息子を受け入れてくれた両親にも感謝せねばなぁと。

人生はA/Bテストできないので、この決断が良かったかどうかは永遠に分かり得ませんが、将来振り返った時に自信を持って「成功だった」と言えるよう、邁進していく所存です。

りっすん×はてなブログ特別お題キャンペーン「りっすんブログコンテスト〜わたしの転機〜」
Sponsored by イーアイデム

【論文メモ】Data2Vis: Automatic Generation of Data Visualizations Using Sequence to Sequence Recurrent Neural Networks

Data2Vis: Automatic Generation of Data Visualizations Using Sequence to Sequence Recurrent Neural Networks

どんなもの?

  • 与えられたデータセットから「データ・ビジュアライゼーション」を自動的に生成するためのニューラル翻訳モデル「Data2Vis」を提案
  • 「データ・ビジュアライゼーション」の生成を、sequence to sequence 変換問題として定式化
  • LSTM(long-term-memory)ユニットを有する多層アテンションベースのリカレントニューラルネットワーク(RNN)を学習させた
    • ビジュアライゼーション仕様のコーパスを使用

先行研究と比べてどこがすごい?

  • 先行研究
    • Bertin[7]は、データ・ビジュアライゼーションを"a language for the eye"として体系化した
    • Mackinlay[43]は、データ・ビジュアライゼーションをグラフィカルな言語の文章と見なし、「表現性」と「有効性」の基準に基づいてモデルを定式化し、「形式言語」から概念を借用した
    • その後の研究では、さまざまな「文法」も導入された
  • 本研究
    • 本研究では、これらの知見を拡張して、「データ・ビジュアライゼーション」の生成を、sequence to sequence 変換問題として定式化した

技術や手法のキモはどこ?

f:id:upura:20180428131703p:plain

どうやって有効だと検証した?

  • (生成モデルの定量的検証は一般に難しい)
  • "R dataset repository"を利用した定性的検証
    • Json形式
    • 統計ソフトウェア環境Rとアドオン・パッケージの一部と共に最初に配布された1147個のデータセット
  • 検証を通じて、モデルが以下を学習することが示された
    • モデルが有効なビジュアライゼーション仕様
    • 適切な変換(カウント、ビン、平均)
    • 一般的なデータ選択パターンの使い方

f:id:upura:20180428133119p:plain

議論はある?

  • 学習データを増やしたい
  • 現状は一つのインプットに対して一つのアウトプットしか生成しないが、あり得る複数のアウトプットを生成するモデルに拡張したい
  • "ggplot2"など他のビジュアライゼーション仕様に対応するモデルも検討したい
  • インプットにデータセットだけでなく自然言語も加えられるようにしたいし、自動キャプション生成の可能性も検討したい

次に読むべき論文は?

  • [7] Jacques Bertin. 1983. Semiology of Graphics. University of Wisconsin Press.
  • [43] Jock Mackinlay. 1986. Automating the design of graphical presentations of relational information. ACM Trans. Graphics 5, 2 (1986), 110–141.

[追記: 20180607]

筆者が実装を公開
github.com

【TEDメモ】統計を好きになるべき理由 (アラン・スミス | TEDxExeter)

www.ted.com

概要

  • フィナンシャル・タイムズアラン・スミスさんのTEDトーク
  • ”人が初歩的な数学を理解できるのは「当たり前」と考えがちだけど、実際はそうではない。しかし統計は本来「私たち自身に関する科学」であり、数学の得手不得手に関係なく数字に関心を持ってほしい”

所感

  • メッセージそのものは単純なもの
  • そのメッセージをユーモラスに、かつ具体例を豊富に伝えているのが素晴らしい
  • 本筋とは外れるがWebAppを作る際の工夫の部分も非常に参考になる

【書評】『前処理大全』はNot Awesomeな局所解に気付かせてくれる本

前処理大全[データ分析のためのSQL/R/Python実践テクニック]

  • 本橋智光 著,株式会社ホクソエム 監修
  • 定価(本体3,000円+税)
  • 技術評論社

gihyo.jp

どんな本?

データサイエンスの現場で遭遇する様々なトピック(抽出・集約・結合など)を題材に、R・PythonSQLを用いた実装方法を紹介。「Not Awesome」な不適切なコードを理由とともに提示した後、「Awesome」な可読性の高く処理量の少ないコードを掲載している。

所感

実例を通じて、「Not Awesome」なコードを書いてしまっていた自分に気付ける本。

例えばPython/Pandasでの条件付き抽出に関して、インターネットで調べると以下のようなコードが多く出てくる。

Not Awesome

import pandas as pd
df = pd.read_csv("data.csv")

df = df[df["id"]=="hogehoge"]

しかし、このコードは下記の点などでAwesomeとは言えない。

  • dfが入れ子になっていて可読性が低い
  • dfの名前が変わった際には3箇所も変更する必要がある

Awesomeなコードとしては、下記のようなものが提示されている。

Awesome

df.query('id=="hogehoge"', inplace=True)
  • .queryを使うことで、可読性を高めている
  • inplace=Trueを与えることで、dfの回数も1回のみにしている

このような実例を通じて「動いているから良いや」で済ましていた事案を知ることができ、局所解からの脱却を促してくれる本になっている。寝られない時にザッと読み通したが分量は多いので、サラッと読んでおいて辞書的に使うのも良いかもしれない。

【論文メモ】新聞記事における政治家の発言の引用記述と議会会議録との対応関係の調査 ―フェイクニュース検出に向けて―

論文名

新聞記事における政治家の発言の引用記述と議会会議録との対応関係の調査 ―フェイクニュース検出に向けて―

どんなもの?

フェイクニュースの検出に関して、例えば「○○議員が××と発言した」というニュースの真偽を判断するためには、一次情報である議会会議録などを用いて○○議員の実際の発言を調査すればよい。本研究では、新聞記事で引用されている箇所をどのように探せばよいか検討するため、地方議会会議録コーパスを利用し、会議録の発言がどのように新聞記事に記述されているかを明らかにする。具体的には、日経電子版の記事から「豊洲問題」に関する記事 67 点を収集し、そのうち発言文 (会議録要約文) が載る 32 点の記事から 150 の対応関係を抽出し、分析を行った。引用箇所の約95%はBoWなどの語句レベルの一致により推定できると示唆された。

先行研究と比べてどこがすごい?

我々は,従来から,全国の自治体の地方議会会議録を収集・整理する手法を確立し,「地方議会会議録コーパス」の構築を進めてきた

技術や手法のキモはどこ?

特になし。

どうやって有効だと検証した?

特になし。

議論はある?

対応箇所を自動的に推定する難しさの観点から、32記事における 150 文を以下のように分類した。

  1. 新聞記事の引用箇所と都議会会議録の発言箇所の表現が完全に一致する.
  2. 新聞記事の引用箇所と都議会会議録の発言箇所の表現がほぼ一致する.
    • (2a) 一致しない箇所は,敬語を常態語 (普通語)に直していたり,敬体を常体に直している.
    • (2b) 一致しない箇所は,助詞,接続詞,形式名詞などの実質的な意味を表さない語句を言い換えている.
    • (2c) (2a) と (2b) に当てはまらない,実質的な意味を表す語句を言い換えている.
  3. 新聞記事の引用箇所と都議会会議録の発言箇所の表現が大きく異なる.

(1) は語句が連続しているかどうかの問題はあるが、引用箇所に該当する表現が全て発言箇所に存在しており、exact match により推定できると考えられる。(1) は最も簡単に対応関係を推定できる場合であり、調査対象の 22.7%(34/150 文)を占めた。

(2) は、引用箇所をBag of Words(BoW)として表現することで対応関係が推定できそうなものである。

(3) は、対応関係にある箇所全体の意味を考慮しなくてはならず、語句レベルの対応関係を超えているため最も難しい推定となる。しかしながら(3) は調査対象の 5.3%(8/150文)と少なかった。

次に読むべき論文は?

特になし。検出に向けた続報が出たら読みたい。

【論文メモ】Embedding-based News Recommendation for Millions of Users

論文名

Embedding-based News Recommendation for Millions of Users

どんなもの?

end-to-endの方法で分散表現を使用する埋め込みベースのニュース推薦手法の提案

  • オートエンコーダのノイズ除去の変形に基づく分散表現から
  • ブラウジング履歴を入力としたRNNモデルでユーザ表現を生成し
  • システム性能を考慮した内積操作に基づいて、各ユーザの記事を照合して一覧表示する

先行研究と比べてどこがすごい?

  • コラボレーティブフィルタリングや低ランク分解などのIDベースの手法はよく知られているが、候補の記事は短期間で期限切れになり新しい記事に置き換えられるため、ニュースの推薦には適していない
  • 単語ベースのアプローチは、システム性能の面で優れた候補であるが、同義語・表記ゆれ・固有名詞といったユーザ固有の特徴をどう扱うかなど、いくつかの課題がある
  • 本論文では、埋め込みベースのアプローチで、従来より高い性能を示すモデルを作成した

技術や手法のキモはどこ?

RNNモデルを採用することで、ブラウジング履歴から各ユーザの特徴を表現し、高精度の推薦を可能にした

どうやって有効だと検証した?

  • 過去のアクセスデータを用いたオフライン評価において良好な性能を示した
  • CTRと合計期間は、単語ベースのアプローチと比較して個別に23%と10%向上
  • 提案された方法を組み込んだサービスは、すでにすべてのユーザーに公開されており、1日に1,000万人以上のUUに推薦され、毎月数十億のアクセスが行われている

議論はある?

ニュース以外の分野(広告)などにも推薦技術を応用していきたい

次に読むべき論文は?

NULL

【書籍メモ】Chapter 1 introduction | Introduction to Algorithmic Marketing

upura.hatenablog.com

1.1 Algorithmic Marketingの概要

Algorithmic Marketingとは、データに基づく手法や経済理論を用いて、「マーケティングの4P」モデルを自動化・効率化する考え方である。

マーケティングの4P」モデルは「マーケティング・ミックス」とも呼ばれ、ある特定の製品を販売するために使用される四つのマーケティング要素の組み合わせのことである。

  • Product
  • Promotion
  • Price
  • Place

1.2 Algorithmic Marketingの定義

f:id:upura:20180319130929p:plain

本書ではAlgorithmic Marketingを「ビジネス上の目標に基づいてマーケティング・プロセスが自動で定まる枠組み」と定義する。ビジネス上の目標を反映する形でマーケティング・システムが構築され、そのシステムから導かれた施策を展開する。その施策の結果はシステムにフィードバックされる。

1.3 歴史的背景

Algorithmic Marketingは、従来のマーケティング手法と明確に違うものではない。従来の数々の成功事例に共通して存在するパターンや特徴を取り出して、一般化されたシステムにまで落とし込むのがAlgorithmic Marketingの考え方である。伝統的な経済理論モデルやデータサイエンスなどは、Algorithmic Marketingの考え方におけるマーケティング・システムの構築に重要な要素となる。

1.4 Programmatic Servicesの構築

f:id:upura:20180319134521p:plain

マーケティングの4P」モデルは抽象的な概念であるが、Algorithmic Marketingの考え方では、より具体的にマーケティング・システムを設計することになる。上図では「Programmatic Services」と冠して、三つの目的とそれぞれ二つずつのServiceに分解している。本書ではこの後、これらのサービスについて具体的に取り上げていく。

1.5 本書の想定読者

本書の想定読者は、発展的なマーケティング・システムの構築方法を学びたいと考える全ての人々である。読者には、統計・微積分・プログラミングの初歩的な知識があると想定している。

1.6 まとめ

  • Algorithmic Marketingを「ビジネス上の目標に基づいてマーケティング・プロセスが自動で定まる枠組み」と定義する
  • Programmatic Servicesは、三つの目的とそれぞれ二つずつのServiceで構成される