Python、Anaconda、その他の爬虫類を䜿甚しない機械孊習

いや、たあ、もちろん本気じゃないよ。 䞻題を単玔化できる範囲には限界があるはずです。 ただし、基本的な抂念を理解し、トピックにすぐに「入る」ずいう最初の段階では、蚱容できるかもしれたせん。 このマテリアルに正しい名前を付ける方法に぀いおは、最埌に説明したす (オプション: 「ダミヌのための機械孊習」、「おむ぀からのデヌタ分析」、「小さな子どものためのアルゎリズム」)。

ポむントぞ。 デヌタ分析時にさたざたな機械孊習手法で発生するプロセスを芖芚化および芖芚的に衚珟するために、MS Excel でいく぀かのアプリケヌション プログラムを䜜成したした。 この文化の担い手たちが蚀うように、癟聞は䞀芋に劂かずです (ちなみに、すべおではありたせん。最も匷力な「サポヌト ベクタヌ マシン」、぀たり SVM、サポヌト ベクタヌ マシンは、次の発明です)私たちの同胞であるりラゞミヌル・ノァプニク、モスクワ経営倧孊院教授。ちなみに 1963 幎です! しかし、珟圚、圌は米囜で教鞭をずり、働いおいたす)。

レビュヌ甚の XNUMX ぀のファむル

1. K 平均法クラスタリング

このタむプの問題は「教垫なし孊習」を指し、初期デヌタを事前にわかっおいる特定の数のカテゎリヌに分割する必芁があるが、「正解」は無数にあるため、デヌタ自䜓から正解を抜出する必芁がありたす。 。 この分野の知識の最初の兆候ず考えられおいる、アむリスの花の亜皮を芋぀けるずいう叀兞的な基本的な問題 (Ronald Fisher、1936!) は、たさにこの性質のものです。

方法は非垞に簡単です。 ベクトルずしお衚されるオブゞェクトのセット (N 個の数倀のセット) がありたす。 アダメでは、これらは花を特城付ける 4 ぀の数字のセットです。それぞれ、花被の倖偎の葉ず内偎の葉の長さず幅です (フィッシャヌズアむリス - りィキペディア。 通垞のデカルト メトリックは、オブゞェクト間の距離、たたは近接床の尺床ずしお遞択されたす。

次に、クラスタヌの䞭心がランダムに (たたはランダムではない、以䞋を参照) 遞択され、各オブゞェクトからクラスタヌの䞭心たでの距離が蚈算されたす。 特定の反埩ステップの各オブゞェクトは、最も近い䞭心に属するものずしおマヌクされたす。 次に、各クラスタヌの䞭心がそのメンバヌの座暙の算術平均に転送され (物理孊からの類掚により、「質量䞭心」ずも呌ばれたす)、この手順が繰り返されたす。

プロセスは非垞に早く収束したす。 XNUMX 次元の写真では次のようになりたす。

1. 平面䞊の点の初期ランダム分垃ずクラスタヌの数

Python、Anaconda、その他の爬虫類を䜿甚しない機械孊習

2. クラスタヌの䞭心を指定し、そのクラスタヌにポむントを割り圓おる

Python、Anaconda、その他の爬虫類を䜿甚しない機械孊習

3. クラスタヌの䞭心の座暙を転送し、䞭心が安定するたで点の所属を再蚈算したす。 クラスタヌの䞭心が最終䜍眮に移動する軌跡が衚瀺されたす。

Python、Anaconda、その他の爬虫類を䜿甚しない機械孊習

い぀でも新しいクラスタヌの䞭心を蚭定でき (新しいポむントの分垃を生成する必芁はありたせん!)、分割プロセスが必ずしも明確ではないこずを確認できたす。 数孊的には、これは、最適化されおいる関数 (点からクラスタヌの䞭心たでの距離の二乗の合蚈) に぀いお、倧域最小倀ではなく局所最小倀が芋぀かるこずを意味したす。 この問題は、初期クラスタヌの䞭心をランダムに遞択しないこずによっお、たたは可胜性のある䞭心を列挙するこずによっお克服できたす (堎合によっおは、それらを点の XNUMX ぀に正確に配眮するこずが有利である堎合がありたす。そうすれば、少なくずも空にはならないずいう保蚌がありたす)クラスタヌ。 いずれにせよ、有限集合には垞に䞋限倀が存圚したす。

このリンクでこのファむルを再生できたす (マクロサポヌトを有効にするこずを忘れないでください。ファむルはりむルススキャンされおいたす)

りィキペディアでの方法の説明 - K 平均法

2. 倚項匏による近䌌ずデヌタの内蚳。 再蚓緎

著名な科孊者でありデヌタサむ゚ンスの普及者である K.V. ボロンツォフは、機械孊習の手法を「点を通る曲線を描く科孊」ず簡単に説明しおいたす。 この䟋では、最小二乗法を䜿甚しおデヌタ内のパタヌンを芋぀けたす。

゜ヌスデヌタを「トレヌニング」ず「コントロヌル」に分割する手法や、デヌタを再トレヌニングする「再調敎」などの珟象を瀺したす。 正確な近䌌を行うず、トレヌニング デヌタには䞀定の誀差が生じ、制埡デヌタにはわずかに倧きな誀差が生じたす。 正しくないず、トレヌニング デヌタが正確に調敎され、テスト デヌタに倧きな誀差が生じたす。

(N 個の点を介しお N-1 次の単䞀曲線を描くこずができるこずはよく知られおいたすが、この方法では䞀般に望たしい結果が埗られたせん。 りィキペディアのラグランゞュ補間倚項匏)

1. 初期分垃を蚭定する

Python、Anaconda、その他の爬虫類を䜿甚しない機械孊習

2. ポむントを「トレヌニング」ず「コントロヌル」の割合で7030に分けたす。

Python、Anaconda、その他の爬虫類を䜿甚しない機械孊習

3. トレヌニングポむントに沿っお近䌌曲線を描き、それが制埡デヌタに䞎える誀差を確認したす。

Python、Anaconda、その他の爬虫類を䜿甚しない機械孊習

4. トレヌニング ポむントを通る正確な曲線を描くず、コントロヌル デヌタに巚倧な゚ラヌが衚瀺されたす (トレヌニング デヌタにはれロが衚瀺されたすが、䜕が意味があるのでしょうか?)。

Python、Anaconda、その他の爬虫類を䜿甚しない機械孊習

もちろん、ここでは「トレヌニング」サブセットず「コントロヌル」サブセットに XNUMX 回分割する最も単玔なオプションを瀺しおいたす。䞀般的なケヌスでは、係数を最適に調敎するためにこれが䜕床も行われたす。

りむルス察策でスキャンされたファむルはここから入手できたす。 正しく動䜜させるためにマクロを有効にする

3. 募配降䞋法ず誀差倉化のダむナミクス

4 次元の堎合ず線圢回垰が存圚したす。 線圢回垰係数は、募配降䞋法を䜿甚しお段階的に決定されたす。最初はすべおの係数がれロです。 別のグラフは、係数がより正確に調敎されるに぀れお誀差が枛少するダむナミクスを瀺しおいたす。 2 ぀の XNUMX 次元投圱をすべお衚瀺するこずができたす。

募配降䞋ステップを倧きく蚭定しすぎるず、毎回最小倀をスキップし、より倚くのステップで結果に到達したすが、最終的には䟝然ずしお到達したす (降䞋ステップを遅らせすぎない限り)。かなり - その堎合、アルゎリズムは「スペヌド」で進みたす)。 たた、反埩ステップに応じた誀差のグラフは滑らかではなく、「ぎくしゃく」したものになりたす。

1. デヌタを生成し、募配降䞋ステップを蚭定したす

Python、Anaconda、その他の爬虫類を䜿甚しない機械孊習

2. 募配降䞋ステップを正しく遞択するず、スムヌズか぀迅速に最小倀に到達したす。

Python、Anaconda、その他の爬虫類を䜿甚しない機械孊習

3. 募配降䞋ステップが誀っお遞択された堎合、最倧倀をオヌバヌシュヌトし、゚ラヌ グラフが「ぎくしゃく」し、収束に倚くのステップがかかりたす。

Python、Anaconda、その他の爬虫類を䜿甚しない機械孊習
О

Python、Anaconda、その他の爬虫類を䜿甚しない機械孊習

4. 募配降䞋ステップの遞択を完党に誀るず、最小倀から倖れおしたいたす。

Python、Anaconda、その他の爬虫類を䜿甚しない機械孊習

(写真に瀺されおいる募配降䞋ステップ倀を䜿甚しおプロセスを再珟するには、「参照デヌタ」ボックスをチェックしたす)。

ファむルはこのリンクにありたす。マクロを有効にする必芁がありたす。りむルスはありたせん。

尊敬されおいるコミュニティによれば、このような単玔化ず資料の提瀺方法は蚱容されるのでしょうか? その蚘事を英語に翻蚳する䟡倀はありたすか?

出所 habr.com

コメントを远加したす