数式を使わずに機械学習の説明をしてみた。


数式使わずに機械学習(ロジスティック回帰分析の分類問題)の説明が出来る気がしたので、します。
この説明が間違っている=僕の理解か説明がまずい、という事だと思うので、なんかおかしいと思ったらコメント欄にコメントください。(数式使わない縛りのため、多少犠牲にしてる部分があることは自覚しています。)
あと、知識は100%「最短コースでわかるディープラーニングの数学」(赤石雅典)によります。なのでこの本以上のことは何も説明できません。

まず、例として0から9の数字書き文字を正確に見分ける、と言う問題を扱います。
ここで、0から9の書き文字と答えのペアは学習に必須です。(なくても出来るかもしれないけど、知らない)
最初にやることは、書き文字画像を数値に変換することです。これはまあ色々やり方あると思いますが本質ではないので、略。
それが出来たら、「この書き文字が0である確率はx%」という事を計算する式を、0から9のそれぞれに対して立てて、確率が50%を超えるなら0である、という風に考えます。
もう少し正確には、まず「この書き文字は0に分類される」を計算する式を立て、それを確率に変換します。確率への変換は難しくなく、この問題なら必ず出来る話なので以下の議論ではさり気なく省略しておきます。
「この書き文字は0に分類される」を計算する式は、実は連立方程式になります。
ですが、変数が多すぎるので、正攻法では絶対に解けないようになっています。
そこでロジスティック回帰分析という手法を使います。(機械学習のひとつらしいです)
この方法は、まず
1:「式に画像データを数値化したものと適当な初期値を代入して、連立方程式の仮の答えを一旦求めてしまう」
そして
2:「その答えがどれくらい間違っているか、という誤差を計算する」
3:「変数をどのように変更すれば誤差を下げることが出来るか、を計算し、変数を修正する」
という計算を行い、2と3を何万回と繰り返す事で変数をチューニングしてきます。
この繰り返しで変数が最適な状態になると、連立方程式は答えを導出出来る形になっている為、分類に成功する、という寸法です。
もうちょっと詳細に踏み込むと、誤差を計算する式は、偏微分をする事で求めます。また、変数をどう変更すれば誤差が下がるか、という計算には勾配降下法という手法を使います。
これ以上詳しい話になると多分数式が要るので、気になる方は「ディープラーニングの数学」を読んでみてください。高校数学の知識を仮定していないので、中学数学までがわかっているなら知識としては読めると思います。(計算や数式に慣れていても後半超きついですが)
補足しておくと、「正解っぽいけど正解ではないポイント」の近くに初期値を設定してしまうとそこを正解と誤認してしまう、という問題など、様々な問題があるため実際にはこんなにシンプルには行かないそうです。

ディープラーニングについて最後に語ろうかなと思ったものの、「なぜそうすると上手くいくのか」「機械学習との対比において、ディープラーニングとはズバリなんなのか」をビシッと言えるほど理解していないので、とりあえずこの辺しておきます。