hidekatsu-izuno 日々の記録

プログラミング、経済政策など伊津野英克が興味あることについて適当に語ります(旧サイト:A.R.N [日記])

あなたの賃金の物語

マクロの視点

  • 国民の賃金水準は、ひとりあたりのGDPで決まる。GDPは国内の総生産であるから、国民の数で割れば、ひとりあたりの生産物の割当が決まることを考えれば当たり前の話ではある。単純に平均賃金を比較しても、国ごとの制度の違い(税制や会社負担の保険料など)の調整が難しいため、適切な比較にならない。
  • 日本のひとりあたりGDP購買力平価換算)は、他の先進国に遅れをとっており、賃金差のほとんどはこれが原因と考えられる。名目GDPで議論している人をしばしば見かけるが、日本は他国がインフレの中、デフレが続いているため、最低でも実質GDPで比較しないと著しく変な結論を導くことになる。
  • 個々人の賃金は、平均的な賃金だけでなく、個々人の能力差、受給バランス、分配で決まる。少なくとも分配に関しては、日本は幸か不幸か欧米に比べて格差は少ない。近年の日本のジニ係数拡大は少子高齢化の影響によるところが大きく、格差が拡大しているわけではない。
  • 賃金水準は労働生産性、すなわち労働者一人あたりの利益と相関があることが知られている。ただし、労働生産性と賃金に関係があることは、同一労働同一賃金を意味するわけではない。同じ仕事をしていても、儲かっている会社の経理は儲かっていない会社の経理より高い賃金を得られるはずである。
  • 資格制度のような供給制限の影響も大きい。日本の場合、企業経営者と並び、医者も高額所得者の大きな割合を占める。

経営者(総賃金の決定者)の視点

  • 人件費は、原材料費などと同様、原価のひとつである。そのため、同じ効果を発揮するのであれば、安くすむ方が望ましい。一方で、従業員は単なる原価ではなく、それ自体が新たなビジネスを産み出し会社を発展させる源でもある。
  • 通常、人件費はあらかじめ総額を決め、分配する形がとられる。優秀な人が増えたので総人件費が増えましたという形だと見通しができないため、その会社の平均的な利益額から妥当と考えられる総人件費を想定し分配するという発想が取られる。そして、利益の増減に従い、その一部をボーナスとして反映する。
  • 一般に、昇進と昇給はセットでなされる。総人件費が決まっている以上、昇進させることができる人数には制限がある。実際のところ、昇給を伴わない昇進は日本では一般的だったりするのだが、むしろマイナスの動機付けをもたらし、退職リスクを高めることが知られている*1。単なる悪習なのでやめたほうがよいのではと思う。
  • 会社にとって有益で重要な人材だと思うのであれば、昇進なしの昇給(時には管理職よりも高い給与を支給する)を検討する必要がある。昇進することで、仕事内容が変わり稀有な能力を発揮できなくなるかもしれない。
  • 一方で、アワード形式での報奨は、(次は受賞できない確率が上がるため)受賞した人々のモチベーションを下げるだけでなく、受賞に近かったにも関わらず受賞を逃した人々のモチベーションも下げるため良い方法ではない。旅行や休暇のようなイベント型の報奨の方が望ましいようだ。
  • 効率的賃金仮説によれば、企業は不正防止のため、生産性に対し妥当な水準より高めの賃金を払うほうが効率的であるとされている。例えば、銀行の高い賃金水準は不正を防ぐために設定されていると考えられる。
  • 学問的には年功序列賃金は、その人の現在の能力ではなくライフサイクル全般を通じて調整された賃金が支払われていると考えられている。高齢になっても高い賃金が支払われているのは、若い時に安い賃金で働かされていた事に対する補償かもしれない。逆に言えば、定年延長後、急激に賃金が下がるのはその補償が終わったからかもしれない。
  • 人間の所有バイアスや効果の持続時間などを考えると、たとえ生涯賃金では同じ賃金が払われたとしても、賃金は上昇し続ける方が望ましい。
  • 女性の賃金は男性より低く出世にも恵まれない傾向にあるが、潜在的な能力自体に男女差があるわけではないことがわかっている。結婚・出産による退職や休職や出世を強く主張しないことがキャリアに影響を与え結果として賃金が上がらない結果に繋がっているようだ。それだけではなく、女性の活躍が制限されている社会では、女性は仕事で役に立つ能力の獲得にそもそも積極的にならない、という逆説的な影響もある。
  • 労働者の意欲や満足度の向上は、業績の向上と密接な関係があるが、業績の向上⇒満足度という因果関係が強い*2。業績が良ければ、結果として解雇も減り、昇給も良く、福利厚生も改善する。それ以上に、業績の良い会社に勤めているというステータスそのものが満足度の向上に繋がっている。
  • 経営者には従業員に幸福をもたらさねばならない義務はない。とはいえ、アルバイトのような非熟練労働者を多用するような業種や労働者を疲弊させるブラック企業は、会社単体で見れば正しい行動であっても、社会全体から見れば長期的な生産性を引き下げ、生活保護費の増大により将来の財政を圧迫する恐れがあり問題がある(合成の誤謬)。とはいえ、原則論としては、このような問題は政府が法的に規制すべきものであって、個々の企業に責任を転嫁すべきものではないとも考えられる。

管理者(評価者)の視点

  • 従業員の自己評価にはバイアスがある。ほとんどの人が自分の能力は平均よりも上であると考えている(平均以上効果)。特に、能力の低い人ほど自己評価の乖離が大きくなる。
  • 従業員の賃金に関する理解にもバイアスがある。ある研究では、従業員は上長の給与水準を実際より2割ほど高く想像し、同年齢、同資格の給与についても実際より高く見積もっていた。これを踏まえると、妥当な賃金であっても、自分はより低い賃金をもらっているのではないかと感じている可能性がある。
  • 業績評価それ自体が、社員の協力関係を妨げ会社に不利益をもたらす可能性がある。MicrosoftAdobeなど多くの企業では、そもそも業績評価を行わない「ノーレイティングシステム」に移行している。ただし、この方法の元で昇進、昇給をどのように決定するのかというノウハウは十分溜まっていないように見受けられる。
  • 業績評価を行うならば、公平性が重要な役割を果たす。その意味で、誰がみても歴然とした能力差があるところに線を引くことが重要となる。細かい評点は安定性を欠き公平性が失われるため、せいぜい5段階にわけるくらいがよいようだ。
  • 業績評価の結果は、上位5%と下位5%に注目する。下位5%を強制的に退職させるという策(スタックランキング)は社員の協力関係を失わせるため適切ではない。頻繁にフィードバックを行い状況を改善する方法を模索することが重要。一方の上位5%からは、彼らが成功している理由を理解することで人材育成に役立てることができる。
  • 業績評価と人材育成は明確に分ける。業績評価の目的は利益の分配方法であり、その人をどのように育成されるべきかとは切り離されるべきである。
  • 優秀な人材を長くとどめておくには、福利厚生などよりも、直属の上司との良好な関係が重要となる。ある調査では「被用者の35%が、直属の上司の解雇と引き換えなら昇給を諦めてもよいと回答している」。
  • マズロー欲求5段階説は、自己実現欲求を満たせれば賃金など低次の欲求は欠けていてもよい、という逃げ場を与えるので人事に根強い人気があるが、実証的には当てはまりが悪いことがよく知られている。より実証的な当てはまりが良いアルダーファのERG理論によれば、下位の欲求から求め始めるため、やはり十分な賃金は必要ということになる。
  • 動機づけには外発的動機付け(インセンティブ)と内発的動機付け(モチベーション)がある。賃金のような外発的動機付けは、一時的な効果は大きいが慣れが起こり長期的には効果が薄くなる。従業員にとっては内発的動機付けの方がより重要かもしれない。
  • とはいえ昇給の代わりに、従業員の内発的動機付けを強化するよう取り組むことは洗脳と何ら変わらない。従業員の内発的動機付けを妨げない、あるいは支援するならばともかく、それ以上は問題だろう。
  • 労働者の学歴や成績と仕事のパフォーマンスにはあまり関係がなく、むしろ好奇心や粘り強さといった仕事を成し遂げることに対する誠実さが重要となる。
  • 組織にとってマイナスの影響を与える人材は排除する必要がある。そのような人物を放置すること自体が、そうでない従業員に不公平感を感じさせてしまう。

従業員(個人)の視点

  • 賃金は能力に対し妥当かもしれないし、高すぎたり安すぎたりするかもしれない。自分で客観的に賃金の妥当性を評価することは難しいが、その妥当性に関わらず、各人は自分の幸福を追求する権利がある。
  • 賃金に対し能力が足りないと考えているのであれば、比較優位の考え方に従い、自分の最も得意とする能力を活かせる仕事に付くことを考えるべきかもしれない。自分のやりたい事とできる事は必ずしも一致するわけではない。
  • 超一流になるのは才能か努力か?」によれば、才能と呼ばれるものはなく、(条件付きではあるが)能力は努力に比例するそうだ。逆に言えば、もし能力が目標水準から大きく離れているならば、相応の努力が必要になることを意味する。
  • 幸福度の研究からは、ひとりあたりの年収が700万円を超えたあたりで、むしろ幸福度が下がりはじめるという結果が出ている。これは各国で見られる傾向で日本特有の現象ではない。なお、資産額についても2000万円で飽和するという結果が出ているようだ。
  • 仕事は労苦と賃金を交換するだけの存在ではない。人々は労働による社会参加を通じて満足感を得ている。健康は幸福をもたらす大きな要素であるため、高い賃金を得るために長時間労働をした結果、病気になってしまったむしろ不幸だ。逆に、失業は不幸な出来事と一般には思われているが、余暇の増加が運動時間を増やし健康が回復するためマイナスの効果だけではないことが知られている。
  • 実績や能力と昇進は必ずしも一致するわけではない。評価者である上司が求めることを行い、アピールすることが重要となる。出る杭になることは、決して悪いことではない。一方で、昇進と幸福もまた一致するわけではない。周囲の注目を常に集め、自分の時間を失い、人間不信になることもある。
ワーク・ルールズ!―君の生き方とリーダーシップを変える

ワーク・ルールズ!―君の生き方とリーダーシップを変える

 

 

「権力」を握る人の法則 (日経ビジネス人文庫)

「権力」を握る人の法則 (日経ビジネス人文庫)

 

 

組織についてのエトセトラ

先日、「HIGH OUTPUT MANAGEMENT」を読んだ。インテルの創業者であるアンドリュー・S・グローブが書いた本で、当時の経営者はみんな読んでいたらしい。他の本で任天堂の岩田元社長などが実践していると書かかれていたワン・オン・ワン*1などはもしかするとこの本が元ネタなのかもしれない。

全体としてはなかなか面白い本ではあるのだけれども、さすがに1980年代に書かれただけあって古臭いところも多い。例えば、第一章の内容はTOC(制約理論)の方がわかりやすいと思うし、計測の重要性が強調される一方でどうやれば計測できるかという説明はまったくない。昨今書かれたものであれば、この本で書かれているような話を前提として、もう一歩進んだ議論がなされていると思う。

とはいえ、変な内容が書かれているわけでもなく、根拠は薄いものの興味深い話もあり、なかなか面白く読めた。しかし、これは問題なのでは、という記述もなかったわけではない。それは、二重所属組織、いわゆるマトリックス組織の推奨だ。

マトリックス組織とは、職能別の組織と事業分野別の組織でマトリックス上に配置し、各社員はふたつの組織に常に属すような組織形態のことを言う。

このマトリックス組織、どうも1980年代には大流行をしたらしいのだが、その後、実際の運用が難しすぎ、大半の企業では廃止されたようだ(今でもやっているのはIBMくらいか)。

マトリックス組織の問題は、誰でもすぐに気付くだろうけれども、上司が二人いることで指示命令系統に競合が発生してしまうことにある。提唱する人々が言うには、二人の上司がうまくコミニケーションを取り協力することでより組織が活性化するはずだ、ということらしいのだが楽天的すぎやしないだろうか。だいたい、上司同士がうまく協力できたとしても、部下からすれば両方の顔色を伺いながら作業をしなければならないのだから非効率の極みである。

とはいえ、ではなぜ、明らかに問題があるマトリックス組織を聡明なグローブが推奨するに至ったのか。不思議に思い、該当箇所を何度か読み返してみた。

ひとつ気付くのは、グローブは必ずしもマトリックス組織を「素晴らしいから導入すべき」と述べているわけではないということだ。むしろ、他の方法では対応できないからセカンド・ベストとして導入するしかない、と書かれている。

なぜ他の方法ではダメなのか。その理由は職能別組織、事業分野別組織というふたつの組織形態は両方とも無くてはならないからだ。システム開発会社を例に考えてみよう。職能別組織の例は営業部、開発部などがそれにあたる。このような組織形態は、社内の人的リソースを職能に応じて特化して管理することで目標設定、評価、教育を効率化するために必要となる。一方で事業分野別組織の例は、プロジェクトと言い換えてもよいだろう。市場の要請、すなわち受注した案件の規模に応じて組織を柔軟に構成することが求められる。どちらの組織形態も重要であり、一方を切り捨てることはできない。

沼上幹組織戦略の考え方」でも触れられているように、職能別組織と事業分野別組織というのは不可分なものではなく、どの会社でも組み合わせた組織形態を取るのが一般的だ。職能別組織を基本としながら、その時々の状況に応じて事業分野の重要度に応じて組織を組み替えるということが行われている。

このとき、どこまで事業分野別組織の組み換えが必要なのかは、その企業が市場のニーズにどこまで迅速な対応を求められるか、によることになる。グローブはインテルでの経験から組織構造が市場ニーズに柔軟に対応できることを目指したということなのだろう。

ここでふと、最近の業績評価の流れとこの議論が関係していることに気がついた。近年、アドビやマイクロソフトなど業績評価そのものをやめ個人への頻繁なフィードバックに変える企業が増えている。Googleのように採用や昇進・昇給を従来の管理職から取り上げ、独立させている企業もある。もしかすると、このような流れは、市場のニーズに沿って事業分野別の組織形態の自由度を高くする(すなわち組織=プロジェクト)ために、職能別組織を解体しようとする動きなのかもしれない。

社内の要請と市場の要請では後者の方が重要なのは自明だろう。市場の要請に応えるための組織はどのような形態を取るべきか。なかなか面白い論点のように思える。


【2017/05/05 追記】

「How google works」で著者らは、組織は独立採算制にせず、機能別組織(この記事で言う職能別組織)にすべだと主張している。その理由として特定のプロダクトで組織化すると、自分の事業部のことだけしか考えなくなり、情報や人々の流れが阻害されることをあげている。

ただし、これは組織化することに共通するデメリットではないかと思う。営業機能を分割することで、技術者は営業のことを考えなくなるし、その逆も同じだろう。いずれにせよデメリットを理解した上で、組織構造は検討する必要があるということではある。

*1:上司と部下の一対一面談を頻繁に行う手法。

「ダメな統計学」お勉強メモ

レックス・ラインハート著「ダメな統計学」は、いわゆるトンデモ統計批判の書ではない。ここで説明されるのは、科学者が意図せず間違って使用している確率・統計の手法についてだ。科学者ならば統計についての知識水準は高いものがあるのだろうと思っていたが、実際にはそうではないようだ。ある論文によれば、公刊されたほとんどの論文に問題があるとのこと。

ダメな統計学: 悲惨なほど完全なる手引書

ダメな統計学: 悲惨なほど完全なる手引書

 

 本書は平易に書かれているので読み進めることはできるのだが、前提となる知識が不足しているため、なかなか理解が難しい。過去、確率・統計には何度か挑戦しているのだが、いまだに分かった感がない。残念ながらこの本を読んでも系統だった理解には程遠い。というわけで、今回は、本書のお勉強メモだと思っていただきたい(誤解している部分もあると思うので、思う所があれば指摘願いたい)。本書には面白い事例の紹介に多くのページが割かれているが、そちらは買って読んでもらうとして、ここでは定義や結論を中心に抜粋(場合により補足)した。

第1章 統計的有意性入門

  • p値:有意確率。仮説検定手法のひとつで、結論が誤っているならば驚くべきことである確率。経験的に、5%有意(p値<0.05)とか1%有意(p値<0.01)で判断する。結果が単一値で求まり便利なため広く使われている。
  • 偽陽性:間違った結論を正しいとしてしまうこと
  • 偽陰性:正しい結論を間違っているとしてしまうこと
  • p値の誤解1:統計的に有意である=効果が大きい、ことを意味するわけではない
  • p値の誤解2:統計的に有意ではない=効果がない、ことを意味するわけではない
  • p値の誤解3:p値=偽陽性率と解釈してはいけない。期待する偽陽性率を有意水準として定め、有意か否かの判断をするためだけにしか利用できない。
  • p値の問題1:同じ観測データを使っても、観測されていないデータの違いで異なる値が出る(問題設定がp値に影響する)
  • 有意性を見たいのであれば、信頼区間を使う方が適切。

第2章 検定力と検定力の足りない統計

  • 検定力:偶然と効果を区別する確率。経験的には、検定力が80%以上あれば良しとされる
  • 小さな効果を調べるには、多くのデータがないと十分な検定力が得られない
  • データが足りないと、分散が大きくなり効果が誇張される
  • データ群にデータ数のばらつきがある場合(例えば、都道府県ごとの人口が影響する調査)は、縮小処理(データ群に対する重み付け)が有効だが、本当に極端な現象が起こっていることを隠してしまう場合がある
  • 効果を見たいのであれば、有意性検定や検定力を見るかわりに、信頼区間を見るべき。有意でも信頼区間の広い結論は解釈が困難なことがわかるし、信頼区間にゼロが含まれていても、狭ければ効果が小さいことを示唆しているのかもしれない。
  • 信頼区間の応用例として、リコメンデーションの機能に信頼区間の下限を重みを使うことで、より適切な評価ランキングが実現できるという例が挙げられている。

第3章 疑似反復:データを賢く選べ

  • 疑似反復:独立していないデータを繰り返し取得すること
  • 交絡因子:有意な結果をもたらす隠れた原因
  • データ数は多くても、独立でないため意味がない。独立でないデータは平均化などの処理を行う必要がある(計測誤差は減るという意味では意味がある)
  • データの入手ルートが異なる場合、系統誤差が発生する可能性がある。主成分分析を行うことで入手ルートごとの偏りを補正することができる。
  • 有意=効果がある、ではない。交絡因子が原因となっている可能性など、きちんと結論を導き出せる実験の設計が必要

第4章 p値と基準率の誤り

  • 基準率:調査対象のうち有効なものが含まれる確率 
  • p値は効果がある場合の確率ではなく、あくまで効果がないとしたら驚くべき結果が出る確率。そのため、調査対象に無効な対象が含まれている場合には、偽陽性の確率が上がり有意であるからといって正しいとは言えなくなる。
  • 何度も同じ調査を繰り返す場合も同じ現象が起こる。
  • 複数回調査した場合はp値を回数で割ることで偽陽性の確率を下げることができるが、検定力が下がる(ボンフェローニ法)。より良い方法としてベンジャミーニ=ホッホベルク法がある。

第5章 有意性に関する間違った判断

  • p値は効果の大きさを表さない。そのため、ふたつの調査対象の比較をするときは、それぞれ単独で調査して算出したp値を比較しても意味がなく、両方を直接比較する必要がある
  • ふたつのグループのそれぞれの平均に統計的有意差があるかを調べる場合には t 検定を使う

第6章 データの二度づけ

  • 大量のデータから有効性の高そうなデータだけを抽出し分析すると、誇張された結果が得られる
  • 特徴的なデータだけを集めると平均への回帰によって、存在しない効果があるかのように見えてしまう
  • 効果が出た時点で調査をやめると、特徴的なデータが多く含まれた状態になりやすいため、誇張された結果が得られる

第7章 連続性の誤り

  • データを不必要に分割して分析するのは偽陽性が増すためやめるべき。回帰分析を使えば、あえて分割して分析する必要がない。
  • どうしても分割したい場合には、コンセンサスのある外部の基準に従うこと。データを上手く分離できる最適な基準を選ぶと、p値が良い分割となり誇張された結果が得られてしまう。

第8章 モデルの乱用

  • データに比べ変数の数が多い場合、過剰適合が起こる。
  • 重要な変数を選んでいく段階的回帰(ステップワイズ法)は、何度も比較する場合と同様、偽陽性が発生し、過剰適合が起こりやすくおすすめできない。変数を選ぶ基準に赤石情報量規準(AIC)やベイズ情報量規準(BIC)を使うとある程度過剰適合を抑えることはできる。
  • データを教育用と検証用にわけ交差検証を行うと過剰適合しているかの確認が可能。
  • 相関と因果は違う。
  • シンプソンのパラドックス:全体の傾向と部分の傾向では異なる場合がある
  • ランダム化試験なしに交絡因子を防ぐことはできないが、一方でランダム化試験が現実的にはできない場合も多い

第9章 研究者の自由:好ましい雰囲気?

  • 研究者はデータや手法だけでなく分析目的すらも自由に選ぶことができる。そのため、結果として研究者にとって都合の良い結果を導きやすいというバイアスがある。
  • 探索的研究と確認的研究を混同すべきではない。研究目的、手法を決めてから分析をするべき。

第10章 誰もが間違える

  • 統計手法に長けていない問題以前に、そもそもp値を正しく計算できていないケースも多い(「ネイチャー」掲載論文の38%でp値に誤字や掲載間違いがあったそうだ)
  • 再現できない研究成果も多い。医学で最も引用されている研究論文の四分の一が刊行後に再試験されておらず、三分の一が後で誤りか誇張されていることが発覚している。

第11章 データを隠すこと

  • データを公開しないことで論文の問題を隠す場合がある。
  • 効果がない、という研究は発表されにくいため、メタ分析をすると効果がある方に偏りが生じてしまう。

第12章 何ができるだろうか

  • p値を使わず信頼区間と効果量推定を使え。
  • まじめに学ぶには時間がかかるので統計学者を外注しろ。

読後の感想

  • 確率統計よくわからんなぁ、と思っていたがみんなわかっていないのだということがわかって安心した(おい)
  • 時系列分析とか正規分布でない場合の注意事項について知りたかったのだけど、載っていなかったのが残念。

 

新・工数見積りの海を彷徨う

前回までのエントリにて、IPAソフトウェア開発データ白書 2014-2015 を元に機能数から工数見積りを行う方法について検討してきた。

先日、IPAソフトウェア開発データ白書 2016-2017が公開されたため、改めて数値の算出を行おうと思う。ただ、前回と同じことをやっても面白くないので、前々から試してみたかった標準工期からの乖離度をパラメータに加えてみることにしてみた。

先に言っておくと、これが意外なほどうまくいかない。標準工期に比べて短納期になるほど機能数に比べ工数が大きくなるように思えるが、実際のデータを散布図で見てみるとまったくそんなようには見えない。

f:id:hidekatsu-izuno:20161221225506p:plain

標準工期からの乖離率で調整した工数を使いロバスト回帰をかけてみたが、結果は同様で、むしろ工期の乖離を考えないほうが残差が少なかったりする。

というわけで、最終的には標準工期からの乖離率は考えないことにした。前年のデータと比べると次の通り前回の数値より一割ほど上振れしている。

工数[開発5工程/人時]=131.33×画面数+78.55×帳票数+61.29×バッチ数

機械学習をさらに理解する

前回のエントリで機械学習とは空間に線を引く作業に他ならないと書いた。これはこれで正しいとは思うのだけれど、さらに調べていくと例外も当然ある。具体的にはベイズ統計を用いた機械学習モデルがそれにあたる。

古典的な確率論では、誤差に分布があるだけで、真の境界は線上にあると考えるが、ベイズな世界では、境界線自体に分布がある状態こそが真であると考える。だから、出力となる結果は値ではなく確率分布となる。

とはいえ、線が確率分布となるだけなので、脳内イメージ的には、ぼんやりとした線が引かれると考えればそう大きな飛躍があるわけではない。

ベイズ的な確率論を含めた機械学習では、機械学習を「識別関数」「確率的識別モデル」「確率的生成モデル」に分類して説明するのが一般的なようだ。「識別関数」と呼ばれるものが古典的な確率論をベースにした機械学習法、「確率的識別モデル」「確率的生成モデル」はベイズ的な確率論がベースとしたモデルだ。「確率的識別モデル」が条件付き確率分布を直接推定するのに対し、「確率的生成モデル」は、データの尤度と事前確率分布を推定し、そこから条件付き確率分布を導出するものを言う。

「識別関数」も対ベイズとしてはひとつにまとめられているが、「線形識別関数」、線形識別関数に非線形変換を組み合わせた「間接的非線形識別関数」、直接的に非線形識別関数を推定する「直接的非線形識別関数」の三種類に分類できるようだ。

ただ、このように分類したところで、どれがどのように良いのかと言われるとよくわからないところがある。線形よりは非線形の方がより細かい分類が可能だろうとか、ベイズ確率のほうがより現実的な感じもする、といった感覚はあるのだけれど、こういう問題にはこの方法を使うべき、という指針らしきものはあるのだろうか。

機械学習を理解する

機械学習には昔から興味がありSVMとかちょくちょく調べてはいたのだけど、体系的理解がなく、全体としてはもやもやした感想を持っていた。

先日、特にきっかけがあったわけでもないのだけれど、急に思いたち機械学習で用いられる手法を整理すれば何かわかるのではないかと、いろいろ調べてみた。

まず、機械学習がどのような目的に用いられているかを調べるのがいいのでは思い機械学習チートシートをひとつひとつ紐解いていくと、概ね次のようなものに集約されることが見えてきた。

最初は、この目的と教師あり/教師なし/強化学習を組み合わせればパターン分けできるのではないか、と思ったのだけれどもどうにもしっくりこない。クラス分類で用いられる手法は概ね回帰でも利用できたりするし、異常検出に至っては他の目的の応用例ともいえるくらい多様な手法が導入されている。

いろいろ考えてみた結果、見方を変える必要があるという気になり、最終的に落ち着いたのが次の説明となる。

  • 機械学習とは、入力データをうまく分割できるよう、空間に線を引く作業に他ならない
  • 分割した線上の値に注目するのが回帰分析(予測)
  • 分割した領域に注目するのが識別(クラス分類やクラスタリングなど)

2クラス分類であれば一本の線を引けばよいし、複数クラス分類についても、複数本の線を引くだけのことだ。線を引くということは関数のパラメータを推定する、ということに他ならないわけだから最終的には機械学習とは、

  • 入力データをうまく分割する関数のパラメータを推定する

ということを意味することになる。この説明のよいところは、教師あり/教師なし/強化学習の意味合いも教師データの違いとして説明可能なところだ。

  • 入力データと出力データの組から関数のパラメータを推定するのが教師あり学習
  • 入力データと分割終了条件から関数のパラメータを推定するのが教師なし学習
  • 入力データと出力データの評価の組から関数のパラメータを推定するのが強化学習

学習というとフィードバックがあるかのような前提を想定してしまうが、フィードバックのありなしはオンライン学習(あるいはミニバッチ学習)が可能か、という手法の問題であって本質的な話ではない。

だから何だ、という話に感じる人もいるかもしれない(し、実は全然間違っている説明なのかもしれない)けれども、私の中ではうまく整理できたような感覚を持った。人工知能と言うと何かすごいもののような気もするけれど、その内実は関数近似の延長線上の話なんだ、と考えるとちょっとはわかった気になれるというものだ。

データモデリング・テクニック

社内勉強会用に流用するつもりではあるんだけど、一度データモデリングについては考えをまとめておきたかったので、資料化してみました。

 データモデリングについては、昔読んだ本を読み返したりもしたのだけど、なんとなく共通的な基盤がありながらも、これが標準と言えるような方法論がないのが難しいところ。私個人としては、「楽々ERDレッスン」の著者の羽生章洋さんがWeb+DBプレスに書いていた記事とか当時のブログに強く影響を受けました。

自分の考えが絶対に正しいというつもりはないんだけど、わりとトラディショナルな考え方をベースにいろんな人のノウハウっぽいものを詰め込んで書いたので、新人向けの教育資料としては手頃なんじゃないかと思ったりもしています。

まぁ、データモデリングは関しては、強い意見を持っている人も多いとは思うので、ご意見あればこのブログなりTwitter なりにお寄せいただければ、と。

楽々ERDレッスン (CodeZine BOOKS)

楽々ERDレッスン (CodeZine BOOKS)

 

 [2016/10/24追記] 用語の説明が足りてなかったところや非正規化の補足を追加しました。