記事の対象者は以下の方を想定しております。
結論としては、機械学習は広義の用語であり、ディープラーニングはその中の一つの技法と捉えて問題ありません。 機械学習の種々の技法は主に統計学を基礎としますが、ディープラーニングの特徴は数学的な発想です。
機械学習はベイズ推定、k近傍、ランダムフォレスト、ロジスティック回帰、サポートベクターマシン(SVM)等があり、もちろんニューラルネットワークを用いるディープラーニングも入ります。
機械学習は古典統計とも類似に表現され、伝統的な統計学に裏付けされる種々の手法の総称です。 ディープラーニングは、機械学習の手法の1つで、近年のPCスペックの向上により実務的に演算可能となったことで、近年に注目を集めました。 ディープラーニングの技法自体が新しい訳ではありません。 ニューラルネットワークと呼ばれる複層構造を特徴にしており、複層構造は合成関数により表現されてます。合成関数により数式が簡素に表現され、かつ複雑な事案を表現する幅を持たせることができました。 ディープラーニングやニューラルネットワークの説明は、以下の記事を参照くださいませ。 「ディープラーニングが平たく理解できるためのポイント10選」 https://www.dhipithi-app.com/utsunomiya_nlp_20211201
pythonは機械学習と呼ばれる伝統的な統計技法(≒古典統計)については、ほぼ「scikit-learn」というライブラリを用いることで利用できます。 実装も非常に容易です。
ディープラーニングのライブラリも種々ありますが、代表的なものは2つです。 「pytorch」は細かい設定が書き込み可能であり、細部の調整を自身で設定できます。amazon社により開発されました。 「TensorFlow」は簡便にディープラーニングを利用できる点が特徴で、google社により開発されております。 他にも種々のライブラリはありますが、理解の入口としては上記で十分です。
何事も触りながら考えると理解が深まり宜しいかと思います。 ニューラルネットワークを用いたディープラーニングの実装は100行程度のコードの記述が必要なため、少し時間がかかります。 目安としては土日2日間を丸々使い、自分のPCでのpython環境の構築を行い、コード記述を行うようなイメージです。 サンプルとなるコード自体はネット記事等に、テスト的に動かせるものが多くありますゆえ、困ることはないと思います。 「scikit-learn」を用いた実装は、20行程度で行えるものもあり、初学者には取り組みやすいです。 pythonに触れることで、事務の自動化が飛躍的に進みますので、あわせて機械学習分野の取り組みを検討してみては如何でしょうか。