Appleのデザイン哲学とともいうべき本書は,”Think Different”やiMacのマーケティングに携わってきたクリエイティブディレクターのケン・シーガルによるAppleのマーケティング戦略の裏側を描いている.Appleにおけるスティーブ・ジョブズの異常なまでのデザインへのこだわりは有名であり,なぜそれが成功したのか,今までの大企業ができなかったことがなぜできたのか,その哲学を第三者の視点から捉えようとする書籍は多数出版されている.しかし本書は,実際にスティーブ・ジョブズとともにマーケティングのパートナーとしてAppleのブランドとマーケティング戦略を作り上げてきた人物によるものだ.奇しくも彼が関わっていたのは,Appleが一度スティーブ・ジョブズの手から離れた後の凋落の時期と,スティーブ・ジョブズ復帰後の華麗な復活を遂げるまでの間である.製品としてはiMacが生まれiPodが生まれ,Appleという会社のイメージが洗練された時代である.その内部で何が行われていたのかが本書にはこれでもかというくらい詰め込まれている.キーワードはもちろん「シンプル」だ.

この本は読んでいると不思議な気分になる.どこを切り取ってもおんなじことしか書いてないように思えるのだ.少なくとも全10章,Think Brutalにはじまり,Small, Minimal, Motion,Iconic,Phrasal,Casual,Human,Skeptic,Warというそれぞれの考え方に分かれているものの,出てくる逸話はどれも「Appleらしさ」以外の何者でもないという感じだ.もちろんスティーブ・ジョブズというAppleそのものを体現する人物が出ているというのもあるのだが,著者らの考え方であったり,マーケティングという理詰めでは不可能な課題に対するアプローチは,一貫して私たちが想像するAppleそのものだ.

このようにAppleのデザイン哲学を知ることができる一方で,スティーブ・ジョブズの芸術肌によって独裁的に決められていったわけではないことも次第に見えてくる.言ってみればスティーブ・ジョブズの失敗談だ.自分の感性を強く信じる一方で,人に意見を求めることが多かったり,周囲の意見も広く取り入れたようだ.例えば,初代iPodのシルエットのCMを最初は嫌がったり(それまで白が背景のシンプルなCMが多かったから),iMacを当初はMacManと付けようとしたり,今となっては信じられないような話が出てくる.スティーブ・ジョブズのマーケティングに対する考え方や彼の人となりを知ることができる興味深い1冊だった.

これだけApple流のマーケティングが成功していても,依然としてスペックを売りにした広告や人間が読むのを想定していないような商品名が出てくるのは何故なんだろうなというのが,本書を読めば分かる.みんな気付いてはいるし理想だってあるんだけれども,大企業という構造の中でいつの間にか無難なものへと変わっていくのだ.著者がAppleとともにマーケティングを担当したデルやインテルが失敗例として挙げられていて少々可哀想だが,そこから得られる教訓は大きい.



Google前CEOのエリック・シュミットと前プロダクト担当シニア・バイスプレジデントのジョナサン・ローゼンバーグが出した本書「How Google Works」は,21世紀の新しい社会の働き方を決定付ける1冊になるのは間違いない.それは現在もっとも成功している会社として,そしてもっとも今の社会に則した働き方として迎え入れられることになるだろう.インターネットや様々な技術の普及によって私たちの生活が変わったように,私たちの働き方も変える必要がある.その下地はインターネットの普及によって進み,そしてGoogle自体がそれに沿うようにともに作り上げてきたといえる.その試行錯誤の結果,失敗と成功,それらの一部始終が本書には詰まっている.

本書は,Googleにまつわる文化,戦略,人材,意思決定,コミュニケーション,イノベーションという6つの章から成り立っているが,そのどれもに共通しているのが人の大切さである.Googleはエンジニアの会社だ.それはセルゲイ・ブリンとラリー・ペイジが会社を興した時から変わらない.本書ではGoogleが雇いたいと思う有能な人材のことを「スマート・クリエイティブ」と呼ぶ.スマート・クリエイティブとは,知的労働において専門性と創造性を併せ持つ人材のことを指し,旧来のナレッジワーカーとは別のタイプだという.そのスマート・クリエイティブが最大限に成果を生み出せるような場所を作り上げるのが会社の目的だ.そのために人材を雇用し,会社のシステムを作り上げたといえる.例えば,おもちゃの散乱した遊び場のようなイメージで有名なGoogleも,実際に机に向かうオフィス部分では手を伸ばせば隣の人に届くようなスペースに社員を詰め込んで,お互いにコミュニケーションが生まれるようなデザインにしているという.これも文化の一つとしてよく知られていることだが,きちんとした理由が裏にはある.

この他にも本当にたくさんのGoogleらしさが本書には詰まっている.明日から実践できそうなことや,そもそも成功しているGoogleじゃないと到底できそうにないこと,そもそもスマート・クリエイティブなんてどこにいてどうやったら採用できるんだといったことまで様々だ.少なくともこれまで数々のGoogleにまつわる本が出版されてきたが,この本ほどGoogleの本質に迫るものは無いだろう.とにかく読んでみて,Googleという巨人の巨人たる所以に触れてみてほしい.



タイトルは釣りです(元ネタ:過学習の恐怖,またはいかにして私は1分間でランキングを50位も落としたか(要約) - 糞ネット弁慶

Africa Soil Property Prediction Challenge

8月終わりからKaggleで行われていた“Africa Soil Property Prediction Challenge”,通称AfSISが終わりました.このコンペは衛星から取得したアフリカの各地点の吸光度などの数値情報を元に,その場所のSOC,pH,Ca,P,Sandの計5種類の地質学的な測定値を推定するという問題でした.問題設定としては定番っぽくて取っ付き易いものの,実際にやってみるとこれまた難しい感じでした.

私は開催当初から参加していて,一時期9位まで上がったものの,そこから何もしなかったらどんどん抜かされたというわけです.

それに加えて開催期間が終わってテストデータ全体での評価が出た結果,おそらく過学習でスコアが下がり,開催側が設定したBART Benchmarkよりも下回るという有り様でした.Kaggle怖いです….

私は如何にして(ry

今回は時間があったので,今回は色々試した気がします.定番のSVRに始まり,Gradient Boosting Regression Treesしたり,Random Forest Regressor使ったり,あとはForumに投稿されたH2Oでのdeep learningもどきもひと通り動かしたのですが,結果的に一番良かったのがSVRだったのでその中から前処理を幾つかやったやつを最終的にサブミット.実際はAbhishekのBeating the Benchmark ;)のやり方とほとんど変わらないと思います.どこで差が付いたのか,あとAbhishekを代表とするSVR勢は過学習を回避して大勝利となったのか,気になるところです.

いや確かにpublic leaderboardは手元で算出したスコアとかなり乖離があって謎いとは常々思っていたのですが,一応scikit-learnのgrid searchでチューニングはしているので大丈夫だと…厳しい.

といっても上位陣もかなり大荒れだった模様.以下のランクはpublic→privateの順で,これを見てもらえればわかる通り上位陣は著しくランクを落としている人が多い.逆にprivateでは100位以内くらいから上がってきた人が多く,今回は本当に結果が読めなかったようでした.

public上位

Public Leaderboard - Africa Soil Property Prediction Challenge | Kaggle

  • sorpmaL:1位→515位
  • Dmitry & Abhishek:2位→7位
  • vsu:3位→484位
  • Redwoods:4位→34位
  • ahaldenby:5位→517位

private上位

Private Leaderboard - Africa Soil Property Prediction Challenge | Kaggle

  • Yasser Tabandeh 14位→1位
  • Charly B. :428位→2位
  • CodiLime.com:42位→3位
  • seewaters:61位→4位
  • UK calling Africa:88位→5位

詳しいことは後々明らかになっていくことでしょう.Forumを静観.

あと,悔しいので念のために書いておきますが最終サブミッションに選択した以外のやつではきちんとベンチマーク上回っているのありました.ただ,スコアがいいやつに限って最初の方にサブミットした何のひねりも無いSVRだったりして,心が折れそう.

Lessons Learned

社会は厳しい.



Kaggleで行われていたcriteoのDisplay Advertising Challengeが終了し,最終的にPublic LB:0.47880,Private LB:0.47831の354th/718だった.1位のチームが0.44464,Top10あたりが0.44台のスコアを叩き出しているので,結果としては惨敗だけれども,初めてにしては健闘できたほうだと思う.まあ最初の方はLogistic regressionのBenchmarkすら越せなくて厳しい状態だったが,そこから抜けだしてある程度成果が出始めると,あとは計算してはサブミットしてを繰り返しスコアに一喜一憂するという感じで競技性があって非常に楽しめた.次はもっと上の方に行きたいと思いつつ,現在参加しているAfrica Soil Property Prediction Challengeは一時期10位圏内まで行ったもののそこから怒涛のランク落ちで現在300位くらいまで下がってしまったので,世間は厳しい.Kaggle Masterへの道はまだまだ遠い.

予測方法

さて,こんな中途半端な順位のヤツの解法なんて見てもどうしょうもないとは思うけれども,個人的な記録のためにも書いておく.

使用したのはVowpal Wabbit(VW).主に参考にしたのはMLWaveのPredicting CTR with online machine learningで,とりあえず動くコードの例があって,あとはVWのパラメータチューニングで頑張ったという流れ.実はこれ以前にscikit-learn + pandasも試していたのだけれども,あまりにデータ量が多すぎてpandasのget_dummiesでダミー変数作るのが不可能だったりと早々に諦めていた.その点VWは高速で動いてメモリ消費量も少ないので,初心者にとっては使いやすいソフトウェアだった.あとMLWave/kaggle-criteoでデータ形式の変換コードがあったのが助かった.

さて,最終的なサブミットに使用したのは以下のパラメータ.

  • 損失関数(–loss_function):logistic
  • Feature Hashingのbit数(-b):30
  • L2正則化(–l2): 1e-08
  • データのイテレーション回数(–passes):10

少し前の記事の私的Vowpal Wabbitまとめ - Wolfeyes Bioinformatics betaにも書いたけど,loss_functionはlogisticにしておくと学習が終わったときにだいたいのスコアがわかって便利.あと-bを増やすとfeature hashingでcollisionしなくなるけれども,そのかわり必要なメモリ容量が増える.L2正則化はL1とともに1e-01から1e-12くらいまで試したんだけど,スコアが劇的に変わるわけではなかった.–passesは必須だけど,ある程度のイテレーション回数でスコアに変動がなければ途中で切られるみたいなので,パラメータを変更後に必要回数を確認してからは変えていない.

1
2
$ vw click.train.vw -f click.model.b30.pass10.l2_1e-08.vw --loss_function logistic -c -k -b 30 --passes 10 --l2 0.00000001
$ vw click.test.vw -t -i click.model.b30.pass10.l2_1e-08.vw -p click.preds.b30.pass10.l2_1e-08.vw

感想戦

Kaggleのフォーラムで上位ランクの人が自分の解析方法を公開してくれているので,その中からVWに関するトピックを幾つか拾ってみる.

まずは,15thのLuca MassaronがVWを使った解析例を示してくれている(link).VWのコマンドは非常に参考になるし,自分もNNのHidden Unitsを10とか20でやったんだけどなーと思いつつ,何よりもまずデータの前処理の必要性を感じた.

あとは19thのKonrad BanachewiczはVWのより詳細な結果を示してくれていて(link),こっちではNNが効かないみたいな話があったり,quadratic feature頑張ってたり.

あとはLibFMとかNNとかAutoencoderとか色々な方法で予測している人がいて,非常に参考になる.

今後のCriteo Display Advertising Challengeの動向

Kaggleでのコンペは終わってしまったが,上に書いたようなフォーラムでの議論は続くし,それにコンペ用のデータセットが学術向けに公開された.これでもしかしたら上位ランクのグループの成果が論文として出てくるかもしれない.

あと,Criteoの資料によると”Winners will release code publicly(Popular OSI-approved license)”らしいので,ぜひともコードを公開してほしいところ.

といった感じで,まだまだCriteo Display Advertising Challengeは終わらない.

追記:



「われわれ自身が自らの行動を通して人生に意味を与え,物語を紡いでいく」

暴露:スノーデンが私に託したファイル P.76

“it is we who infuse life with meaning through our actions and the stories we create with them.”

‘No Place to Hide,’ by Glenn Greenwald - NYTimes.com

これは本書の中で語られるエドワード・スノーデンの言葉だ.彼がなぜNSAやCIA,そしてアメリカという国家が作り上げた監視システムに異を唱えて機密書類を暴露したか,その理由を本書著者であるグレン・グリーンワルドに聞かれたときの答えの一つである.

これはエドワード・スノーデンの内部告発をめぐる一連の事件を一番近くで見ていたジャーナリストの著作である.彼がローラ・ポイトラスとともに,スノーデンの内部告発の報道をガーディアン紙に掲載した.そのスクープまでの長い道のりと,スノーデンがもたらした機密文章の内容,内部告発後の世界の反応,そしてジャーナリズムという本質を,本書「暴露」は露わにする.

本書はまるで別の本を繋ぎあわせたと思うくらいに内容が章によって異なる.まず第1章は,著者とスノーデンの出会いから接触と情報提供までの一連の流れを時系列で記述した,なかば小説的な内容.次に2章と3章ではスノーデンが持ちだした機密文章をもとにNSAやアメリカ国家が行ってきた監視システムの解明.そして第4章では監視システムの是非について,最後に5章ではジャーナリズムの意義について,告発後に著者のグレン・グリーンウォルドが経験した賞賛とバッシングなどの反応を元に書かれている.ジャーナリズムに身を奉じる一人の記者として一貫した信念を持つ著者には,どこか自身の自由や立場を犠牲にしてでも告発に踏み切ったスノーデン氏と同じものを感じる.

情報科学に身を置く者としても,そして多少なりとも他の人よりかはインターネットやプライバシーや暗号に関して知識はあるだろうという少しの傲慢さをもってしても,今回のスノーデンをめぐる事実については今でも信じ切れない部分がある.それはテロ対策という名目の元に監視システムを作り上げてしまったアメリカ自体よりも,それを実際に運用して何億通ものメールや電話を収集しメタデータを含めた個人情報を掌握するという異常なスケールの情報処理を行っている技術すべてに対してだ.それこそ昨今のビックデータなんて霞むほどの想像のつかないほどのデータ量になるだろう.実際は集めるだけ集めて解析なんてまともにできていないだろうという,なかば希望的な推測もあるけれども,それを差し置いても監視システムの持つポテンシャルにはただ圧倒されるしかない.それに,その体制を支える技術自体も想像がつかない.ネットワークの盗聴や暗号解読.しまいにはIBM,Yahoo,Google,Facebookなどの企業からの情報提供など,世の中の前提が崩れかねない内容だ.いっそ007などのスパイ映画さながらの奇抜な方法でやってくれていたほうが幾分マシだったと思える.それくらい今回発覚した事実には驚かざるをえない.

世界は変わる.身体,宗教,政治思想,職業,人種,そうしたすべての立ち位置において,昨日までマジョリティだった人間が突然マイノリティになる瞬間が訪れる可能性がある.社会の自由は弱者に対する寛容さをもってして計られる.自分が安全だからという短期的な考えではなく,もっと長期的で大域的な,どんな状態になっても自分の望む自由な世界にするべく,考えて行動していかなければならない.