2.機械学習

2020年4月11日

機械学習

機械学習はAIの学習手法の一つで機械自体が「データを解析することで特徴を見つけ出し判断や予測アルゴリズムを導き出すこと」をいいます。(AIは人間が予め決めたアルゴリズムで機械が予測するような場合も含むため機械学習より幅広い意味を持ちます。)
機械学習には多くの手法がありますがニューラルネットワークに関する内容は「3-1.ニューラルネットワーク(NN,DNN)」「3-2.畳み込みニューラルネットワーク(CNN)」で説明していますので、ここではそれ以外の手法を学習していきます。

2-1.線形単回帰分析
2-2.k-近傍法
2-3.サポートベクターマシン

など他にもロジスティック回帰や決定木など多くありますが、本サイトではAIとして利用される手法の紹介として上記の3つについて説明します。

手法の選択

実際にどの手法が最適かについては参考にできるアルゴリズムチートシートというものがありますので紹介します。ただ、最も高い正解率を上げれるか正確には判断するのは実際に適用して正解率を確認しないと困難です。

プログラム言語Pythonで動作する機械学習の定番ライブラリ「scikit-learn」(サイキット・ラーン)があります。
その中でscikit-learnのアルゴリズムチートシートと呼ばれる適切なモデルを選択するマップが紹介されています。

例えば、「>50 samples」(50以上の学習データがありますか?) → YES → 「Do you have labeled data」(ラベル付き「教師・正解あり」データですか?) → YES → 「<100K samples」(学習データは100Kつまり1万個以下ですか?) → YES → 「LinearSVC」(SVC:Support Vector Classification)という感じでアルゴリズムを選択できます。