はじめに
世間的にもAIや機械学習の需要が高まってきている中で、趣味として興味がありPython+sklearnを用いた機械学習の概要を学習しています。
この記事は、自分の得た知識の定着の意味も込めて1冊の参考書の概要と所感をまとめていきます。
(オライリーは敬遠しがちだったので、強い気持ちを持って読み切りたい)
自分が学ぶ過程で誰かの知識の糧になれば幸いです。
目的
・習得した知識の定着を図る。
・素早く学びを振り返れる状態にする。
記載ルール
概要と所感をセットで記述する。
概要の1セクションは5行程度に収める。読みやすさ大事。
参考文献
Pythonではじめる機械学習
~scikit-learnで学ぶ特徴料エンジニアリングと機械学習の基礎~
発行:オライリー・ジャパン
環境構築
環境は、参考書に則っています。
1章(前半) 概要
機械学習とは?
一般的なプログラミングにおいて人間が構築する多くのシステムは、「もし、〜ならば」などの所謂条件部分は、個別に記載していく。
この「ルール」に当たる部分をシステム自らが生み出して、順次判断していくこと機械学習と呼ぶ。
機械学習で解決可能な課題
世の中の全ての課題が、機械学習で解くことが最適というわけではない。
概要をまとめると、おおよそ下記の通りとなるだろうか。
安価に意味のある大量のデータが集められること
「安価に」:一つのデータの収集に掛かるなコストと解決したい課題の価値の釣り合いを考える。
「意味のある」:苗字データから性別を判断することは不可能
「大量の」:データの物量がモノを言うケースもある。
課題とデータがいかに重要か
先のセクションで記載したが、大量にデータを持っていても抽出する特徴量が適切でなければ意味がない。
せっかく機械学習のモデルを構築したとしても、正しい問題解決ができなければ意味がない。
モデルを構築した後の評価方法まで検討する必要がある。(どのようにしてそのモデルが正しいと評価するか)
*機械学習における特徴量とは、データを表に見立てた時の列にそうとうするものである。
1章(前半) 所感
1章の前半まで読んでみて、結局は
・解決する課題は何か。
・それが機械学習を通して解決することが最適なのか。
・モデルを作成して評価可能か。
この辺りが重要であるように感じました。
機械学習の有無に関わらず問題解決をする上で重要なことは共通して変わらないのかもしれません。
機械学習と聞いて、自分が元々想像するものは、画像認識とか対話AI(チャットbot)とか株式の予測とかそういった具体的な技術の部分でした。
機械学習を使って問題解決をする際は、本質的な課題の深堀を怠らないことが重要だと感じました。