884
1033

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

統蚈・機械孊習の理論を孊ぶ手順

884
Last updated at Posted at 2022-01-24

 瀟内向けに公開しおいる蚘事「統蚈・機械孊習の理論を孊ぶ手順」の䞀郚を公開したす。䞭孊数孊がわからない状態からスタヌトしお理論に觊れるにはどう進めばいいのかを簡朔に曞きたした。僕が䞀緒に仕事をしやすい人を䜜るためのものなので、異論は倚くあるず思いたすがあくたでも䞀䟋ですし、瀟員に匷制するものではありたせん。あず項目の順番は説明のため䟿宜䞊こうなっおいるだけで、必ずしも䞊から䞋ぞ進めずいうわけでもありたせん。
远蚘これもあるずいいのではないかずいうお声のあった曞籍をいく぀か远加したした。

æ•°å­Š

 残念ながら、統蚈モデルを正しく甚いようず思うず数孊を避けるこずはできたせん。ニュヌラルネットワヌクのような衚珟力が高くお色々ず勝手にやっおくれるような統蚈モデルでも、䜕も知らずに䜿うのは危険です。必ず数孊は孊んでおきたしょう。理想を蚀えば埮分トポロゞヌや関数解析のような高床な理論を知っおおくのがベストですが、ずりあえずは線圢代数を孊ぶこずが必芁です。デヌタを扱うこず、統蚈モデルを扱うこずはすなわちベクトル・行列を扱うこずを意味したす非線圢モデルであっおも線圢近䌌しお行列を蚈算したす。

äž­å­Šæ•°å­Š

 そもそも数孊が䜕もわからず、䞭孊レベルからやり盎さなければならない、ずいう人は倧阪府が公開しおいる「ワヌクブック 䞭孊校数孊」を党郚解いおください。ずはいえ党郚やっおいるず時間がかかるので、もっず先の内容を孊習しながらわからないずころを Slack に投皿したほうが早いです。

高校数孊

 高校数孊の課皋で䜕を孊んだかは䞖代によっおかなり倉わるようです。ずりあえずはベクトルず行列に぀いお孊んでいればよいのですが、やっおいない堎合は仕方ないので、瀟内研修の「因果掚論」の線圢代数の章でざっず孊んでおきたしょう匊瀟には各分析手法に察応しおかなりしっかりずした研修教材があるので、昚幎からこれを甚いおみっちりず瀟員教育をしおいたす。NumPy で動かしおみながら確認するずわかりやすいず思いたす。この資料では統蚈孊を応甚するにあたっおの基本的な泚意点が倚く曞いおいるので、統蚈孊に入門する際に副読資料ずしお利甚しおください。
 より詳现な高校数孊の内容を孊んでおきたい堎合は、物理孊者の栗本猛氏が公開しおいる「物理系孊生のための数孊入門」で孊習しおください。この資料は、高校数孊から始たっお物理孊に必芁な数孊の内容の倚くを孊べる構成になっおいるので、読砎すれば䞀般的な理孊郚の孊郚卒業皋床の数孊的知識は぀けるこずができたす。
 『チャヌト匏』など、倧孊受隓のための参考曞は倚く存圚したすが、こういうものは倧孊合栌を目指す高校生向けにチュヌニングされおいたす。瀟䌚人になっおからこれを読むのは非効率なので、あたりおすすめできたせん。

線圢代数

 線圢代数は行列の蚈算ができるようになっお終わりずいうわけではありたせん。行列の分解や線圢空間の理論に぀いお知る必芁がありたす。『線圢代数のコツ』は易しいけれどもちゃんず曞いおある教科曞です。
 『線圢代数セミナヌ』は暙準的な線圢代数の教科曞では倧きく取り挙げられないがデヌタ分析でよく利甚するような手法にフォヌカスしお掲茉しおいたす。2冊目の教科曞ずしおいいかもしれたせん。より厳密な議論をおさえおおきたい人は『斎藀正圊 線型代数孊』で孊びたしょう。黒田玘敏氏が公開しおいる講矩資料も幅広い範囲を扱っおいたす。

埮積分

 埮積分は基本的に「物理系孊生のための数孊入門」で孊べば倧䞈倫です。より厳密な議論は『理工系の埮分積分孊』ずいう比范的平易か぀きちんずした教科曞があるのでこれで孊びたしょう。こちらも黒田玘敏氏の講矩資料で孊んでもよいです。

論理ず集合

 数孊曞に慣れない人は、なぜ数孊曞を読みづらいず感じるのでしょうか 僕が思うに、それは数孊的事実が述語論理ずいう他ではあたり䜿わない蚀葉で蚘述されおいるからです。
 『論理ず集合から始める数孊の基瀎』は初孊者でも比范的読みやすい教科曞です。集合・䜍盞に぀いおの応甚的な話はその先で読むような本枬床論の教科曞などである皋床カバヌできたすが、個人的には倖史節炞裂の『集合ずはなにか』で「おはなし」的な郚分を知っおおくこずもおすすめです。䜍盞の「気持ち」がわからん、ずいう人は『䜍盞のこころ』を眺めおみるのもいいかもしれたせん。『䜍盞ぞの30講』は数孊科向けに説明するずきに「わざわざ説明しなくおも蚱される」くらいの範囲をちょうど切り取っおきたような内容なので、そのあたりがさっぱりわからんずいう人なら読んでおくこずをおすすめしたす。

枬床論

 枬床論は『統蚈孊ぞの確率論、その先ぞ』で確率論ず䞀緒に雰囲気を孊びたしょう。確率論の厳密な議論には枬床論がほずんど䞍可欠ですが、ずりあえずは確率がどのように定矩されおいるかがわかればよいので、易しい教科曞でも十分です。しかし、統蚈孊の蟌み入った話になるず枬床論の知識がある皋床は必芁です。専門的な内容は非数孊専攻でも読めるようわかりやすく曞かれおいる『ルベヌグ積分入門』がおすすめです。

関数解析

 関数解析はたずカヌネル法に焊点を圓おた『機械孊習のための関数解析入門』で孊びたしょう。カヌネル法をはじめ、機械孊習では関数解析の道具を利甚した議論が倚数存圚したす。論文を远っおいればい぀かはぶち圓たる問題なので、初歩的な郚分だけでも把握しおおきたしょう。ここでは䜜甚玠の話など関数解析の䞭心的な抂念に぀いお消化䞍良な郚分も倚いので、工孊のための関数解析孊などで補完するのが良いでしょう。機械孊習プロフェッショナルシリヌズ『統蚈的孊習理論』にも関数解析の初歩の郚分の解説が含たれるので、ここで孊んでもよいです。

埮分トポロゞヌ

 埮分トポロゞヌは倚様䜓䞊の可埮分構造を芋る分野です。統蚈モデルを倚様䜓ずしお芋るこずで、その性質を幟䜕的な芖点から調べるこずができたす。たた、最適化や物理珟象のモデリングずも関わっおくる分野なので、深局孊習・数理最適化・科孊シミュレヌションの技術ずも深い関わりがありたす。埮分トポロゞヌの叀兞的名著ずしお『力孊系入門』がありたす。これは前半が線圢代数ず埮分方皋匏論の入門ずなっおいるので、それぞれの孊習にも利甚できたす。新しい内容を盛り蟌んだ第3版の邊蚳もありたすが、内容が少し違うので䞡方手に入れお読めるずベストです。
 田厎博之氏の講矩資料がいく぀か公開されおいるので、より深い内容はこちらで孊びたしょう。『埮分トポロゞヌ』も昔からよく教科曞ずしお利甚されおいたす。

→ 力孊系の蚘事を曞きたした。

代数トポロゞヌ

 統蚈孊らしい分析手法からは倖れたすが、近幎ではトポロゞカルデヌタ分析が流行っおきおいたす。その䞭心的な圹割を果たすツヌルがホモロゞヌ矀です。代数トポロゞヌではホモロゞヌやホモトピヌずいった幟䜕孊的な特城に基づいた同䞀芖を行いたすが、画像デヌタや点矀デヌタなど幟䜕孊的構造を持぀察象を新しい切り口から分析するのにこれらの考え方が圹に立぀のです。
 トポロゞカルデヌタ分析の瀟内勉匷䌚資料は集合論の初歩から解説しおおり、代数トポロゞヌ入門ずしお比范的気軜に読めるものずなっおいたす匊瀟では金曜倕方に瀟内勉匷䌚枠を蚭けおおり、名乗りをあげた瀟員が喋りたいテヌマ䟋確率解析、圏論、Kubernetes、単県深床掚定、SQL、TypeScript、お笑い、等々に぀いお2時間ほど講矩やハンズオンを行いたす。『タンパク質構造ずトポロゞヌ』でパヌシステントホモロゞヌ矀たでの理論を詳现に孊ぶこずができたす。著者の平岡氏はいく぀かトポロゞカルデヌタ分析の解説 PDF を公開しおおり、䟋えば「䜍盞的デヌタ解析の基瀎ず応甚」は数孊の知識がなくずも抂芁が掎めるものずなっおいたす。より広い議論は『䜍盞幟䜕孊』のような数孊曞で孊びたしょう。『トポロゞヌ入門』はかなり䞁寧な入門曞です。

統蚈孊

 統蚈孊はかなり慎重に孊習しないず危険な分野です。むンタヌネット䞊には質の悪い情報が溢れおいるので、数孊的な正しさがわからないうちは自分で刀断しおむンタヌネットから匕甚するこずは絶察にやめたしょう。

初歩の初歩

 総務省統蚈局が「なるほど統蚈孊園」ずいうペヌゞで統蚈孊のごく初歩の郚分を解説しおいたす。統蚈孊に觊れたこずが党くない人は、䞀床読んでみたしょう。倧雑把ですが、正確性はこの埌でより高床な統蚈孊を孊ぶ際に確保したしょう。これだけ読んでわかった気になるのは危険です。

統蚈孊党䜓の抂芁を掎む

 たずは統蚈孊党䜓の抂芁を掎む必芁がありたす。『統蚈孊実践ワヌクブック』は最も適した教材ずいえるでしょう。この曞籍は統蚈怜定準1玚の範囲に察応しおいるので、さしあたり準1玚合栌をデヌタサむ゚ンティストずしおのひず぀の目暙ずしお勉匷したしょう。確率分垃・䞀般化線圢モデル・確率過皋・時系列分析・䞻成分分析・SVM・クラスタ分析・グラフィカルモデル・モデル遞択・ベむズ掚定・MCMC など、倧半が実務䞊知っおおかなければならない内容です。ボリュヌムは凄たじいですが、しっかりず身に぀けたしょう。特にアドバむザリヌ業務を担圓する瀟員はこの本に曞いおある内容を網矅しおおくこずが望たしいです。
 『デヌタ分析のための統蚈孊入門』は網矅的でこそないものの、そこそこ広い範囲をカバヌしおおり、「気持ち」の解説も倚めです。

数理統蚈

 抂芁を掎んだ埌は、理論的な理解を深めたしょう。確率空間ずか聞いたこずないずいう人はずりあえず『確率ず統蚈』から入っおよいず思いたす。統蚈怜定1玚に出おくるような内容を孊びたければ『珟代数理統蚈孊』が『統蚈孊実践ワヌクブック』埌には読みやすいず思いたす。かなり厳しい旅にはなりたすが、「数孊」の項目で挙げた『統蚈孊ぞの確率論、その先ぞ』にチャレンゞするのもいいでしょう。

因果掚論

 頻繁に必芁ずなるにもかかわらずあたり觊れたこずのない瀟員が倚い分野の第䞀䜍は因果掚論でしょう。因果掚論はデヌタ分析業務においお重芁な分野です。瀟内研修資料は必ず読んでください匊瀟には各分析手法に察応しおかなりしっかりずした研修教材があるので、昚幎からこれを甚いおみっちりず瀟員教育をしおいたす2回目。
 朜圚反応モデルに぀いおは『原因ず結果の経枈孊』が最も簡単な入門曞です。芁点をおさえたら『R による実蚌分析』で実装を芋ながら孊びたしょう。
 構造的因果モデルに぀いおは『確率的グラフィカルモデル』ず MLP シリヌズの『グラフィカルモデル』が詳しいです。叀兞的教科曞ずしお『入門 統蚈的因果掚論』も有名です。

時系列分析

 オヌ゜ドックスな教科曞ずしおはハミルトン本が知られおいたす。この本は線圢代数の郚分から時系列モデルを詳现に説明しおくれお、分量はありたすが孊べるこずは時系列分析の内容に限らずかなり倚いです。ハミルトン本を薄くたずめたものが沖本竜矩氏の『経枈・ファむナンスデヌタの蚈量時系列分析』です。
 Python コヌドが曞かれたものずしおは Advanced Python シリヌズの『時系列解析』が広い内容を扱っおいたす。R が曞けるなら『R による時系列モデリング入門』も基本的な事項は網矅しおいるのでおすすめです。

特異モデル

 統蚈孊の掚定手法には「正則モデル」ずいうかなり倧人しい性質を持った統蚈モデルでしか結果が理論的に保蚌されおいないものも倚くありたす。実務で扱うような耇雑な統蚈モデルはそれ以倖の「特異モデル」である統蚈モデルが滑らかな倚様䜓にならないような堎合が倚いため、もっず広いクラスの統蚈モデルに察する理論が必芁です。抂説的な資料は犏氎・栗朚氏の「特異モデルにおける統蚈的掚枬 ―接錐によるアプロヌチ―」で読むこずができたす。『特異モデルの統蚈孊』や『代数幟䜕ず孊習理論』ずいった代衚的な教科曞はいずれも埮分トポロゞヌなどの難しい数理的内容を含むため、そういうもんなんだず頭の片隅に眮いおおけばよいでしょう。情報幟䜕ず重なる郚分が倧きいので、䞡方䞊行で孊べばもっずわかりやすかったなず自分ではちょっず埌悔しおいたす。

ベむズ統蚈

 ベむズ統蚈は倧雑把に蚀えば「予枬分垃を蚈算するこずにより確率的な䞍確実性を持たせた掚定を行う」「事前分垃を蚭定するこずにより正則化を行う」ずいうこずができる統蚈手法です。モデルず事前分垃の蚭定が適切であれば、最尀掚定よりも広いモデルに぀いおよい掚定ができたす。
 瀟内研修の「ベむズ統蚈」資料は確率・統蚈の初歩から解説しおいるため、たずは最初にこれを読むずいいでしょう匊瀟には各分析手法に察応しおかなりしっかりずした研修教材があるので、昚幎からこれを甚いおみっちりず瀟員教育をしおいたす3回目。『Julia で䜜っお孊ぶベむズ統蚈孊』『ベむズ掚論による機械孊習入門』『ベむズ深局孊習』をこの順で読むず必芁な知識の倚くは身に぀けられたす。『ベむズ統蚈の理論ず方法』はより理論面での深い話を扱っおいたす。『ベむズ掚定入門』ずいう数孊の知識をあたり求めない解説曞も出おいたす。

情報幟䜕

 情報幟䜕では統蚈倚様䜓を埮分幟䜕的に解析したす。指数型分垃族や混合分垃などの統蚈孊でよく甚いる察象の裏に隠れた幟䜕的構造を知るこずで、色々な話が繋がっお統蚈孊がグンず面癜くなりたす。
 たずは赀穂昭倪郎氏の「情報幟䜕ず機械孊習」で雰囲気を知りたしょう。『情報幟䜕孊の基瀎』は応甚に぀いおも詳しく曞かれおいたすが、難しいため比范的易しく曞かれおいる『入門 情報幟䜕』をあたっおみおもいいかもしれたせん。必芁になった時点で随時初歩の郚分を補っおくれるので、前提知識がある人にはちょっずくどいかもしれたせん。『情報幟䜕の方法』は Amazon の高額なオンデマンド販売でしか賌入できなくなっおいたすが、時系列モデルに぀いおの蚘述など読むべきずころも倚くありたすし、個人的には情報幟䜕で䜕を芋たいかがわかりやすいず感じたした情報幟䜕の教科曞は初芋で䜕をやりたいのかわからないものが倚い  。

統蚈的孊習理論

 機械孊習を孊ぶにあたっお、統蚈的孊習ずは䜕であるかずいうこずを孊ぶ必芁がありたす。「数孊」の項目で挙げた『統蚈的孊習理論』が代衚的な日本語の入門曞です。しかし、これはAppendix で茉せおいるずはいえ関数解析の知識を芁するなど少し難しい教科曞です。鈎朚倧慈氏の「統蚈的孊習理論チュヌトリアル: 基瀎から応甚たで」および「統蚈的孊習理論ずその深局孊習ぞの応甚」はもう少し易しく曞かれおいたす。

機械孊習党䜓の抂芁を掎む

 そもそも統蚈孊ず機械孊習に違いはあるのか ずいう問題はありたす。個人的には名称を分ける必芁性を感じたせんが、特にこれは機械孊習の領域だずいう共通理解のあるテヌマは存圚したす。
 『統蚈的孊習理論』ず同じ著者の『Python で孊ぶ統蚈的機械孊習』は確率論の基瀎から機械孊習の様々な手法たでを Python コヌドを亀えお解説しおくれる易しい教科曞です。かなり網矅的なため、ずりあえず䞀呚しおおけば広く機械孊習の手法を把握しおおくこずができたす。
 『Kaggle で勝぀デヌタ分析の技術』は機械孊習の入門曞ではありたせんが、『Python で孊ぶ統蚈的機械孊習』には茉っおいない内容を補完できたす。
 『統蚈的孊習の基瀎』ずいう鈍噚もありたすが、鈍噚なので気軜におすすめはできたせん。

深局孊習

 蚀わずもがな、『れロから䜜る Deep Learning』が最もずっ぀きやすく、詳现たで知るこずのできるよい教科曞です。叀い曞籍ですが、『ニュヌロコンピュヌティングの数孊的基瀎』は埮分トポロゞヌを孊んだ埌であれば深局孊習のより深い理解に寄䞎したす。
 最近の深局孊習の理論を知りたい堎合は鈎朚倧慈氏の「深局孊習の統蚈理論」が詳现です内容は高床ですが。もう少し「おはなし」的な資料は同氏の「機械孊習ず深局孊習の数理ず応甚 (1)」がわかりやすくおよいです。

884
1033
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
884
1033

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?