学習方法 トップダウン 〜わからないをわかったへ〜
イントロダクション
ここ数ヶ月…機械学習の理解に挑戦してきました。いろいろと調べてみたけど、どれも数式ばかりで、わからない。他のものは根本的なトコがわからない… というような状況で足踏みをしていました。
OpenCvを学ぶ
結論から言うと機械学習の先駆けはOpenCvであろうと思った次第です。実際に機械学習の本などで使用される言葉があり、それに対する説明が記載されていました。 早い話が「機械学習の根本的なトコはOpenCvのものと同じだから、そっちを理解すればおっけ⭐️」となった次第です。
<ポイント>
- わからないに対してわかる部分から攻め入る
- 「早い話がなんなのよ?」と言う疑問をはじめに解決する
- 「早い話」がわかったら詳細に向かって疑問点を掘り下げていく
<疑問点を掘り下げる>
自分の「機械学習がわからない」の場合は次のようになります。
「早い話が」
機械学習は、色々なアルゴリズムを使って学習モデルを作り、色々な物事を判定する(分類する)
掘り下げる
上のところで明確にならない「色々なアルゴリズム」と「学習モデル」について同じように「早い話が…」を理解できるように学習します。 同じ事を繰り返し、掘り下げていきます。
現在学習中
OpenCvの機械学習について調べています。これに関しては「わからん」の一言に尽きます。
わからない原因など
- 数式がわからない
- 記載し記載している内容がわからない
- 数学の話はどうでも良い
- プログラムに関しては最小限度
上記の理由で今まで読んだ本では理解できませんでした。
実際に撮っている方法
色々な本を読んだけど、わからなかったので他の方法を探していたところ、OpenCVの本を持っていたので中に「機械学習」という文言があり学習し始めた次第です。 読んで見ると、画像解析(顔識別、人間の抽出)を行うために使用する技術が「機械学習」でした。こいつを応用しているのが世間巷で言うところの「AI(ディープラーニング)」であろうと言うところまでたどり着きました。 つまり、「機械学習」を理解すればディープラーニングも理解できるであろうと言う認識です。
OpenCVを学ぶ
結局ここにたどり着くのですが、現状で少し学習しておりました(笑)。学習した時の記事リストです。
OpenCv
- Java OpenCV 環境セットアップ(on Mac)
- Java OpenCv Lv1 〜入門: 写真の表示〜
- Java OpenCV Lv2 〜画像を表示する〜
- Java OpenCV Lv3 〜画像の平滑化(smooth())〜
- Java OpenCV Lv3 〜画像にガウシアンフィルタ(GaussianBlur())〜
- Java OpenCV Lv3 〜画像に中央値フィルタ(medianBlur())〜
- Java OpenCV Lv4 〜画像の中身をみてみる〜
- Java OpenCV Lv5 〜Matクラスで描画処理〜
- Java OpenCV Lv6 〜Matクラスで背景から作成してみる〜
- Java OpenCV Lv7 〜MatクラスでEllipseしてみる〜
- Java OpenCV Lv9 〜画像編集「足し算」(cvAdd)〜
- Java OpenCV Lv9 〜画像編集「引き算」(cvSubtract)〜
- Java OpenCV Lv9 〜画像の掛け算〜
- Java OpenCV Lv10 〜行列演算Mat#submat()〜
- Java OpenCv Lv10〜画像の平均値をだす〜