takeda_san’s blog

KotlinとVRを頑張っていく方向。

分類とラベルについて理解した話

前回のあらすじ

ようやく、csvからデータを読み込み想定通りの出力を得る。

takeda-san.hatenablog.com

やったこと

前々回、ハマったラベルとクラスの概念。
下記のページが非常にわかりやすかった。

やる夫で学ぶ機械学習 - 序章 - · けんごのお屋敷

クラス(分類:Classification)とは、判別の種類がいくつあるのかその種類数を表す。
メールが「スパムである」、「スパムでない」の2種類に分けられるときに、Classificationは2。
前回のプログラムでは、株価が翌日…「上がる」、「下がる」、「そのまま」の3種類にしたのでClassificationは3ということだった。
最初は翌日の終値を予想しようとしていたが、これを分類として扱うと1円刻みで分類しないといけないので大変だっただろうな。

ラベル(ラベル:Label)とは、教師データの正解データのこと。
株価が翌日…「上がる」、「下がる」、「そのまま」がラベルだ。
最初は日付データ(入力データ)をラベルとしていたので、これは間違い。

今回作成したプログラムは教師データありの分類について、触れた。
次は教師データなしのクラスタリングについて、サンプルプログラムの理解から始めていこうと思う。

統計わからん

損失関数と活性化関数に使われる各種関数を理解するのに、そもそもの前提知識が足りていない気がする。
前回でてきて後回しにした対数尤度関数、softmax関数だが、優しく書いてあるであろうページを読んでも、まったくわからん。
そもそも、ご存じない記号が出てきてて、歯が立たない。
(平均。偏差の概念もおぼつかないのに、その先を理解するというのは無理なのかも)

引き続きプログラムも書いていくが、統計学の入門書を読んだほうがよさそう。
すでにcourseraの機械学習の動画、線形代数の本で手いっぱいだが、趣味のプログラムなのでゆっくり少しずつ進めていこうと思う。

次回の予定

未実施

クラスタリングのサンプルプログラムを読む
統計学の入門書一冊読む
Mavenのpomの読み方

実施中

・courseraの機械学習の動画を見る
・Deep Learning Javaプログラミングを読む
・プログラミングのための線形代数を読む