{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# データから学習する\n", "\n", "**重みパラメータを自動的に決定する行程** のことを指します。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## データ駆動\n", "\n", "人間が問題を解決する方法は、経験や直感を手掛かりに試行錯誤をすることですが、機械学習では **集められたデータから答え(パターン)を見つける**ことをします。\n", "\n", "また、**人の手による介入をなるべく避ける** のも特徴です。\n", "\n", "たとえば、「5」という手書き文字を認識させる場合、「5」を認識するアルゴリズムをひねり出す代わりに、 **特徴量** を抽出して学習させます。\n", "\n", "> 特徴量は、入力データから本質的なデータを明確に抽出できるようにする変換機を指します。\n", "\n", "> 画像の特徴量は通常、ベクトルとして記述されます\n", "\n", "特徴量の抽出にはSIFT、SURF、HOGと呼ばれるアルゴリズムがあり、その後の識別器としてSVM、KNNと呼ばれるアルゴリズムが使われています。\n", "\n", "\n", "### SIFT\n", "\n", "> SIFT (Scale-invariant feature transform) は、キーポイントの検出に使用される元のアルゴリズムですが、商用利用には有料です。SIFT特徴記述子は、均一なスケーリング、方向、輝度の変換に対して不変であり、アフィン歪に対して部分的に不変です。 \n", "> [画像位置合わせ:SIFTから深層学習まで - Qiita](https://qiita.com/suuungwoo/items/9598cbac5adf5d5f858e)\n", "\n", "### SURF\n", "\n", "> SURF (Speeded Up Robust Features) は、SIFTに影響を受けた検出器および記述子です。SIFTに比べ数倍高速です。また、特許も取得しています。\n", "> [画像位置合わせ:SIFTから深層学習まで - Qiita](https://qiita.com/suuungwoo/items/9598cbac5adf5d5f858e)\n", "\n", "### HOG\n", "\n", "> HOG特徴量とは局所領域内の勾配方向ごとの勾配強度を計算し、ヒストグラムで表したものです。すごく簡単に言うと画像中の輝度の変化の境界線を取り出す事が出来るというものです。 \n", "> [HOG特徴量とSVMを使った自動車の検出 - くーろんログ](http://96n.hatenablog.com/entry/2016/01/23/100311)\n", "\n", "### SVM\n", "\n", "> SVMは入力を正解か不正解かに分類する分類器です。大量のデータとラベルの組から「こういうデータには正解ラベルが付く」「このデータには不正解ラベルが」という様なデータとラベルの関係を学習し、正解と不正解の境界を計算するのが仕事です。未知の入力データをこの境界線に照らし合わせることで、そのデータが正解か不正解か判断することが出来ます。\n", "> [HOG特徴量とSVMを使った自動車の検出 - くーろんログ](http://96n.hatenablog.com/entry/2016/01/23/100311)\n", "\n", "### KNN\n", "\n", "> 「回帰や分類を行う際に、似たようなデータをk個集めてそれらの多数決から目的とする値を求める」 \n", "> [機械学習_k近傍法_理論編 | Developers.IO](https://dev.classmethod.jp/articles/2017ad_20171218_knn/)\n", "\n", "\n", "## 訓練データとテストデータ\n", "\n", "* 機械学習に求められているのは **汎化能力**\n", "* 汎化能力とは、まだ訓練データに含まれていないデータに対する能力\n", "* 一つのデータセットに対してのみのパラメータの学習ができているのは意味がない\n", "* あるデータセットのみ過度に対応した状態を **過学習** という" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.3" } }, "nbformat": 4, "nbformat_minor": 4 }