機械学習にも教師あり・教師なし学習のパターンがあります。
今回はそのパターンを説明します(^ ^)
教師あり学習とは
問題に対して予め答えを用意しておき、予想された答えと実際の答えの違い
が小さくなるように訓練を行う方法です。
例で考えると、イヌとネコの画像にラベル(ネコかイヌか正解)をつけ、
学習させる感じです。
point → 正解から特徴を見つけて、分類分けができる。(事前学習済み)
過学習
事前の学習させすぎると、本当に必要な情報以外も特徴とされるため、うまく分類できなくなる
現象です。
イヌとネコの例では事前学習でもし、偏った特徴(目の大きさや毛並み等)をイヌの特徴に
認識されるとイヌと似たような目の大きさ、毛並みのネコも誤まってイヌとされてしまいます。
そのため、ある程度の事前学習にする必要があります。
教師なし学習
主にデータそのものが持つ構造・特徴を分析し、グループ分けやデータの簡略化等をします。
先ほどのグラフのネコ、イヌの例からいうと・・
人間は視覚から「目の形」「耳の形」「しっぽの形」で自然とネコなのか、イヌなのか
を分類していると思います。
その学習結果を評価、グラフ化し、直線による近似しました。
イヌとネコを区別する

ここで疑問です。近似する直線をどうやって書くのか?
今回の例では少ないデータなので、何となく直線を引けるかもですが、
本来は多大な数のデータであるので、綺麗に分類できない可能性があります。
近似の直線の際に使用されるのが、二乗誤差関数です。
point → 実際の結果から特徴を見つけて、分類分けができる。(事前学習はなし)
二乗誤差関数
実際にどのような事をしているかを先ほどのグラフから確認しましょう!
直線を引いてところから各場所に垂直に線を引きます。
その直線と各場所の離れたところが、誤差となります。
二乗誤差関数の考え方

単純に誤差同士を足すと打ち消し合い、誤差が0(ゼロ)となってしまいます。
そのため、二乗した誤差で評価します。
(二乗でなくても四乗でもいいのですが、計算が複雑になるため、通常は二乗を計算されます。)
色々と難しい事も多いですが、今日はここまでです。
プログラミングを始めようと思った際は独学で勉強すると挫折する可能性が高いため、スクールも考えてもいいと思います!