しんさんのブログ

科学や技術のこと読書のことなど

機械学習を勉強してみる:「ITエンジニアのための機械学習理論入門」: 1章を読んでみた結果データサイエンスが何でサイエンスというかが分かった

1章は導入なのでデータサイエンスと機械学習についての関係やそれぞれがどういう意味を持っているかを解説しています。
そもそも、何でデータサイエンスとかデータサイエンティストとか"サイエンス"という言葉を使うのかについて、以前から謎でした。
単にサイエンスとつければ信頼感があるからかな、などと思って深く考えていませんでしたが、この本ではその理由が明確に述べられていていました。
「科学」と名付けらているからには、科学の要件を満たさなければいけいないというと逆説的ですが、科学と名乗るからには何らかの仮説を立て、データからそのモデルを検証することが必要です。さらに、検証されたモデルを、一般化して未知の現象の説明、未来の予想を行うことができる必要があります。
単にデータを解析してデータに含まれる事実を抽出するだけなら、それでは科学とは呼べません。
仮説が反証できて、客観的である必要がありそれを論理的に言葉(数式)で説明できなければサイエンスにはならないのです。

1章ではさらに機械学習でも用いられるいくつかの手法が大まかに解説されていますが、これらはそれぞれ後の章でくわしく述べられています。
さらに、サンプルコードを実行するための解析ツールのPC上での環境設定の仕方が詳しく解説されています。
この分析ツールの準備の項の最初に、「本書で解説するアルゴリズムは当然のことながらプログラムのコードとして実装して、実行することが可能です」というくだりがあるのですが、素晴らしいです。このさりげない一文に著者の自信のようなものがにじみ出ています。
というのも、機械学習の解説や記事を読むとこの部分がすっぽり抜け落ちていたり、既存の機械学習ライブラリをブラックボックスとして使っているだけだったりします。
そういう解説をいくら読んでも、結局本質的な理解に至らないと感じていました。
本書は、まえがきに"機械学習の基礎となるアルゴリズムを根本から、ごまかさずに解説してある"と述べているようにきちんとコードに落として明確に解説してあります。

ところで、1章の最後の実行環境のセットアップは、本の中に含まなくてもWebもサポートページか何かで解説すればよかったのかなと思います。
この部分だけ、他に比べて不釣り合いに詳しすぎるしこういう内容はすぐに陳腐化しますから、本文になくてもよかったのになと思います。