2018年6月15日金曜日

マップ共有、そして顔、のARKit関連セッション


Gaze and Tongue とにかくGazeTrackingがすごい。iPhoneXのカメラを用いて視線追跡をすることが出来る。 もちろんAnimoji/Memojiで目をそらす・合わせるというコミュニケーションが出来るようになります。目が合うってのは相手の実在感に大きな役割を果たすと考えられるのでとても楽しみです。 また、従来から視線追跡が役立つと言われていたアプリケーション、たとえばwebデザインの評価をするための調査アプリなども今後現れてくると考えられるのでわくわくします。なお現地ではGazeと同じくらい舌のトラッキングもアピールされてたんですが、正直そういう派手なコミュニケーションをしない私には舌の使用機会の想像は難しいかもという感想でした。。。

Saving World Model これは来るだろうと予想されていた機能の一つ。ARKitを用いて作成された環境マップをシリアライズしてsave/loadできる。一度アプリを閉じて再起動しても閉じる前に置いておいた仮想物体が使えるとか、さらにはネットワーク越しに送信できるので、複数人で座標系を同期したAR体験ができるようになりました。会場では会期中常設でAppleの複数人ARゲームのデモアプリ"SwiftShot"が遊べるようになっていて、私も2回プレイしました。

Environment Texturing これはAR空間に置いた仮想物体の実在性を高める機能としてとても印象に残りました。金属製のボウルのような光沢の有る仮想物体を置いたときに、現実側のテクスチャをちゃんと反映させる機能です。そのボウルの置かれた点から見た世界のテクスチャマップを自動でつくる機能という感じです。詳細は不明ですが、滑らかに複数視点のテクスチャマップをつないで補完するのはコンピュータビジョン技術を用いているとのことです。

Portrait Segmentation 機械学習屋さんの私としては、データセット作成にもアプリの性能向上にも使えると思った機能。iPhoneXの深度カメラを利用して、前景である人間領域だけ抜き取った画像を返してくれるAPI。たとえばこれを利用すれば背景の影響を除いた人間のデータセットが作れるし、あるいは個人認証のようなアプリケーションでも背景を除いてから実行できるのでロバストになる、と、応用先がかなりある技術と感じました。アプリケーションとしては、背景を差し替えるとか、顔を半透明にしてホログラム風とか、ってのをデモしてました。

誰でも、そして高速に、機械学習

CreateML Something native, Something swifty. Swiftで書かれた機械学習フレームワーク。機械学習フレームワークとしてはかなり高級なフレームワークのようで、よく知られたモデルを自前のデータで学習したい、というような用途に向いているように感じました。Nvidia Digitsとかを思い出しました。たとえば私の所属するDwango Media Villageで論文を書くための実験に使うには少し高級すぎるんじゃないかな、とは思います。面白いのは、ディープラーニング一辺倒ではなくRandomForestなどもきっちりカバーしてること。CoreMLはすでにtensorflowやONNX(chainerやmxnetなどから変換可能)やscikit-learnなどのモデルを利用することが出来るけれど、やっぱりswiftで書かれててswiftで使えるってとこを推してるんじゃないかなって思います。ちなみにturiという今はapple傘下のフレームワークもあって、これはpython用のものとなってます。turiも割と高級な機能がメインで、appleはそういうユーザー向けに機械学習機能を開発していくのかなと感じました。

Weight Quantization しれっとCoreMLにモデル圧縮機能が入った、これはとても印象深かかったです。モバイル向け機械学習業界ではたしかに激しく研究されている分野なので。float32で表現されてるResnet50のモデルをuint4に量子化してたった14MBでもある程度の精度を保つことが出来る、というデモをしていました。学習フレームワークからfloatでモデル吐き出して、coreml toolで圧縮して、iPhoneで使う、という流れが作られています。なお、精度が変わらない、というのをプレゼン映えさせるのにStyle Transferの例を出して、floatのモデルと見た目が変わらないことをデモしていて、とてもわかり易いなーーーって思いました(2bitまで圧縮すると流石に崩れる)。

2018年6月14日木曜日

不正侵入やデータ流出にかかる実際の時間とは?

 The Black Reportが主に重点を置いたのは「データ侵害の各ステージを実行するのに、どの程度の時間がかかるか」だった。71%の回答者が、10時間以内で標的のシステムに侵入できると答えた。ただしシステムへの侵入は、データ侵害の最初のステップでしかない。

 回答者の79%は、システム侵入後10時間未満で重要データを発見できると答え、73%が5時間以内にデータを抽出できると答えた。全業界平均では、回答者の54%がデータ侵害全体のプロセスに、少なくとも15時間をかけている。ただしクラッキングのしやすさは業種によって差があり、データ侵害プロセス全体が5時間以内に完了するとの回答が多かったのは「病院/医療関係業」「小売業」「飲食業」などの業種だった。

 前述の「15時間」は、回答者の大半が標的について調査し、侵入し、目的の情報を見つけて持ち出すのにかかる時間だ。「侵害を発見するのに『平均で78カ月』という、多くの業界が受け入れている数字を考えると、事態はより一層深刻になる」とポーグ氏は語る。「データが漏えいしてから、その事実に気付くまでがあまりにも遅過ぎる」

 Verizonのセキュリティ報告書「2018 Data Breach Investigations Report」(DBIR)は、イベントチェーンにおける最初の行為から、初回の資産侵害に至るまでの時間は「大体が数秒か数分だ」という見解を示す。これは「ファクトベースのフォレンジックデータを得た上で侵害を調べるインシデントレスポンスチームと、ハッカーの見方の違いを表している」とポーグ氏は語る。前者がDBIR、後者がThe Black Reportの視点だ。

 ハッカーが標的の有効なユーザー名とパスワードを既に取得している場合、ログインには「ほんの少しの時間しかかからない」とポーグ氏は語る。またWebサーバにSQLインジェクションの脆弱(ぜいじゃく)性があると分かっていれば、この攻撃を実行する時間はわずかで済む。

 Verizonの報告書では「情報収集や、敵に対するその他の備えにかかる時間が除外されている」とポーグ氏は主張する。ハッカーがパスワードを取得したり、WebサーバにSQLインジェクションの脆弱性があることを知ったりするために必要な、偵察にかける時間がデータサンプルから抜けているという。

 ポーグ氏は、Verizonの報告書では「攻撃の失敗やアクセス試行なども考慮に入れていない」と指摘する。その他、以下の作業にかかる時間も含まれていないという。

  • 初回の侵害後に実行する権限の昇格
  • ネットワークのスキャン
  • 有益なデータが保存されている場所の特定
  • データの収集
  • ハッカーが制御するシステムへのデータ持ち出し

 

2018年6月12日火曜日

AIから教育、クルマ、民泊まで──中国の知っておくべき「ユニコーン企業」10社:『WIRED』UK版選

企業価値が10億ドルを超える非上場のスタートアップであるユニコーン企業が、中国のテック業界では次々に誕生している。エドテックからeコマース、自動車まで──。アジアのみならず、欧米市場をも席巻しようとしているチャイナ・スタートアップ10社を『WIRED』UK版が選んだ。

チーフー(知乎)

古い中国語で「知ってる?」を意味するチーフー(知乎)は、中国のQ&Aサイトだ。登録ユーザーの6,500万人(うちデイリーアクティヴユーザーは1,850万人)が、ここで質問したり、回答したり、質問を編集したりしている。2010年の試験運用開始から2016年までの間に、このサイトには600万件の質問と2,300万件の回答が投稿された。

チーフーは、専門知識やさまざまなトピックにまつわるインサイトを求める中国語圏の人々に人気だ。17年の頭には、Capital Today(今日資本)やテンセント、ソーゴウ(捜狗)、SAIFパートナーズ、Qiming Venture Partners(啓明創投)、シノヴェイション・ヴェンチャーズ(創新工場)[日本語版記事]といったヴェンチャーキャピタルから投資を受け、評価額は約10億ドルとなった。

VIPKID

VIPKID(北京大米科技)の創業者であるシンディ・ミー。PHOTO: STEVE JENNINGS/TECHCRUNCH/GETTY IMAGES

VIPKID(北京大米科技)

VIPKIDを創業したシンディー・ミー(米雯娟)は、中国の生徒たちのために教室を"再発明"したいと考えていた。「わたしたちの知っている教室は、もう200年も変わっていないのです」と彼女は言う。

彼女が創業した北京を拠点とする教育スタートアップは、中国の5歳から12歳までの生徒のための英語教育を提供している。授業はマンツーマンのヴィデオセッションで行われ、生徒たちには北米からの英語教師がつく。授業のレヴェルは米国の一流校と同程度だ。

ミーがVIPKIDを創業したのは2013年。いまでは20万人の生徒と3万人の教師を擁するグローバルなヴァーチャル学校だ。17年8月にはセコイア・キャピタル・チャイナやテンセントから2億ドルを調達し、評価額は15億ドルとなった。

ミーは今後、VIPKIDはさらに成長を続けるだろうと予想している。「19年には生徒数が100万人になると予想しています。先生の数も月4,000~5,000人のペースで増加中です。10年以内には、生徒数は1,000万人になるでしょう」

Melissa

トゥージャー(途家)のCTOであるメリッサ・ヤン。PHOTO: JEROME FAVRE/BLOOMBERG/GETTY IMAGES

トゥージャー(途家)

Airbnbに対して中国が出した答えが、民泊サイトを運営するトゥージャー(途家)だ。最高技術責任者(CTO)のメリッサ・ヤン(楊孟彤)と最高経営責任者(CEO)のルオ・ジュン(羅軍)によって2011年に創業されたトゥージャーは、可処分所得の増加と政府からのサポートによって伸び続ける中国の旅行産業を上手に活用している。

サイトには、中国の345地域にある30万以上の部屋が掲載されている。どれも中国人旅行客の好みや条件に合った部屋だ。民家には、ホテルにあるようなアメニティも揃っている。すべての部屋は定期的な清掃サーヴィスがあることが要求され、豪華なヴィラには執事までいる。利用客は、自転車などのアイテムの貸し出しを選択することもできる。

トゥージャーは中国最大の民泊スタートアップであり、その評価額は15億ドルを上回るという。最新の投資ラウンドでは、中国の旅行会社のCtrip.comやAll-Stars Investment(全明星投資)、China Renaissance(華興資本)のNew Economy Fund、G Street Capital(高街資本)などから3億ドルの資金を調達している。

Camblicon

カンブリコンのCEOである陳天石(チェン・ティエンシ)。PHOTO: VCG/GETTY IMAGES

カンブリコン(寒武紀科技)

カンブリコンは脳にインスピレーションを受けたチップを開発している。チップは人間の脳の神経細胞やシナプスを模しており、ディープラーニングに対応しているという。北京を拠点とするこのスタートアップが創業されたのは2016年。その評価額は17年8月に10億ドルを超え、研究開発のために中国科学院から約1.4億ドルの資金援助も受けている。

順調にいけば、このチップは人間の神経細胞を模すことでディープラーニングを行う最初のプロセッサーとなるだろう。何千ものGPUベースのアクセラレーターを必要とする既存のニューラルネットワークと、このチップの大きな違いは、その効率的な設計と省エネ効果だ。

カンブリコンが同社初のチップ「1A」をリリースしたのは16年。スマートフォンや安全監視カメラ、無人航空機、ウェアラブルや自律走行車向けとして設計されていた。チェン・ユンジ(陳雲霁)とチェン・ティエンシ(陳天石)兄弟によって創業された同社には6人の投資家らがついており、そのなかには中国eコマース大手アリババ傘下のAlibaba Entrepreneurs Fundも含まれている。

NetEase

ネットイーズの創業者であるウィリアム・ディン(丁磊)。PHOTO: VCG/GETTY IMAGES

NetEase Cloud Music(網易雲音楽)

NetEase Cloud Musicは、ユーザーが好きな曲や動画のプレイリストを作成できる音楽ストリーミングサーヴィスとして2013年にローンチされた。その後ソーシャルメディア的な要素が追加され、ユーザーたちは音楽やアーティストのことをもっと知ったり、友だちとやりとりしたりするようになった。

北京を拠点とする大手ネット企業ネットイーズ(網易)は、CEOであるウィリアム・ディン(丁磊)によって創業され、ユニコーン企業へと成長した。同社の評価額は約11.6億ドル。中国国際金融公司(CCIC)や中国メディア大手の湖南電広伝媒、上海メディアグループなどからの投資も受けている。17年4月時点でNetEaseのユーザーは4億人を超え、制作されたプレイリストは60万以上にのぼっていた。

Meituan-Dianping

メイタンディエンピン(美団点評)CEOのワン・シン(王興)。PHOTO: WANG DONGMING/CHINA NEWS SERVICE/VCG/GETTY IMAGES

メイタンディエンピン(美団点評)

メイタンディエンピン(美団点評)は、(少なくとも欧米では)あまり知られていないスタートアップだ。YelpとグルーポンとUber Eatsのマッシュアップと説明するのがいいだろう。同社は2015年の合併によって誕生し、いまでは評価額300億ドルと世界で4番目に価値のあるテックファームとなった。

このプラットフォームは、料理の配達やレヴュー、食料雑貨や服、映画のチケットの販売などを行っている。最近の投資ラウンドでは、テンセントやセコイアキャピタルなどから40億ドルを調達した。

NIO

PHOTO: GILLES SABRI/BLOOMBERG/GETTY IMAGES

NIO(蔚来汽車)

北京を拠点とするNIO(旧NextEV)は、スマートな電気自動車や自律走行車を開発している。消費者向けのクルマの生産のほか、同社は世界初の電動レーシングカー向けレースである「FIA フォーミュラE選手権」にも出場している。

同社の「NIO EP9」は、2人乗りの電動スーパーカーだ。2016年にロンドンのサーチ・ギャラリーでお披露目され、17年4月には10台を一般顧客向けに価格148万ドル(約1億6,000万円)で販売することを発表した。

同社が20年に発表予定のコンセプトカーには、運転手と同乗者に最適化されるAIアシスタントが搭載される予定だ。ウィリアム・リー(李想)によって14年に創業された同社の評価額は、約50億ドルに上るといわれている。同社には主に中国の投資家など24社が投資している。

XiaMi2

シャオミのCEOである雷軍(レイ・ジュン)。PHOTO: VCG/GETTY IMAGES

シャオミ(小米科技)

シャオミが最初のスマートフォンを発売したのは2011年。現在では、同社は世界で5番目に大きなスマートフォンメーカーだ。

ノートパソコンからモバイル用アプリ、スマートホームデヴァイスまで設計・販売する総合家電メーカーであるシャオミは、14年の1年間で6,000万台のスマートフォンを生産した。そして同じ年、世界でいちばん評価額の高いスタートアップとなった。同社はUberに追い越されるまで首位の座についていた。現在の評価額は約46億ドルで、Uberと滴滴出行に次いで3位だ。

Sensetime

センスタイムが開発したトラッキングシステムのデモンストレーション。18年4月に東京で開催された「AI EXPO」にて。PHOTO: KIYOSHI OTA/BLOOMBERG/GETTY IMAGES

センスタイム(商湯科技)

センスタイムは、モバイル金融サーヴィスやセキュリティ会社向けにテキストや顔、車両の認識技術を提供しているAIスタートアップ。最近では、その顧客リストにホンダが加わった。ホンダはAIに注力しており、2017年には自動運転のAI技術向上のためにセンスタイムとの提携を発表したのだ。

同社の技術は中国当局にも採用されており、空港やフェス会場といった公共の場でカメラを使って容疑者を追跡するのに使われている。クアルコムやStar VC、IDG CapitalやInfore Capitalなど19の投資家などが4.1億ドルの投資しており、センスタイムの評価額は2017年7月時点で約15億ドルとなった。

モグジェ(蘑菇街)

ソーシャルネットワークとオンラインショッピングを組み合わせることによって、モグジェはニッチなeコマースマーケットを開拓することに成功した。チェン・チー(陳琪)が2011年に創業した同社のアプリでは、若い女性向けの服や靴、バッグ、アクセサリー、メイク道具や美容商品などが販売されている。ユーザーたちは好きな商品の写真をコラージュすることなどによってアプリ上で交流することができる。

杭州を拠点とする同社のターゲットはもともと欧米の若者で、アプリは当初は米国やヨーロッパでローンチされた。その後ユーザー数は1.3億人まで伸びた(うちアクティヴデイリーユーザー数は800万人)。最新の投資ラウンドでの同社の評価額は17億ドルだった。

人工知能(AI)インフラ製品

SAS Institute

 「SAS Data Management」は、複数のプラットフォームにわたってデータの統合、クリーニング、統合、改善を行い、一貫した正確な情報を生成する。包括的な自然言語処理システムや、不正確な推論に対処するためのファジー論理アプローチ、データパターンを理解するためのニューラルネットワークといった固有のAI機能も備えている。

 さらに、SAS Data Managementのメタデータ管理やリネージ機能は、組織全体にわたってデータ要素の進化をインテリジェントに追跡する。このプロセスによって信頼性が確保されたデータが、自動化され、再利用と共有が可能な環境でAI機能に適用される。

 SASのもう一つの製品である「SAS Event Stream Processing」は、ユーザーが瞬時に行動を起こせるように、連続して高速に生成されるビッグデータをリアルタイムに、かつ継続的に分析する。データの正規化、パターンの特定、異常のチェック、予測モデルの活用、機械学習の適用を高速に行い、行動を喚起したり、別のビジネスプロセスを開始させたりできる。

 SAS Event Stream Processingは、複数のAIデータソースから任意の速度で取り込まれる任意の量のデータを、全て1つのインタフェースで管理できる。こうした機能により、例えば、メーカーやスーパーマーケットが、製造装置や冷凍装置の故障を未然に察知するといったことが可能になる。

 SASの両製品の価格は、キャパシティーに基づいて設定されている。

 

 

NVIDIA

 「NVIDIA DGX Systems」は、同社の「Volta GPU」プラットフォームを基盤としており、「NVIDIA DGX-1」「NVIDIA DGX-2」「NVIDIA DGX Station」がラインアップされている。「NVIDIA GPU Cloud」もNVIDIA DGX Systemsに含まれている。NVIDIA GPU Cloudでは、NVIDIAが最適化したディープラーニングソフトウェア、サードパーティーが管理するハイパフォーマンスコンピューティング(HPC)アプリケーション、NVIDIAHPCビジュアライゼーションツール、パートナーのアプリケーションなど、さまざまなGPU対応コンテナが利用できる。NVIDIAは、DGX Systemsについて「データサイエンティストに最も強力なAI探索ツールを提供するように設計されている」と述べている。

 DGX-1DGX-2は、AIと機械学習向けに構築されたスーパーコンピュータだ。DGX-2の方が強力であり、NVIDIAによると、DGX-110倍のパフォーマンスを提供するという。重さは350ポンド(約159キロ)、価格は399000ドルで、2つのボードに合計16基の「NVIDIA Tesla GPU」、合計512GBHBM2(第2世代高帯域幅メモリ)を搭載する。

 他のスペックは、1.5TBの標準RAM2基の「Intel Xeon Platinum プロセッサー」、30TBNVMe SSD内蔵ストレージなど。ネットワーキングに関しては、DGX-2は合計12のスイッチチップ「NVSwitch」を搭載し、1秒当たり2.4TBのバイセクションバンド幅とデュアル1025GbEをサポートする。

 より小型のDGX-1はラックサーバに似た形状で、重さは134ポンド(約61キロ)。価格は149000ドルで、8基の「NVIDIA Tesla V100 GPU」、256GBGPUメモリ、512GBの標準RAM2基の「Intel Xeonプロセッサー E5-2698 v4」(20コア)、4基の1.92TB SSDを搭載する。

 DGX Stationは、DGX-1DGX-2のデスクトップ版であり、NVIDIAは「最先端AI開発用の唯一の個人向けスーパーコンピュータ」と銘打っている。4基のTesla V100 GPU64GBHBM2を搭載し、重さは88ポンド(約40キロ)。価格は49900ドルとなっている。

 

VS CodeでJupyter Notebookを使うために必要なもの

 Jupyter Notebookはもともとは「実行可能なコードとそれに関連するテキストをひとまとめにしたドキュメント」をWebブラウザ上で作成したり共有したりすることを可能とするWebアプリだ。ドキュメントはセルと呼ばれる部分に分割され、そこにMarkdown形式でメモやコメントを記述したり、プログラムコードを記述したりしていくことで、ドキュメントとコードを1つの「ノートブック」にまとめて記述できるものだ。セルに記述したコードは実際に実行が可能であり、コードの編集と実行、そのドキュメントの編集をWebブラウザ上で効率よく行える(ことや、それを他者と簡単に共有でき、知見を広めるコストが大きく低下する)のが大きな特徴だ。機械学習やデータサイエンスの分野でよく使われているが、本稿ではそこまでは扱わずに、VS CodeJupyterするための基礎について見ていこう。

 VS CodePython拡張機能とJupyter拡張機能を利用すると、Jupyter Notebook(のサーバ機能)がVS Codeに統合される。これにより、Pythonモジュール(.pyファイル)の内容をセルに分割して、1つのセルだけを実行し、その結果を見ながら、コードに微修正を加えて再実行してみるといったことが手軽に行える(コードとドキュメントが一体化した「ノートブック」というよりは、コード記述と実行を簡便に行えるようになるというのが、Jupyter拡張機能がもたらす大きなメリットと筆者は感じている)。

 VS CodeJupyterするには以下が必要になる。

  • Python処理系
  • Jupyter(と、コードの実行に必要となるその他のパッケージ)
  • Python拡張機能
  • Jupyter拡張機能

 Jupyterの公式サイトでは、「Anacondaディストリビューションを利用してPythonとJupyterをインストールすることを強く推奨」している。そこで今回は、筆者の環境に既にインストール済みのAnacondaのバージョン5.1.0をベースに作成したPython環境を例としよう(最新バージョンは5.2)。また、Python拡張機能は既にインストール済みであるものとする。ここでは、手抜きをして、Anaconda Navigatorから「jupyterenv_anaconda」という環境を作成している。

 

その後、VS Codeでコマンドパレットから[Python: インタープリターを選択]コマンドを実行して、作成した環境をPython環境として指定してやる。

 

 Anaconda以外のPython処理系(をベースとした仮想環境など)にJupyterをインストールするのであれば、Jupyterの公式サイトにもあるようにpipコマンドでJupyterおよび必要となるパッケージをインストールする。

 

Jupyter拡張機能はサイドバーの[拡張機能]ビューで「jupyter」を検索して、最初に出てくるDon Jayamanne氏が作成したものをインストールすればオーケーだ。

 

 Jupyterを利用する環境のセットアップとJupyter拡張機能のインストール、必要となるその他のパッケージやモジュールのインストールが終われば、VS CodeJupyterを利用する準備は完了だ(例えば、以下の例ではnumpyパッケージおよびmatplotlibパッケージが必要になる)。

 

サンプルコードを実行してみよう

 準備が整ったら、Jupyter拡張機能の説明ページにあるサンプルコードを実行してみよう。ここではjupytertestディレクトリを作り、その下にtest.pyファイルを作成して、そこにこのコードを記述している。

#%%
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

x = np.linspace(0, 20, 100)
plt.plot(x, np.sin(x))
plt.show()

サンプルコード


 先頭行の「#%%」は、Jupyter Notebookにおける「セル」の区切りを示すもので、これで区切られた領域が1つの実行単位となる。そのため、この行の上には[Run cell]というリンクが表示されている。

 
Run cell]リンクをクリックすると、そのセルの内容が実行される


 また、以下のように「#%%」で区切ってprint関数呼び出しを記述すると、これは2つのセルを含んだコードとなる。

 
2つのセルで構成されるコード

 

正規方程式の導出と計算例

AA が正則なとき,Axb を最小にする x はただ一つであり,それは正規方程式:AAx=Ab を解くことで得られる。
前半は正規方程式を用いた最小二乗法の計算の具体例。後半は正規方程式の導出。

最小二乗法と正規方程式

  • x,b は縦ベクトル,A は行列です。 x はベクトル x の長さを表します。
  • A と b が与えられたとき,Axb を最小にするような x を求める問題は非常に重要です。→最小二乗法の行列表現(単回帰,多変数,多項式)
  • 連立方程式 Ax=b が解を持つときは嬉しいけども,解を持たない時にも諦めるのではなく,Ax が b に近くなるような x を探したいというモチベーションです。
  • 正規方程式は,Ax=b の両辺に左から A をかけただけなので覚えやすいです。

正規方程式を用いた計算例

例題

(2,3),(4,7),(9,11) というデータの組に対して最小二乗法を適用してもっともらしい直線を引け。

解答

求める直線の傾きを p,切片を q とおくと,以下のように行列表現できる:
目標:Axb を最小にする x=(pq) を求める。
ただし,A=(214191)b=(3711)
よって,答えは正規方程式を解くことにより,
x=(AA)1Ab=(14132113)
求める直線の方程式は y=1413x+2113

正規方程式の導出

考え方は非常に単純です。凸な二次関数なので微分して=0 とするだけです。ただし,計算は慣れていないとやや大変です(行列の基本的な演算や微分公式を用いる)。
(正規方程式の導出)
まず,目的関数の二乗 Axb2 を整理する:
Axb2=(Axb)(Axb)=(xAb)(Axb)=xAAx2xAb+bb
ただし,最後の変形で補足1を用いた。
これを x で微分する(各要素で偏微分する,つまり勾配ベクトルを求める→補足2)と,2AAx2Ab となる。よって,Axb が最小となる必要条件として,AAx=Ab が得られる。
特に,AA が正則なときは,x=(AA)1Ab が唯一の解であり,この x が最小値を与える。
補足1:bAx はスカラーなので,転置を取っても同じ。つまり,bAx=xAb
補足2:対称行列 A に関する二次形式 xAx の微分(勾配ベクトル)は 2Ax
線形関数 xAb の微分は Ab
(単純計算で簡単に証明できる)