見出し画像

どちらに分類するのがよいのだろうか

この記事は, freee20卒内定者 季節外れのアドベントカレンダー22日目の記事です.

前回(21日目)はきょんさんの「梨」でした. たった漢字一文字タイトルに,
その全てがつまっている面白い記事でした.

きょんさんをはじめとする, 皆様のような面白い記事を書きたいなと思いつつ, 僕自身はこういった記事を書くのが初めてなので, 読んで良かったなと少しでも思ってもらえることを目指します.

自己紹介

改めまして, 千田(せんだ)と申します.
出身は奈良寄りの大阪で,
京都の田舎の大学の大学院修士課程に在籍しています.
専攻は情報工学で, それにともなう研究室に所属しています.

周りからは"せんちゃん"と呼ばれていますが, 先日の懇親会で
名乗ってみて, これを自称するのは恥ずかしいような気がしてきました(笑)

よく呼ばれているあだ名が"せんちゃん"で反応しやすくて良いのですが...
過去には"まさ"(下の名前からとられたもの)や "せんけん"(なんか犬みたいだからという理由で名付けられる. "千"+"犬")というものまでありましたので
好きに呼んでいただけるとありがたいです.

好きな食べ物は, ラーメン, 漬物, 珍味などなど (味が濃いですね.)
好きなことは, 寝ることです. 悩んだ時は一回寝て起きて考えるとなぜか早く物事が進みます. (解決できるかは別ですが.)

本題

今回のアドベントカレンダーは"知ってもらう"がテーマで, 内容は"好きなこと"を取り上げている人も多いので, 僕も好きなことを取り上げようと思います.

僕が好きなことは分類問題です.

... 一般受けするような内容ではないような気がしますが(笑)
大学院の修士課程まで行って研究するぐらいには好きなので取り上げてみることにしました.

以下, 長くなりそうなのでお忙しい方は"さいごに"まで飛ばしてください.


まずは例題から.

あるところに「成人の身長を表すデータ」がありました.
ふと, このデータを「男女の分類」に使いたいと思いました*1.
分類するからには, 手元にあるものから, 手元にないあらゆるデータが入力されても可能な限り正解したいです.

では, どこに「男女の分類」の境界を置くのが良いでしょうか.

問題はこんなかんじです. 文中の「」を好きなものに置き換えれば様々な場合に対応できると思います.

これは, 例えば, 「163」のデータが与えられた時, これを「男性or女性」のどちらに分類するのがより良いのかを決めることが目的です.

この問題をどう解くか...

実は, 身長のデータ分布は一般に"正規分布"*2の性質に従うと知られています.  "正規分布"は平均と分散で形が決まりますから, ある程度の予想をするための枠組み(モデル)として使用するのに便利です.

総務省統計局ホームページ(21-2)から身長データを参考にしてみます.
平成24年の成人(20歳以上)の平均身長は男性:167.3/女性:154.2で, 分散を一定と考えると, (167.3+154.2)/2=160.75に「男女の分類」境界を決めてしまうのが良さそうです.

したがって, 「160.75」を基準に, 大きい値を男性, 小さい値を女性として「男女の分類」を行うということでこの問題を解決しましょう.


...以上の方法(知識を元にした分類方法)も1つの案なのですが,
この正規分布を用いたアプローチはいくつかの弱点があります.

1. データは果たして真の正規分布に従うのか.
2. そもそも, データに関する事前知識は知りえるのか.
3.その他いろいろ

1.に関して, 今回の「身長」データは, たしかに多く集めるほど真の正規分布に近づくと知られていますが, その真の正規分布を知る術がありません.
手元にある限りあるデータでは真の正規分布に従っているとは言えないため, より良い分類には適合しない可能性があります.

2.に関して, 今回は"「身長」が正規分布に従う"と僕が知っていたので無理に当てはめましたが, 知らない場合はこの方法を使えません. また, 実際の問題は正規分布で表されるよりももっと複雑です.

要するに,
表現の自由度が小さすぎるので, 目的である分類をより良くするためには物足りない可能性があるのです.
表現の自由度を高めて, できるだけ事前知識なしに得られたデータのみから分類問題を解くことができるならばもっと楽に分類をよりよくできるかもしれません.

これを簡単に実現するために, "機械学習"によるアプローチが取られる場合があります.

"機械学習"に関しては耳にされたことがある方も多いのではないでしょうか(そんなことなかったらすみません.)
僕も実際に研究で使用しています.

機械学習の利点は,

* 表現の自由度を自分で決められる. (正規分布など使わなくてもOK)
* 得られたデータのみを用いる. (データドリブン, 事前知識不要) 

もありますが, なにより

* 自動で学習する. (データ分布に適合する)

という点が大きいのではないでしょうか.

例題においては, 「身長」に関する事前知識もいりませんし, どんな分布に従って生成されていようが表現能力の限り分類できます. しかも自動で.

したがって, 機械に学習させて得られた「結果」を基準に, その「結果」よりも大きい値を男性, 小さい値を女性として「男女の分類」を行うということでこの問題を解決しましょう.


...ただし, このアプローチにも弱点はありまして,
1番は"機械はなにもわからない"ということです.

仮に"表現の自由度が高いシステム"を作っても,
"そのシステムが目指すべき目標"(どこに向かえばよいのか)や,
"目標を達成するための学習方法"(どこまで向かえば良いのか)
などは機械にはわからないわけです.

ここが非常に難しくて,  現状として人間が設定する必要があります.
また, これといった絶対の解法が存在しないのも悩ましく, これが研究対象となっています.

そのため, 目標達成のためのアルゴリズムを考えては機械に任せて放置,
結果が出て考察, 予想通りの動きをしたかで一喜一憂しながら考察を繰り返す. といったことを現在進行形で取り組んでいます.


前半の知識ベースの分類と後半の機械学習による分類, どちらにも言えることですが, 得られた結果が真であるとは限らないことに注意する必要があります.
タイトルの「どちらに分類するのがよいのだろうか」を答えることは意外と難しいのです. 誰も答えを知らないわけですから.

...こんな感じで好きなことざっくり語ったところで締めくくろうと思います.
分類問題や機械学習について少しでも知ってもらえたなら幸いです.


さいごに

長くなってしまいましたが, 最後に, 次の進路をfreeeに決めた理由についてお話しさせてください.

最終的にfreeeに決めた理由は, "面白そう"でした.
... 真剣に決めた人からはお叱りを受けそうです.

元々, 本編でも取り上げたように分類問題や機械学習が好きなので,
それを仕事にできたらいいなと考えていました.
機械学習をするからには

*大量のデータが集まる環境 (機械学習にはどうしても大量のデータが必要)
*データの性質 (そのデータを処理することが企業活動に有益であるかどうか)

を満たす企業に属したほうが人材がノウハウが集まって自身も得られるものが大きいなと. そんなことを考えて探していたところ, freeeに出会いました.

freeeが取り扱うサービスは, ビジネスにおいて必要不可欠なものが多く, それぞれで抜けや誤植が許されない重要なものであるため, データの信頼性が高く活用がしやすい性質を持っていると思っています.
また昨今のキャッシュレス化の動きでデータが今後も増加していく環境にある. という観点から, 得られるものが大きいと惹かれたのが始まりです.
そこから面接で出会う方々が魅力的で皆さん個別に目標を立てて生き生きとしている姿にいつのまにか憧れていました.
別に職種にこだわっていたわけではないので, 最終的に機械学習できなくてもいいや, 面白そうだし. と決めてしまいました.

思えば, 大学も情報系が面白そうだから, 勉強して見たい.
大学院も, 機械学習の研究が面白そうだから続けて見たい.
といった理由で進路を決めてきたので今回の進路も良いものだと思います. これが正解かは今後の努力次第ですね^^

"分類問題が好きな人", "面白そうが好きな人"みたいな感じで
皆様に少しでも知ってもらえたなら幸いです.

以上です. 次回(23日目)は, 田中雄也くんです. 楽しみにしています.

---

*1. ここでの男女は生物学的に決定される2つに限定します.
*2. 聞き慣れない方は, "偏差値とかの分布表"や"砂時計の砂の断面"に現れるような形と思ってください. いわゆる普通の分布です.


この記事が気に入ったらサポートをしてみませんか?