近年、機械学習といえば、ディープラーニングのような先端技術の発展がめざましく、特に顔認証、音声認識、自動翻訳などでは、驚くほど精度が向上してきました。

しかし、「何にでもディープラーニングを使えば良いか」といえば、そうとも言えません。

表データの顧客を分類したり、時系列データからの需要予測などの普段のビジネスのタスクでは、従来の機械学習でも実用レベルの精度を十分実現できます。しかも、低コストで可能です。

さらに、従来の機械学習については、「学習プロセスの説明しやすさ」と「ドメイン知識の活用しやすさ」という2つの利点があります。ビジネスツールとして使うには、これらの利点が有利になることが多々あります。

そこで、今回はディープラーニングのような先端技術の習得を目指すのではなく、従来の機械学習をビジネスツールとして使えるようになりたいと考えている方におすすめの本を3冊ご紹介します。

従来からの機械学習では、自分でデータから特徴量を選んで組み立て、適当なアルゴリズムを使ってモデルを構築してゆきます。そこには、ビジネスパーソンの現場の知識を活かせる機会がたくさんあります。ぜひこの3冊でチャレンジしてみていただけたらうれしいです。

ディープラーニングと従来の機械学習

ディープラーニングも機械学習の一種ですが、本記事では「従来の機械学習」と分けています。従来の機械学習では、人間がデータから特徴量を模索して、モデルを構築します。一方、ディープラーニングでは、特徴量を機械が抽出してくれるので、分類や回帰のタスクを与えれば自動的に処理して学習してくれます。

本記事の目次

1冊目:Pythonデータサイエンスハンドブック

機械学習をはじめるのに、盤石といえる本です。そして、いつも手元に置いておきたい本です。まずはこの1冊目をじっくり読むことをおすすめします。

Pythonで機械学習を行うには、以下の5つのツールを使えるようになることが不可欠です。

  • Jupyter
  • NumPy
  • pandas
  • Matplotlib
  • scikit-learn

本書は、この5つの基本を実にバランス良くまとめていますので、この1冊をしっかり理解することで機械学習を使うための基礎固めが確実にできます。

2冊目:Pythonではじめる機械学習

本書では、従来の機械学習で行うすべてのプロセスを基礎から学ぶことでできます。

まず従来から広く使われている「教師あり学習」と「教師なし学習」の代表的なアルゴリズムの基礎について学習します。次に、データをどのように処理してから機械学習で扱えば良いかを学びます。特に、数値以外のデータやスケールの違う数値データは、工夫が必要です。

さらに、モデルの評価やパラメータチューニング、そしてモデルを連結してワークフローを形成する「パイプライン」についても説明しています。

このように、本書により機械学習でモデルを構築する方法を一通り身に付けることができます。

3冊目:Kaggleで勝つデータ分析の技術

機械学習を実施していると、どうやっても精度が向上しないという問題に直面します。そんなときに、この3冊目が非常に役立ちます。

Kaggleというデータサイエンスのコンペでの様々なテクニックや事例が紹介されているので、読むと精度改善のヒントがいろいろと得られます。コンペが対象ですが、普段のビジネスツールとして機械学習を使う場合にもとても参考になります。

また、2冊目でも紹介されている「勾配ブースティング木(GBDT)」という強力なモデルを構築する手法がありますが、scikit-learnのものでは大規模なデータだと学習にかなり時間がかかります。そのため、実際にはLightGBMなどのライブラリが利用されますが、その事例についても多く取り上げているのが本書の特徴でもあります。

最後に

今回は3冊ご紹介しましたが、まずは1冊目をじっくり読んでみてください。すると、実務で試してみたくアイディアが思い浮かぶはずです。そして、実際に自分でいろいろと試した後に、2冊目、3冊目とステップアップすることをおすすめします。