Cとの融合によるPythonの高速化この記事は?自分が読んだ本を時系列に並べて、独断と偏見で簡単にレビューしていきます。データサイエンス(機械学習)のスキルが身につくと謳っている本が量産されている中、どの本を読むべきか読まないべきか、という判断の一助になるよう願っています。この記事は新しい本を読むたびに随時更新していくつもりです。各レビューには以下の点について述べています。これに該当しない方は購入して損はないと思います。サンプルコードがある場合はリポジトリを載せています。語れるほど理解していない今見直すと、網羅的にいろいろなことが書いてあり、数式がちゃんとしているのが良い。(が理解できない点もまだ多い。初学者が読むべき本ではない。単位を最高評価で取得できるぐらいの数学力がない方。部分的にしか読んでないですがHMMとか使うなら下巻がおすすめです。豊富な図やわかりやすい説明のおかげで、小学生や中学生でも機械学習アルゴリズムのアイデアを理解することができる。本当に機械学習を何もしらない人が最初に読むべき一冊。アルゴリズムのざっくりした説明のみならず、訓練性能と汎化性能の関係、交差検証、グリッドサーチ等の説明もしている。sklearnでパイプラインを構築して処理を自動化する方法も解説している。数式的な理解は全く得られない。NMFの説明が分かりづらい。基底や線形結合の概念を用いれば簡単に説明できるのに数式を回避するあまりかえってわけわからん説明になっているように感じた。P47ページ「訓練データのサンプルよりも特徴量の数の方が多い場合には、どのようなyも線形回帰できるので、線形モデルは強力なのだ。(意訳)」の文章がミスリーディングを誘う。訓練データのサンプルより特徴量の数のほうが多い場合、考えなしに線形回帰を行えば間違いなく過学習する。400Amazon.co.jpで詳細を見る当時の事前知識ニューラルネットがどのような計算の組み合わせで成り立っているのかは知っていた。具体的に計算してみたことはなかった。高校生でもわかるようにかいてある。これのおかげで期末試験にて手動でBackPropagationさせる問題が解けた悪い点ここまでかと丁寧に説明しているのに、ところどころ不親切(P148とか)本当に本当の基礎だけしか扱っていないおすすめしない人ニューラルネットにすでに詳しい人DeepLearningを使えるようになりたい人(読むと仕組みはわかるが使えるようにはならない)ある程度の事前知識があれば、この本の内容(CNN以外)は後述するゼロから作るDeepLearning2でまかなえますのでそちらをおすすめします。良い点Pythonではじめる機械学習よりも数式を使って説明している。深層学習は、TensorFlowの使い方から始まって、全結合、CNN、RNN、AE、VAE、強化学習、学習のテクニックと有名どころを網羅している。古い内容もあるが勉強になる。機械学習パートは著者がSVM好きすぎてSVMに説明を割きすぎ。Boostingの説明なんて一瞬で終わってしまってよくわからなかった。タイトルにある"実践機械学習"の能力がこれを読んで身につくとは思えない。深層学習パートの説明はわかりやすいのだが、TensorFlowが難しいのでライブラリ初心者だった自分は完全に心が折れた。TensorFlowのAPIはころころ変わるので動かないところも。実践力が欲しい人(Kaggleをやったほうが良いと思われる。3,908Amazon.co.jpで詳細を見る当時の事前知識ニューラルネットの基礎知識はある。(ゼロから作るDeepLearningの内容程度)TensorFlowの本を読んで、サンプルコードを動かしたことがある。俺たちは直感でDeepLearningをしている!!!!タイトルに偽りなし。簡単にDeepLearningを行うことができる。簡単すぎて頭悪くなる。悪い点RNNのseq2seqの構造が変。Kerasで細かいことをしようとしたときにどうすればいいのか書いてない点。(自分で損失関数を定義しようとしたり層を定義しようとしたりができない。8,228Amazon.co.jpで詳細を見る当時の事前知識ゼロDeepを読んだ程度の知識。RNNの操作の流れは知っていた。数式をちゃんと用いている当時にしては珍しくAttentionについて述べられていた。数式の解釈等があまり書いていくてスラスラ読めない。図が少ないのも原因か。読んだときにはコードが古くて動かなかった。良い点numpyがどういう風にデータを保持しているのかを意識できたのは良い。そりゃnp.concatenateが遅いわけだ。pandasの章は、Kagglerじゃなかった自分には有益な情報が多かった。公式ドキュメントの英語を読むのに抵抗があるとか、公式のチュートリアルよりも軽くいろいろな機能を知りたいとかいう方にはおすすめ。pandasでサクッとplotするのはもっと早く知りたかったなぁ。matplotlibも見よう見まねで書いていた自分にとっては有益だった。いうインターフェイスなのかが解説されていて、matplotlibで可視化するコードに抵抗がなくなったのが大きい。機械学習の章は不親切。初心者にはわかりにくく、ある程度わかっている人は読む必要がない、と感じた。図を重ねたり、軸を調節したりはできる。色を細かく調節したり、グラフを何個も表示してレイアウトをいじるのは調べないとできない。良い点APIが細かく書いてある。1,244Amazon.co.jpで詳細を見る当時の事前知識Python歴1年Pythonで競技プログラミングできる程度には扱える。scikit-learnのコードに簡単な変更を加えることができる。本当にプログラミング初心者向けにかかれている。Python公式ドキュメントのチュートリアルよりも親切に教えている。専門用語をなるべく使わずに(使うとしても定義してから)説明している。この分厚い本の半分はPythonの基本的な機能について説明していた。デバッグの章は個人的に有用だった。print文デバッグから卒業できそう。1,418Amazon.co.jpで詳細を見る当時の事前知識KerasでRNNを扱ったことがあった。Attentionの概要を知っていた。Transformerをすでに読んでいた。自然言語処理のテクニックを網羅的にさらいたい人1と同様、ライブラリによる実践的なことがしたい人。読み終わったらレビューに追加します。お問い合わせはてなブログをはじめよう!aotamasakiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。