スーツ姿のプロダクトマネージャー

ITで新しいプロダクトを生み出したいすべての人を応援するブログです。

〈はじめに〉簡単な自己紹介とこのブログについて

私は、メーカー系の古くて大きなIT企業で働いています。職種は何か?といわれると説明が非常に難しい。技術コンサルタントといってみたり、プリセールスと言ってみたりしますが、どれもしっくりきません。それに、人事上の職種はそのどちらでもなくて、SEという話になっています。でも、一般的なSIerのSEとは全く違う仕事をしています。いつも説明に困りますね。

今私は、AIビジネスに携わっていて、機械学習を使った実証プロジェクトをマネジメントしたり、新しい製品の企画をしたりしています。常に目指しているのは、新しい製品を世に送り出すこと。華やかなWeb企業のサービスとは違い、BtoBやBtoGの地味なビジネスに身をおいていますが、市場を創る仕事は楽しいものです。

気がつくと一つの会社で10年以上も働いてきました。SE部門、マーケティング部門、研究所…いろいろな場所で働いてきましたが、ソフトウェアのプロダクトから離れたことはありません。これまでいくつものプロダクトの企画や開発に携わってきました。

あるとき、自分の仕事を一言で言うと何だろうと考えることが多かったのですが、本屋で「プロダクトマネージャー」という言葉を見つけて、まさにこれだ!と思いました。しかし、当時(2007年頃)は日本国内にはあまりそういった仕事はありませんでした。それから10年ほどたち、今あらためて世の中を見てみると、プロダクトマネージャーの仕事は増えていますね。これはとてもよいことだと思います。

このブログでは、これまでの仕事を通して学んだことや、日々仕入れた知識を整理するために、いろいろな記事を書いていきます。

エアバス vs ボーイングで考える新製品開発における長期市場予測の難しさ

f:id:ku2t:20180320223922j:plain

 

皆さん飛行機にはよく乗りますか?

私は仕事でよく使うのですが、実は高いところが苦手なので新幹線で行けるところはなるべく新幹線で行くようにしています。とはいえ、東京から九州や四国に行くとなると、どうしても飛行機になります。なるべく揺れが少なくなるように、ボーイング777と787などの中型~大型の便を選ぶようにしています。空港の雰囲気とか安定飛行中は好きなのですが、怖がりなので…。

国内の旅客機はほとんどボーイングですが、JALボーイング777の後継機種としてエアバスA350を大量発注したとして話題になっています。

一方、グローバルで見ると、旅客機市場は概ねエアバス vs ボーイングという構図になっています。日本がボーイングに偏っているのはいろいろな要因があるのですが、今後は変わっていくかもしれません。

さて、この旅客機を「製品」としてみたとき、自分がプロダクトマネージャーだったらどうするかな…と考えた時期がありました。今回のエントリーでは、製品戦略の視点で旅客機市場におけるエアバス vs ボーイングを検討します。

 

2000年代中盤におけるエアバスボーイングの市場観の違い

私が両社に注目し始めたのは2000年代の中盤のころで、エアバスが大型旅客機A380の開発を進めていたときです。このころ、ボーイングA380対抗となる747Xの構想を打ち出しましたが需要が見込めないとして断念し、新型中型旅客機787の開発を進める方に舵を切りました。

つまり、2000年代中盤において、両社の製品戦略上の意思決定の差は市場観の違いにより生まれたと言えます。その違いは以下の通りです。

今後、航空旅客の需要が伸びることに対し、エアバスは「機体を大型にして1機あたりの乗客数を増やす」(ハブ・アンド・スポーク)との予測をし、この結果がエアバスA380の開発へとつながった。

一方、ボーイングは、空港が整備され、航空機の発着数も増えるため、「大型ではなくても、旅客機がたくさんあれば需要に応じられる」(ポイント・トゥー・ポイント)としており、この結果としてソニック・クルーザーの開発を構想するも頓挫し、後にボーイング767の後継としてボーイング787の開発へとつながった。

引用元:ボーイングとエアバス - Wikipedia

空旅客の需要が伸びることは、両社とも同じ読みでした。しかし、伸び方が違うと見たわけですエアバスは主要な空港同士を大型旅客機で結んでそこから小さな旅客機で繋ぐハブ・アンド・スポーク、ボーイングは各空港同士が結ばれて直行便が増えるというポイント・トゥー・ポイントになると読みました。

現在に目を移すと、羽田空港や地方の空港から海外への直行便が増えてきていて、結果的にはポイント・トゥー・ポイントな世界になってきています。こうして、エアバスA380の需要は当初想定よりも伸びず、現在はニッチ向けの製品となっています。その顛末については、以下の記事で整理されています。

しかし、20世紀後半の旅客機需要の急増に答えたのはボーイング747に代表される大型旅客機です。特に、日本国内においては空港滑走路の整備が追い付いていない状況が続いたので、国家間の旅行に大型旅客機を使い、国内の旅行にはローカル線を使うというハブ・アンド・スポークが適していました。

私は、2005,6年あたりに両社の戦略の違いを知り、自分だったらどうするかなと考えた時期がありました。旅客機市場についてはド素人であるし、ビジネスの経験も浅かったので正直いってよくわからないと悩んだものです。しかし、当時私はプロダクトマネージャーとして小規模ながらITソフトウェアの製品ビジネスを担当していたので、この話は他人事に思えませんでした。

それ以来、ずっと気になっていたのですが、かなり難しい「読み」だったのではないかと想像しています。

 

A380は持続的イノベーションだったのか

ところで、今回のニュースを期に改めて調べてみたところ、A380の明暗を分けたのは単に市場観が違っただけではないと思うようになりました。非連続的に市場構造が変わる要因がいくつか存在していました。端的には、空港整備、規制緩和、技術改良、原油価格の高騰という要因を起点として、「燃費」という軸が破壊的なイノベーションに繋がったのではないかと考えています。そういった意味で、単一旅客機の乗客人数を増やすというエアバスA380の戦略は、持続的なイノベーションだったと言えます。

今から振り返れば当たり前に思えるようなことですが、旅客機というのは開発からローンチまで数年を要するビジネスであり、投資額も膨大になります。こうした中での意思決定というのは、われわれの想像を絶するのではないかと思います。

さて、これを紐解くには、ボーイングに対して後発のエアバスがどう戦ってボーイングに肩を並べるようになったのか、その経緯から考える必要があります。この議論の多くは、以下の本を参考にさせていただきました。

 

エアバスA320の攻勢で市場シェアを拡大

1980年代、ヨーロッパの航空機会社はボーイングやダグラスなどの米国の航空会社の後塵を拝していました。イギリスが開発した世界初のジェット旅客機コメットの空中分解事故や、フランスが開発した超音速旅客機コンコルドの商業的な失敗により、ヨーロッパの旅客機ビジネスは停滞します。そこで、米国企業との正面対決と避け、ヨーロッパの企業連合エアバス・インダストリー(後のエアバス)が、米国企業が開発していなかった双発ワイドボディ機A300を開発。これが世界に普及し、旅客機ビジネスの土俵に乗ることができました。

そして、エアバスは世界制覇のキープロダクトとなるA320を開発します。エアバスA320は席数が100-200の小型機で、国内線から長距離国際線までカバーできるため、旅客機市場ではボリュームセグメントとなります。当時、同一セグメントではボーイングの737が売れていました。737はいまでも売れ続けている超ベストセラーです。主戦場と言うべき市場セグメントでエアバスは戦うことを決意したのです。まさに勝負所でした。

これを成功させるためにエアバスが導入したのが、フライ・バイ・ワイヤという技術です。それまで油圧による制御を行っていた旅客機の操作を電子的に制御するもので、かなり画期的でした。コックピットの様子は以下の記事などで見ることができます。

目の前に大きな操縦桿がないことが特徴で、ゲーム機で使うような操作用のスティックを使って操作します。これによるメリットは、操縦席の目の前にスペースが出きてものが置けるということや、機材のメンテナンス性の向上などがあげられます。これに加えて機材自体のスペース効率がよかったこともあり、A320はベストセラーとなりました。

空白のセグメントを狙ってA300を開発し、ビジネス的な体力とチャネルを開拓してから満を持してボリュームゾーンに攻め込むという戦略。実に痺れるストーリーです。

 

フライ・バイ・ワイヤが引き寄せたエアバスの躍進

A320の成功で勢いをつけたエアバスは、フライ・バイ・ワイヤを搭載したA320派生機に加えて大型機となるA330, A340を開発します。これにより、小型機でも大型機でも同様の操作感で操作できるようになり、ある種のゲームチェンジャーとなりました

というのも、旅客機のパイロットが旅客機を操縦するためには、機種ごとのライセンスを取る必要があるからです。ボーイングの旅客機は機種ごとに操作方法や操作感覚が異なっていたので、一人のパイロットが複数のライセンスを取ることが大きな負担になっていました。また、操作感覚が違うため、大型機を操縦した後にすぐに小型機を操縦するといったオペレーションはできませんでした。

そのため、大きな航空会社では機種ごとに部署が分かれていたほどだと言います。したがって、小さな航空会社では機種を絞り込む必要があったのですが、エアバスのフライ・バイ・ワイヤの登場によって、ビジネスに柔軟性が生まれたのです。こうしたことが成功につながり、エアバスが大きく躍進することになったのでした。

このようにヨーロッパの複合企業体であるエアバスが台頭してくるにつれて、米国内でも企業の統廃合が続き、旅客機ビジネスについてはボーイングに集約されていきました。

これは、エアバス対抗というシナリオだったのですが、この統廃合が結果的にエアバスの勢いを強めてしまうことになったといういうのです。ボーイングに吸収された旧マクドネル・ダグラス社の機種を使用していた航空会社の多くが、フラットにエアバスボーイングを検討することになり、多くの会社がエアバスを選んだということで、ボーイングの目論見が外れることになりました。

こうしたこともあり、1999年に年間受注数でエアバスボーイングを上回ります。これ以降、両社間で熾烈な競争が続くことになったのでした。

 

破壊的イノベーションが生まれたとき

A320の成功を皮切りにビジネスを拡大したエアバスは、ラインナップの拡充を目指してボーイング747の市場に対抗する製品開発を開始します。それが本ブログの冒頭の写真にある超大型機種A380でした。A380は総二階建ての史上最大・世界最大の旅客機です。発表されたときには非常に注目されたのを覚えています。

ボーイングもこれに対抗すべく、747を拡大した747Xの開発を検討するのですが、収益性が確保できないとして開発を見送ることになります。A380のような超大型旅客機はどの航空会社でも購入できるものではなかったので、市場セグメントとしては限られたものとなります。そこで、ボーイングは747Xの開発を進めても市場のパイを奪い合うだけで赤字になってしまうと判断したのでした。実際に、747を改良したに過ぎない747Xは魅力に乏しく、市場の反応は冷ややかなものでした。

そこで、ボーイングは真っ向勝負ではなく、市場のニーズ、今後のトレンドなどをすべて勘案し、中型機787の開発に踏み切ります。787はエンジンが2発の双発機で資材に東レ製の炭素繊維を使用するなど、燃費の向上と長距離運航性能を両立させた航空機です。

長距離運航性能を備えた燃費のよい双発機。結果的にこれが大当たりすることになります。その勝因は以下の通りです。

  1. 原油高の高騰もあり燃費向上が求められた(市場ニーズ)
  2. 長距離運行が可能な性能を備えていた(製品性能)
  3. 空港が整備され直行便が増加した(ポイント・トゥ・ポイント)
  4. エンジンの信頼性が向上し双発機での長距離運行が認められた(規制緩和)

ここで、市場ニーズにあった製品を開発しただけでなく、空港整備や規制緩和といった外部環境の変化も絡んでいたことが分かります。

また規制緩和については、ボーイングが777を展開したときに実現していて、787の開発中に種が蒔かれていたことになります。

このようにして、燃費・経済性というのが旅客機ビジネスにおける破壊的な要素となり、燃費の悪い大型機やエンジンの数が多い機材が徐々に姿を消すことになったのです。市場のプレイヤーすべてに影響する破壊的イノベーションであったと言えるでしょう。

もし、旅客機の大型化という持続的イノベーションが通用する市場環境であれば、結果は違ったかもしれません。

いずれにしても、2000年代初頭に今の市場環境を正確に予測するのは難しいことだと思いました。

 

旅客機市場全体で見るとA380の話は一時的な構図

ところで、エアバスA380ボーイング787はそもそもターゲット市場が違います。したがって、製品ポートフォリオ戦略として、どこに投資するかという事業戦略上の意思決定の違いによって生まれた「一時的な」構図でしかありません。

冒頭に取り上げたニュースにもあるように、エアバスボーイング777と787をひっくるめて対抗できるようにな新機種A350を開発し、攻勢に転じています。以下のデータを見ても、両社が拮抗している様子がわかります。

今回調べてみて、旅客機の開発というのは複雑で長期的なトレンドに左右される難しいビジネスだと改めて感じました。

また、最近ではLCC(格安航空会社)の台頭や、小型旅客機リージョナルジェット(RJ)市場のプレイヤーの変化などがあり、市場構造が変わっていくかもしれません。

自分がプロダクトマネージャーとしてやるとなると胃が痛くなるようなビジネスですが、製品戦略として考えると実に面白いビジネスですね。

 

以上、旅客機市場を題材にした製品戦略のケーススタディでした。

 

 

大切な本を透明なフィルムでラッピングする

図書館に置いてある本をよく見ると、透明のフィルムでラッピングされていることがあります。自分の本にこのフィルムを貼ることがですます。こんな感じになります。


f:id:ku2t:20180319075607j:image

 

古本として売りにくくなるという欠点がありますが、本が長持ちするようになります。専用のフィルムを使うと黄ばみやひび割れも出ません。

早速、このフィルムの貼り方をご紹介します。

 

用意するもの

f:id:ku2t:20180319080928j:plain

ラッピングしたい本の他に次のものを用意します。

  • 透明フィルム(今回は「ピッチン」を使いました)
  • プラスチック製の長い定規
  • カッターまたはハサミ
  • ペンか鉛筆

可能であれば、以下のものもあると便利です。

  • カッティングマット
  • 金属製の長い定規
  • マスキングテープ

ピッチン以外はすべて100円ショップで購入できます。

 

フィルムを貼る前の下準備

フィルムを貼る前に2つやることがあります。

まず、フィルムを本の大きさに合わせてカットします。本の大きさから大体2cm余分に取ります。ただし、サイズが小さい本や薄い本は1.5cm程度でも構いません。

あまり余分に取りすぎると、かえって貼りにくくなるのでご注意ください。

このとき、本の位置をペンか鉛筆で印をつけておきます。
f:id:ku2t:20180319082308j:image

 

フィルムをカットするときは、なるべくカッターを使ってまっすぐにカットします。カッティングマットと金属製の定規があると便利です。
f:id:ku2t:20180319082942j:image

 

カバーをつけたままラッピングする場合には、 作業中にカバーが動かないように仮止めします。マスキングテープかメンディングテープがいいと思います。
f:id:ku2t:20180319082612j:image

 

フィルムを貼る

いよいよフィルムを貼っていきます。失敗するとリカバリが難しいので慎重にやりましょう。

本の端にフィルムを少しだけ貼る

はじめに、本の端にカットしたフィルムを少し貼ります。コツとしては、貼る前にフィルムについている紙を必要な分だけ剥がして折っておくことです。

まず下の写真のように本を置きます。
f:id:ku2t:20180319083302j:image


貼り始めのところの紙を剥がして折り返します。
f:id:ku2t:20180319105541j:image

位置がずれないように貼ります。
f:id:ku2t:20180319083332j:image

 

このとき、余分に長さを取ったフィルムが垂れてきます。本の厚さに対して余分が長すぎると本やテーブルに貼りついて厄介なことになるので注意しましょう。
f:id:ku2t:20180319204046j:image

 

長い定規を使ってフィルムを貼っていく

空気が入らないように定規で押しながら貼ります。このとき、ゴシゴシこするのではなく一気にズーッという感じで押していくのがコツです。また、少々空気が入っても剥がしてやり直すのは難しいです。
f:id:ku2t:20180319204315j:image


f:id:ku2t:20180319204332j:image

 

背表紙の半分くらいまで貼ったら、本をフィルムごと裏返します。このとき、フィルムがテーブルにつかないようにします。
f:id:ku2t:20180319204457j:image

 

裏返したら、再び先ほどと同じ要領でフィルムを貼っていきます。剥がしてきた白い紙がたまってきますが、これを巻き込まないように注意しましょう。私は何度か巻き込んだことがあり、フィルムを途中でカットする羽目になりました。

f:id:ku2t:20180319231250j:plain

 

余分なフィルムを内側に折り込む

フィルムが貼れたら、内側に折り込んでいきます。まず、背表紙に近いところでフィルムを斜めにカットします。
f:id:ku2t:20180319205114j:image

 

次に角の部分を三角に折ります。今回は三角に折りましたが、カットしてもいいです。
f:id:ku2t:20180319205817j:image

 

 これで折り込めるようになったので、折っていきます。まず本の上下から折って、次に側面の方を折ります。
f:id:ku2t:20180319210001j:image

 

最後に背表紙付近に残っているフィルムをカッターかハサミで取り除きます。
f:id:ku2t:20180319210117j:image

 

これで完全です!
f:id:ku2t:20180319210219j:image

 

まずは外側のカバーを外したハードカバーの本でやってみましょう

今回は上手くいきましたが、慣れないころは空気が入ってしまったことがあります。空気が入るとこんな感じになります。
f:id:ku2t:20180319210609j:image

 

このころは短い定規で無理やりやっていたので、よく失敗しました。長い定規を使い出してからは大丈夫になりました。

 

本の形状として、ピッチンを貼るのが楽な順に並べると、こんな感じです。

  • ハードカバーの本で、外側カバーなし
  • ペーパーバックの本で、外側カバーなし
  • ペーパーバックの本で、外側カバーあり
  • ハードカバーの本で、外側カバーあり

外側のカバーがあると難易度が上がります。まず、カバーなしのハードカバーの本でやってみるのがいいと思います。

  

 

 

データサイエンティスト中級者になるために読むべき本

f:id:ku2t:20180317205220j:plain

 

以前、はじめて機械学習を学ぶ方に向けて、質の良い3つの入門書をご紹介しました。

機械学習やデータ分析の入門書は、選ぶのに困るほど数が多くなっています。自分に合いそうなものか定評のある書籍を1冊選んでじっくり読み込こむことで、基礎的な考え方やアイデアを学ぶことができます。

しかし、そこから進んで中級者を目指そうとすると、入門書の各章で書かれている内容がそれぞれ専門分野に分かれていたり、入門書では触れられていない分野にも手を出す必要が出てきたりします。

そこで、このエントリーでは、機械学習のタスクや例題を手を動かしながら経験した方を想定し、より専門的で有益な本をご紹介します。

 

 

データサイエンティスト必読の書「統計的学習の基礎」

世界的に著名な機械学習に関する参考書です。

原著The Elements of Statistical Learning(ESL)であれば、著者のウェブサイト経由でPDFをダウンロードすることができます。ありがたいことですね。

日本語版が出たとき、あまりにも高額なので買うのを躊躇したのですが、自分にとってどうしても必要な本だ!と思って、思い切って購入しました。辞書のように厚く重い本でしたが、電車、自宅、職場を問わず、ずっと読んでいました。
家族や同僚からは鈍器のようだと言われましたが…。

基礎から実務に使えるノウハウを網羅している

本書の特徴は、機械学習アルゴリズムに対して丁寧な解説があるだけではなく、評価の方法、アルゴリズムの特性やチューニング方法、発展的なトピックスへの誘導に至るまで、網羅されていることです。

例えば、実例を通してランダムフォレストやブースティングの比較を行っていたり、ハイパーパラメータを変更することでどのような変化があるかなどを比較していたりします。

また、機械学習モデルを作るときに、うっかり「カンニング」してしまったときにどういった弊害が起きるのかということを、様々な実例を通して解説しています。学習に使ったデータを用いて評価するような単純なミスだけでなく、研究者でもやってしまいがちなミスも取り上げられています。実験と理論の両面から、クロスバリデーションの意味を丁寧に解説している個所もあり、圧巻です。

更に、他の本ではあまり取り上げられない一般化加法モデルの解説があるのも魅力的です。

本書を通して「統計モデリング」と「機械学習」の境界線を探る

また、私が一番感銘を受けたのは、本書を読むことで「統計モデリング」と「機械学習」の境界線がなんとなく掴めたことです。

本書を読み始める前は、実務ではどちらかというと統計モデリングを使ったタスクをこなしていました。当時は、世間的にも「ビッグデータ解析」がはやり始めた時期だったので、購入する参考書も統計学やRの本が中心でした。

その一方で、徐々に異常検知や分類モデルを実用的に使うためのタスクが増えてきました。そこで、SVMやアンサンブル学習等の機械学習系の参考書を読み始めたのですが、統計モデリングの参考書とは似てるようで似てないところがあり、混乱してしまいました。統計モデリングは説明中心、機械学習は予測中心という解説を読んでも、道具としては似ているので、腑に落ちない状況でした。

本書では、第3章「回帰のための線形手法」にて、単純な線形モデルから議論を開始し、最小2乗法、変数選択と進み、縮小推定というトピックスの中でリッジ回帰やlassoに至ります。

この流れが実に自然であり、統計モデリング機械学習的な考え方を滑らかに繋いでくれます。両方に精通している方には当たり前なのかもしれませんが、どちらか一方を中心に仕事をしてきた人には、有益な視点ではないでしょうか。

この後に、第7章「モデルの選択と評価」、第16章「アンサンブル学習」を読むことで、現代の機械学習におけるキーテクノロジーである「正則化」を深く理解することができます。

社内でも、統計モデリングを長年やってきたデータサイエンティストと、機械学習から入ったデータサイエンティストの間で、意見が対立することがしばしばあります。実務としては、場面によって使い分ければいいのですが、この見えない壁はなかなか強力です。本書は、この壁を取り払ってくれることになると思います。

 

予測モデルにフォーカスした「Applied Predictive Modeling」

Rの機械学習ライブラリcaretを作成した著者による、予測モデルを作る方法を解説した本です。Rのコードが出てくる本ですが、内容は一般的な観点で整理された本ですので、Pythonユーザなど使用言語を問わず有益な情報となるでしょう。

教師あり学習による回帰・分類モデルの作り方にフォーカス

本書では、教師あり学習によるモデル作りの方法にフォーカスしていて、そのための前処理の方法から、予測アルゴリズム、評価方法を深く広く解説していきます。このため、教師なし学習の手法も、教師あり学習モデルの精度向上策の一環として紹介されます。私にとっては、これが非常にわかりやすいところでした。

データサイエンスの本では、教師あり学習、教師なし学習のアルゴリズムを網羅的に解説したような本も多いと思います。しかし、初学者にとっては、それらをどういった場面で応用するのか?と問われたときに、ハタと困ってしまうのではないでしょうか。

例えば、教師なし学習手法のひとつに、主成分分析があります。主成分分析は、多次元のデータセットに対して、各データ列の情報が数学的には直交するような別の空間にマッピングする手法です。応用としては、次元を圧縮するために使用したり、データの特性を見るために使用します。

しかし、特に統計学の色が強い本では、主成分分析をデータの特性を見る手法に限定して紹介する傾向にあります。一方、予測モデル構築の前処理として主成分分析を使うことで、精度向上に寄与する可能性があることが知られていて、実務で使われています。また、前処理として主成分分析を使うのなら、変数のスケーリングをやっておくことは必須であり、合わせて用いられます。

こうした話は、経験豊富なデータサイエンティストは知っている話ですが、初心者はあまり知りません。そこで、うっかり統計学系の本から読み始めてしまうと、このようなノウハウにたどり着くのに時間を要してしまうことなります。

本書では、教師あり学習による回帰・分類モデルの構築にフォーカスすることで、データサイエンティストのノウハウを丁寧に解説しています。

アルゴリズムの特性を比較できる

今のところ、すべてのデータや問題設定に万能な機械学習アルゴリズムは存在していません。そのため、実験的にどのアルゴリズムがよいか確かめるしかありません。

ところで、実験的に確かめるといっても、データの量や性質との相性により、そのデータに合わない手法があります。例えば、変数の数がデータ数よりも極端に多い場合には、最小2乗法を用いた線形回帰モデルをあてはめるべきではありません。また、変数のスケールがあっていない状態でそのままつっ込めるのは、主にランダムフォレストなどのTree系のアルゴリズムに限られます。逆に、ランダムフォレストを使う場合に、スケーリングを施しても、結果はほぼ変わりません。

こうした特性というのは、各アルゴリズムの解説を注意深く読んで実務経験を積むか、経験者から教えてもらうことで習得するものです。本書は、これについてまとまった情報元となりうるものです。特に、付録に「A Summary of Various Models」という一覧が掲載されていて、文字通り1枚でアルゴリズムの特性が俯瞰できるようになっています。これが大変便利で、自分が使ったことがないアルゴリズムについても、ある程度想像できるようになっています。

全体的に硬派な印象ですが、知見が詰まった本です。

 

異常検知のやり方を網羅的に学べる本「Outlier Analysis」

異常検知というのは、データから状態の異常を捉えるタスクです。例えば、エンジンなどの工業製品に様々なセンサーを取り付けて振動や温度を定点計測し、正常(壊れていない状態)と異常な状態を判別できるようなモデルを構築します。

この時、正常時と異常時のデータがまんべんなく入手できるのであればあまり悩まないのですが、多くの異常検知タスクでは正常時のデータしか手に入らないことが多いため、モデル構築が難しくなってきます。多くの場合、外れ値検知のような正常時のデータから正常時のモデルを構築し、それからどれだけ逸脱するかを測ることでそれを実現します。

外れ値検知に特化した稀な本

外れ値(Outlier)とは、与えられたデータ母集団において他のデータ群から極端に逸脱したデータ値のことを言います。統計モデルや教師あり学習モデルを作るときには、こうした外れ値が邪魔をすることがあるので、学習データから取り除くことがあります。そのために、さまざまな外れ値検知手法が提案されてきました。

一方、異常検知タスクでは、外れ値検知そのものが問題解決のアプローチそのものになります。したがって、正常データの「分布」をいかにモデル化するか、ということが勝負になってきます。分布推定という話になるのですが、高次元になればなるほど目で確認できないので、難易度が高くなります。

こうした外れ値検知については、正規分布を使った統計学的なアプローチから、 Local Outlier Factor のような情報工学的なアプローチまで幅広く存在しています。本書では、こうした手法を網羅的に解説していて、非常にためになります。

異常検知の本が国内でも増えてきた

外れ値検知に関する情報源としては、本書の他に以下のような論文があります。

また、SNSデータに対する異常検知については、「バースト検知」と呼ばれていて、独自の発展を遂げています。例えば、以下のような論文が参考になります。

上にあげたように、異常検知や外れ値検知については日本語で読める情報源があまりない状態が続いていました。ところが、ここ数年で井出先生の本が相次いで出版されていて、盛り上がってきています。

異常検知というのは厄介なタスクなのですが、知っていると知らないのでは、実務上大きな違いが出てきます。たとえ教師あり学習をやる場合であっても、外れ値検知や分布推定の考え方を知っておくと、助けられる場面が出てくることもあります。

 

時系列データの深淵を知るための「計量時系列分析」「時系列解析入門」

 

時系列データは、ある観測値を一定間隔で繰り返し計測して得られたデータ群のことを言います。例えば、ある地域の時間雨量のデータ、特定銘柄の株価データ、SNS上の特定のキーワードを含む投稿数をカウントしたデータなど、世の中にありふれたデータです。

時系列データのモデリングで最も注意すべきこと

時系列データはありふれたデータですが、取り扱いが非常に厄介なデータでもあります。特に重要な点として、「見せかけの回帰」という現象が発生しうることです。

見せかけの回帰とは、大雑把に言うと、ある条件下において、時系列データの目的変数と説明変数の間で本当は全く相関がない(独立である)にも関わらず、計算上有意な相関関係にあると見えてしまう現象のことです。これは、説明のためのモデルであっても、予測モデルであっても致命的な事象で、時系列データを扱う場合には注意が必要です。

また、この他にもトレンドや周期性を考慮したモデルをいかに作っていくか、という点で、時系列データならではの手法や考え方があります。こうした内容というのは、一般的な機械学習の教科書ではあまり触れられないため、上にあげた2冊のような本を頼る必要があります。

応用統計学分野で発展してきた時系列データ分析

時系列データは、様々な分野で登場するのですが、応用統計学として様々な分野で発展してきました。特に、経済や金融データの解析のために応用されていて、モデルの呼び方が独特な場合もあるので、こうした本を読んでおいた方がよいでしょう。

また、時空間を取り扱える状態空間モデルや、最近話題になっているFacebookの時系列解析ライブラリProphetを理解するための土台として、時系列データ分析の基礎を学んでおくことは有益だと考えています。

時系列データ分析のよりベーシックな教科書としては、以下の本もおすすめです。

 

自然言語処理の基礎を押さえるための「言語処理のための機械学習入門」

私たち人間が普段の日常生活で使っている言葉の体系を、情報工学では自然言語といいます。そして、自然言語をコンピューター上で処理させるための一連の技術要素を、自然言語処理といいます。データサイエンスでは、取り扱うデータに文字列や文書が存在する場合には、必ず必要な処理になります。また、近年の人工知能ブームの中で、質問応答やチャットボットなどが脚光を浴びていますが、これらを処理するために中核となる技術となります。

基礎的な自然言語処理の話題を俯瞰する

自然言語処理は、言語によって処理方法が異なります。特に日本語を扱う場合には、単語を取り出すだけでも手間がかかります。また、日本語は語順に縛られない言語なので、文に含まれる単語間の関係性が曖昧になることがあります。また、単語の表記揺れや動詞の活用形を考慮して、ある程度正規化する必要があります。

このように、テキストデータを使って機械学習を行うためには、ある程度自然言語処理の考え方を知ったうえで、データを構造化する必要があります。とはいえ、自然言語処理の参考書から入ってしまうと、自然言語処理自体を研究開発する人向けの内容になってしまいます。

本書は、まさにテキストデータを入力として、機械学習を活用したい人にフィットする本です。コンピューター上でテキストデータをどのように構造化するのかということから、機械学習を使った文書分類まで、広く解説しています。

テキストデータを初めて扱ったときに、先輩から勧められたのが本書でした。実験方法についても丁寧な説明があるので、大変助かりました。

最近では、ディープラーニングを使って、テキストデータを文字のまま(バイナリで)入力する事例も出てきています。こうなると自然言語処理の細かな処理が不要になるのですが、いつもうまくいくわけではありません。いずれにしても、テキストデータの初期分析やデータビューイングを行うためには自然言語処理は欠かせません。MeCabを使ってデータをハンドリングできるようになったら、本書を読むべきです。

自然言語処理の発展的な手法

自然言語処理は、形態素解析のような基礎的な技術から、情報検索技術の発展形である質問応答まで広範囲に活用されています。また、教師なし型学習モデルも独自に発展を遂げていて、Word2Vecに代表される分散表現技術や潜在トピックモデルのような有用なモデリング手法が提案されています。

特に、分散表現技術を活用したWord Embeddings は、ディープラーニングでテキストデータを扱うためのキーテクノロジーになっているだけでなく、カテゴリカル変数の新たなエンコーディング法としても注目されています。

このように、本書を起点として自然言語処理関連の参考書を順次読んでいくことで、知見を広げることができるでしょう。例えば、以下のような参考書が有益です。

ただし、全部を一気に読むというのは無駄が多いでしょうから、気になる技術や今とりかかっているタスクにひっかけて読むというのがよいと思います。

 

スモールデータモデリングに最適な「ベイズ統計モデリング

 

機械学習を中心にされている方であっても、統計モデリングの考え方を知っておくことは有用だと思います。その中でも、今日の統計モデリング手法の発展的な話題である、ベイズ統計を用いたモデリング手法は重要なテーマだと考えています。

ベイズと統計モデリング

統計解析分野において、ベイズ推定は少し前まで一般的にはあまり注目されていませんでした。

その大きな理由として、事前分布を仮定した主観的な確率を使う手法であるため、伝統的な統計学の識者から敬遠されてきたことがあげられます。また、複雑なモデルを構築した場合に、解析的な方法で推定できなくなるため、活用の幅が広がらないという状況もあったようです。

近年のコンピューター開発の発展により計算コストが下がったことと、マルコフ連鎖モンテカルロ法(MCMC)という手法の応用が進んだことで、ベイズ推定を活用した統計モデリングの利用が進んできました。さらに、BUGSStanといった使い勝手の良いライブラリが登場したことにより、多くの分野で利用が進んでいます。

ベイズ統計モデリングは、生態学、心理学、社会学などで観察データの解析に利用されています。また、医学においても、アカデミックな分野では研究が進んでいます。いずれも、観察されるデータは限られた被験者のデータであるため、ビッグデータとは言えないデータ量となります。いわば、スモールデータの解析となるわけですが、このような分野ではまさにベイズ統計モデリングが威力を発揮します。

データ分析のコンテストでも利用されたことがあるようです。私も、実務で場面に応じて利用してきました。

ここでご紹介した2冊は、各言語でどうやって動かすのかという話もありますが、それぞれモデリングに対するアプローチが豊富なので、利用言語を問わず参考になる部分があるはずです。この2冊の他にも、以下の本が参考になるでしょう。

 

機械学習モデルの構築が中心でも知っておくべき概念

システムやWebサービスの開発チームの方で、機械学習モデルの構築を中心に行っている方も多いと思います。機械学習の手法というのは、多くの場合、アルゴリズムベイズの考え方を内包していたとしても、応用上はデータの量が十分にあることを想定する頻度主義的なアプローチをとることになります。

そうすると、必然的に扱うデータ量が常にビッグデータであることが前提となってしまい、スモールデータを扱うときに困ってしまうことになるでしょう。そうしたとき、ベイズ統計モデリングの考え方を知っていたら、何かしらの解法を思いつくかもしれません。全面的に活用できなくても、前処理の一部として使える場面もあるはずです。

なお、上で紹介した時系列モデルの中で複雑なモデルや、自然言語処理の潜在トピックモデルは、ベイズ推定を用いてパラメータを求めます。

また、機械学習のハイパーパラメータの推定というのは、ハイパーパラメータを分布と見立てて、汎化誤差が最小になる点を見つける作業です。これは、ベイズ推定の問題として考えることもできます。実際に、ハイパーパラメータの探索を単純なグリッドサーチではなく、こうした考えで探索する方法も提案されています。

このように、ベイズ主義の考え方、ベイズ推定の方法、階層モデルに代表されるモデリング手法、各分野での活用例について学ぶことで、アプローチの幅を広げることができるはずです。

 

たまには仕事に関係のない本を読んでみる 本の波をうろうろする方法

f:id:ku2t:20180315100610j:plain

私が購入する本の大半は「仕事」にかかわる本です。

機械学習の技術書や経営戦略やマネジメントなどのビジネス本など、やっている仕事とやりたい仕事を中心にして、たくさんの本を読んでいます。一言でいうと知りたがりなので、仕事でわからないことや疑問点があると、ついつい本屋に行ってしまうのです。

でも、あまり同じジャンルの本ばかり買っていると、自分の考えが凝り固まってくるように感じます。そんな時には、仕事に直接関係がない分野にも手を伸ばして、考え方を広げるようにしています。本が好きという軸は変わらないのですが…。

 

  • どうやって本の波の中をぶらぶらするか
  • たまたま出会った仕事に関係のない有意義だった本
    • アトピーの原因が知りたくて買った「免疫の意味論」
    • 歴史に興味のない私が読めた「歴史は『べき乗則』で動く」 
    • ふと「般若心経って何だろう」と思ったので読んでみた
    • 無意識について知りたくなって読んだ「サブリミナル・マインド」
    • 絵も描けないのに「デザイン」に憧れて買ったデザインの本
    • 科学者の頭の中を探る「科学者という仕事」
    • 日常生活で触れることのない世界に触れる
  • 肩の力を抜いて本を読む

 

続きを読む

Ian Goodfellow他著「深層学習」日本語版を買いました!

ずっと心待ちにしていたディープラーニングの本が出ました。早速購入して読んでいます。まだ半分も読めてないですが、素晴らしい内容です!

 

英語が得意な方はすでに英語版で読んでいると思います。英語版は著者のWebページで読むことができます。

私もこれを見ていたのですが、製本された「本」が欲しくなり、原著をAmazonで買おうと思っていました。そこでAmazonのレビュー見てみると、近々翻訳されるのでは?というレビューがあったので待つことにしたのです。やっと出ました。すごく嬉しいです。

 

本書はディープラーニングの本ですが、コードが出てこないアカデミック寄りの本です。欧米の教科書のように、大きくて分厚い。しかし、それだけ丁寧に書かれているということで、はじめから読めば初学者でも分かるような工夫がされています。

内容は、ディープラーニングの基礎的な考え方から応用まで網羅されていて、読みごたえがあります。お手軽な入門書とは言えないかもしれません。

しかし、機械学習の基本的な考え方や数学的な定義が簡素に書かれているので、じっくり読み込むことで理解が深まるのではないかと思います。

ディープラーニングの解説は6章からスタートします。この解説が歴史やボルツマンマシンでなく、深層順伝播型ネットワークから始まるのですが、これがとても分かりやすい。

本題となる重要なコンセプトを簡素に示し、徐々に中身に迫っていきます。これは海外の学術書でよく見られる形です。これにより本が厚くなるとうデメリットがある一方で、コンセプトの本質が染み込むように分かるという大きなメリットがあります。

実務としてデータサイエンスを活用している方こそ、はっとさせられるヒントが得られるのではないでしょうか。

最近はマネジメント的な仕事の割合が多くなってきて、手を動かすことが減ってきたのですが、そんなときこそこういった骨のある本を読むべきだと痛感しました。

 

翻訳書としては圧倒的にリーズナブルなのも魅力的で、本の重さも軽いので助かります。
出版までのスピード感もすごいですね。関係者の皆様には感謝したいです。

 

深層学習

深層学習

  • 作者: Ian Goodfellow,Yoshua Bengio,Aaron Courville,岩澤有祐,鈴木雅大,中山浩太郎,松尾豊,味曽野雅史,黒滝紘生,保住純,野中尚輝,河野慎,冨山翔司,角田貴大
  • 出版社/メーカー: KADOKAWA
  • 発売日: 2018/03/07
  • メディア: 単行本
  • この商品を含むブログを見る
 

 

 

Google ColaboratoryでDeep Learningを動かす

先ほど、Google Colaboratoryを使ってみたという記事を書きました。

次に、これを使ってDeep Learningを動かしてみようということで、私のチームでも人気なKerasを動かしてみます。KerasはDeep Learningのライブラリの一つで、TensorFlowやTheanoなどの更に上で動作する高水準なインターフェースを提供します。

簡素な記述でネットワークを作れることが特徴で、TensorFlowで数行書かないとできないことが、Kerasでは1行で書けてしまいます。初めにニューラルネットワークDeep Learningを学ぶには最適なライブラリだと思います。

昨年末に出版されたKerasの本を購入したので、さっそく試してみました。

Deep Learning with Python

続きを読む

手軽にPython&機械学習を試せるGoogle Colaboratory

Google Colaboratoryは、Googleが研究や学習用途に公開しているPythonの学習環境です。機械学習の開発環境として広く使われているJupyter notebookをベースに作られていて、機械学習を試すには最適な環境です。

デスクトップ版のChromeで動作するとのことだったので、さっそく使ってみました。
使用したマシンは、Windows 8.1 の適当なノートブックです。

以下の記事を参考にさせていただきました。

 

実際にやってみて、かなり手軽に使うことができました。機械学習を学ぶにはちょうどよい環境だと思います。

 

続きを読む