短い機械孊習コヌス、たたはスコアリングの問題を解決するためのニュヌラルネットワヌクの䜜成方法

画像



「機械孊習」、「神経回路網」などの蚀葉の構造をよく耳にしたす。 これらの衚珟はすでに䞀般の人々の意識に入り、ほずんどの堎合、パタヌンず音声認識、人間のようなテキストの生成に関連付けられおいたす。 実際、機械孊習アルゎリズムは、䞭小䌁業やオンラむン出版物など、さたざたな皮類のタスクを解決できたす。 この蚘事では、スコアリングモデルの䜜成ずいう実際のビゞネス䞊の問題を解決できるニュヌラルネットワヌクの䜜成方法を説明したす。 デヌタの準備からモデルの䜜成ずその品質の評䟡たで、すべおの段階を考慮したす。



蚘事で説明されおいる質問



•モデルを構築するためのデヌタを収集および準備する方法。

•ニュヌラルネットワヌクずは䜕ですか。

•ニュヌラルネットワヌクをれロから蚘述する方法

•利甚可胜なデヌタでニュヌラルネットワヌクを適切にトレヌニングする方法

•モデルずその結果の解釈方法は

•モデルの品質を正しく評䟡する方法は



「コンピュヌタヌが考えるこずができるかどうかずいう問題は、もはや興味深いものではありたせん。

朜氎艊が航行できるかどうかずいう質問よりも。」

゚ドガヌ・りィヌベ・ダむクストラ


倚くの䌁業では、セヌルスマネヌゞャヌが朜圚的な顧客ず通信し、デモを行い、補品に぀いお話したす。 圌らは、いわば、おそらく偶然に手に萜ちた人々によっお、100回目の魂をばらばらに匕き裂かれたす。 倚くの堎合、顧客は必芁なもの、たたは補品が提䟛できるものを完党に理解しおいたせん。 そのようなクラむアントずのコミュニケヌションは、喜びも利益ももたらしたせん。 そしお、最も䞍愉快なこずは、時間制限のために、本圓に重芁なクラむアントに十分な泚意を払っお取匕を逃すこずができないずいうこずです。



私は9月の分析サヌビスSerpstatの数孊者プログラマヌです。 最近、既存のスコアリングモデルず䜜業スコアリングモデルを改善し、販売の成功に圱響する芁因を再評䟡するずいう興味深いタスクを取埗したした。 埗点はお客様の調査に基づいお考慮され、各項目は質問ぞの回答に応じお、合蚈埗点に䞀定のポむントを䞎えたした。 異なる質問に察するこれらすべおのポむントは、統蚈的仮説に基づいお配眮されたした。 スコアリングモデルが䜿甚され、時間が経過し、デヌタが収集され、ある日圌らが私のずころに来たした。 これで十分なサンプルが埗られたので、機械孊習アルゎリズムを䜿甚しお安党に仮説を立おるこずができたした。



スコアリングモデルの䜜成方法を説明したす。 これは、実際のビゞネスで発生したすべおの困難ず制限を䌎う、実際のデヌタを䜿甚した実際のケヌスです。 だから、たず最初に。



䜜業のすべおの段階で詳しく説明したす。



▞デヌタ収集

▞前凊理

modelモデルの構築

▞品質分析ずモデルの解釈



デバむス、ニュヌラルネットワヌクの䜜成ずトレヌニングを怜蚎しおください。 このすべおを説明し、実際のスコアリングの問題を解決し、垞に新しい理論を䟋で補匷しおいたす。



デヌタ収集



最初に、将来のモデルでクラむアントたたはオブゞェクトを衚す問題を理解する必芁がありたす。 さらなるプロセスがそれに基づいお構築されおいるため、タスクに真剣に取り組みたす。 たず、オブゞェクトを説明する重芁な機胜を芋逃しおはなりたせん。次に、機胜を決定するための厳栌な基準を䜜成したす。 経隓に基づいお、3぀のカテゎリの質問を区別できたす。



  1. ブヌル2぀のカテゎリ、その答えはYesたたはNo1たたは0です。 たずえば、質問ぞの答えクラむアントはアカりントを持っおいたすか
  2. カテゎリヌ、特定のクラスに察する答え。 通垞、3぀以䞊のクラスマルチカテゎリがありたす。それ以倖の堎合は、質問をブヌルに枛らすこずができたす。 たずえば、色赀、緑、青。
  3. 量的、特定の指暙を特城付ける数字である答え。 たずえば、月あたりのヒット数15。


なぜこのように詳现にこだわるのですか 通垞、機械孊習アルゎリズムによっお解決される叀兞的な問題を考えるずき、数倀デヌタのみを扱いたす。 たずえば、20 x 20ピクセルの画像からの癜黒の手曞き数字の認識。 この䟋では、400個の数字黒ず癜のピクセルの明るさを衚すがサンプルの1぀の䟋を衚したす。 䞀般に、デヌタは数倀である必芁はありたせん。 実際、モデルを構築する際には、アルゎリズムが凊理できる質問の皮類を理解する必芁がありたす。 たずえば、すべおの皮類の質問に぀いお決定朚が蚓緎され、ニュヌラルネットワヌクは数倀入力デヌタのみを受け入れ、定量的属性に぀いおのみ蚓緎されたす。 これは、より良いモデルのためにいく぀かの問題を攟棄する必芁があるずいうこずですか デヌタを正しく準備するだけで十分です。



デヌタは次の叀兞的な構造を持぀必芁がありたす。各i番目のクラむアントの特城ベクトルX i = {x i 1 、x i 2 、...、x i n }およびクラスY i -圌がそれを買ったかどうかを瀺すカテゎリ。 䟋customer 3 = {green、bitter、4.14、yes}-買いたした。



前述に基づいお、さらに準備するための質問のタむプを含むデヌタ圢匏を提瀺しようずしたす。

クラス

カテゎリヌ

色

カテゎリヌ

味

カテゎリヌ

重さ

数

固䜓

ブヌル

- èµ€ 酞っぱい 4.23 はい
- 緑色 苊い 3.15 いや
+ 緑色 苊い 4.14 はい
+ 青 甘い 4.38 いや
- 緑色 塩蟛い 3.62 いや


è¡š1-前凊理前のトレヌニングサンプルデヌタの䟋



前凊理



デヌタを収集したら、それらを準備する必芁がありたす。 このステップは前凊理ず呌ばれたす。 前凊理の䞻なタスクは、モデルのトレヌニングに適した圢匏でデヌタを衚瀺するこずです。 前凊理段階では、3぀の䞻芁なデヌタ操䜜がありたす。



  1. トレヌニングサンプルの䟋が存圚する暙識のベクトル空間の䜜成。 本質的に、これはすべおのデヌタを数倀圢匏に倉換するプロセスです。 これにより、カテゎリ型、ブヌル型、およびその他の非数倀型から私たちを救いたす。
  2. デヌタの正芏化。 たずえば、すべおのデヌタにわたる各特城の平均倀がれロであり、分散が単䜍であるずいうこずを達成するプロセス。 デヌタの正芏化の最も兞型的な䟋を次に瀺したす。X =X-Ό/σ

    正芏化関数
    def normalize(X): return (XX.mean())/X.std()
          
          



  3. ベクトル空間の次元を倉曎したす。 フィヌチャのベクトル空間が倧きすぎる数癟䞇のフィヌチャたたは小さすぎる1ダヌス未満堎合、スペヌスの次元を増枛する方法を適甚できたす。

    • 次元を増やすには、特城ベクトルのこれらのポむントに距離を远加するこずにより、トレヌニングセットの䞀郚を参照ポむントずしお䜿甚できたす。 この方法は、高次元集合の空間では線圢分離可胜になるずいう事実に぀ながるこずが倚く、これにより分類問題が簡玠化されたす。
    • 次元を䞋げるために、PCAが最もよく䜿甚されたす。 䞻成分法の䞻なタスクは、トレヌニングサンプルの芁玠の投圱倀の分散が最倧化される特城の新しい線圢結合を怜玢するこずです。


ベクトル空間を構築する䞊で最も重芁なトリックの1぀は、カテゎリ型およびブヌル型の数の圢匏で衚珟する方法です。 䌚う ワンホット ロシア統䞀コヌド。 このような゚ンコヌディングの䞻なアむデアは、カテゎリ属性を、可胜なカテゎリの数に察応する次元を持぀ベクトル空間のベクトルずしお提瀺するこずです。 この堎合、このカテゎリの座暙の倀はナニットごずに取埗され、他のすべおの座暙はリセットされたす。 ブヌル倀を䜿甚するず、すべおが非垞に単玔になり、実際の単䜍たたはれロに倉わりたす。



たずえば、サンプル項目は、苊い、甘い、塩蟛い、酞っぱい、たたはうた味肉のいずれかです。 ワンホット゚ンコヌドは次のようになりたすbitter =1、0、0、0、0、sweet =0、1、0、0、0、salty =0、0、1、0、0、サワヌ=0、0、0、0、1、0、マむンド=0、0、0、0、0、1。 なぜ4぀のフレヌバヌではなく5぀のフレヌバヌがあるのか​​疑問がある堎合は、味芚感芚システムに関するこの蚘事を読んでください 。しかし、これはスコアリングずは関係ありたせん。4぀を䜿甚しお、叀い分類に限定したす。



これで、カテゎリフィヌチャを通垞の数倀ベクトルに倉換する方法を孊びたした。これは非垞に䟿利です。 デヌタのすべおの操䜜が完了したら、どのモデルにも適したトレヌニングサンプルを取埗したす。 私たちの堎合、ナニタリ゚ンコヌディングず正芏化を適甚するず、デヌタは次のようになりたす。

クラス 赀 緑 青 苊い 甘い サルティ 酞っぱい 重さ 固䜓
0 1 0 0 0 0 0 1 0.23 1
0 0 1 0 1 0 0 0 -0.85 0
1 0 1 0 1 0 0 0 0.14 1
1 0 0 1 0 1 0 0 0.38 0
0 0 1 0 0 0 1 0 -0.48 0


è¡š2-前凊理埌のトレヌニングサンプルデヌタの䟋



前凊理ずは、人間にずっおはあたり䟿利ではないが機械が奜む圢匏で理解できるデヌタを衚瀺するプロセスであるず蚀えたす。



ほずんどの堎合、スコアリング匏は次の線圢モデルです。



画像



ここで、kは質問衚の質問番号、w kは合蚈スコアリングのこのk番目の質問に察する回答の寄䞎係数です| w | -質問たたは係数の数、x k-この質問に察する答え。 さらに、質問は、ブヌルyesたたはno、1たたは0、数倀たずえば、身長= 175、たたはカテゎリカルですが、ナニタリヌ゚ンコヌディングの圢匏リストから緑赀、緑、たたは青で蚘述できたす。 = [0、1、0]。 さらに、カテゎリ型の質問は、回答オプションのカテゎリず同じ数のブヌル型の質問に分類されるず仮定できたすたずえば、クラむアントの赀クラむアントの緑クラむアントの青。



モデル遞択



今最も重芁なこずモデルの遞択。 珟圚、スコアリングモデルを構築できる機械孊習アルゎリズムには、ディシゞョンツリヌ決定朚、KNNk最近傍法、SVMサポヌトベクトル法、NNニュヌラルネットワヌクがありたす。 そしお、モデルの遞択は、私たちがそれから望むものに基づいおいるべきです。 たず、モデルの結果に圱響を䞎えた決定がどれだけ明確である必芁がありたす。 ぀たり、モデルの構造を解釈できるこずがどれほど重芁かずいうこずです。



画像

図 1-機械孊習アルゎリズムの柔軟性ず結果のモデルの解釈可胜性の䟝存性



さらに、すべおのモデルが簡単に構築できるわけではなく、䞀郚のモデルには非垞に具䜓的なスキルず非垞に匷力なハヌドりェアが必芁です。 しかし、最も重芁なこずは、構築されたモデルの実装です。 ビゞネスプロセスが既に確立されおおり、耇雑なモデルを導入するこずはたったく䞍可胜です。 たたは、クラむアントが質問に回答するずきに、回答オプションに応じおプラスたたはマむナスのポむントを受け取る線圢モデルが必芁です。 堎合によっおは、逆に実装の可胜性があり、入力パラメヌタヌの非垞に明癜でない組み合わせを考慮に入れた耇雑なモデルでさえ、それらの間の盞互接続を芋぀けたす。 それで、䜕を遞ぶべきですか



機械孊習アルゎリズムを遞択する際に、ニュヌラルネットワヌクに決めたした。 なんで たず、TensorFlow、Theanoなどの倚くのクヌルなフレヌムワヌクがありたす。 それらは、アヌキテクチャず孊習パラメヌタを非垞に深く真剣にカスタマむズする機䌚を提䟛したす。 第二に、モデルデバむスを、偶然にも十分に解釈される単局ニュヌラルネットワヌクから、数行のコヌドを倉曎するだけで、非線圢の䟝存関係を芋぀ける優れた胜力を持぀倚局ネットワヌクに倉曎する機胜。 さらに、蚓緎された単局ニュヌラルネットワヌクは、さたざたなアンケヌトの質問ぞの回答のポむントを加算する叀兞的な加法スコアリングモデルに倉えるこずができたすが、それに぀いおは埌で詳しく説明したす。



今少し理論。 ニュヌロン、掻性化関数、損倱関数、募配降䞋、゚ラヌバック䌝播法などがネむティブワヌドである堎合は、このすべおを安党にスキップできたす。 そうでない堎合は、短期間の人工ニュヌラルネットワヌクぞようこそ。



人工ニュヌラルネットワヌクの短期コヌス



たず、人工ニュヌラルネットワヌクANNは、実際の生物孊的ニュヌラルネットワヌクANNの組織の数孊モデルです。 しかし、BNSの数孊モデルずは異なり、ANNは、掻動電䜍PDの「燃焌」の説明、神経䌝達物質、むオンチャネル、二次䞭間䜓、茞送タンパク質などのすべおの化孊的および物理的プロセスの正確な説明を必芁ずしたせん。実際のBNSの䜜業は、物理レベルではなく、機胜レベルでのみです。



ニュヌラルネットワヌクの基本芁玠はニュヌロンです。 ニュヌロンの最も単玔な機胜的な数孊モデルを䜜成しおみたしょう。 これを行うために、䞀般的な甚語で生物孊的ニュヌロンの機胜を説明したす。



画像

図 2-生䜓ニュヌロンの兞型的な構造



ご芧のずおり、生䜓ニュヌロンの構造は、暹状突起、ニュヌロンの本䜓、および軞玢に単玔化できたす。 暹状突起は、ニュヌロンぞの入り口から情報を収集する分岐プロセスですこれは、受容䜓からの倖郚情報、たずえば色の堎合は錐䜓から、たたは別のニュヌロンからの内郚情報。 着信情報がニュヌロンを掻性化した堎合生物孊的な堎合、電䜍が特定のしきい倀よりも高くなった、励起波APが生成され、ニュヌロンの䜓の膜を䌝播し、神経䌝達物質の攟出を介しお軞玢を介しお他の神経现胞に信号を送信したす现胞たたは組織。



これに基づいお、りォヌレンマッカロックずりォルタヌピッツは1943幎に数孊的ニュヌロンモデルを提案したした。 そしお、1958幎、マッカロックピッツニュヌロンに基づいたフランクロヌれンブラットがコンピュヌタヌプログラムを䜜成し、次に物理デバむス-パヌセプトロンを䜜成したした。 これから、人工ニュヌラルネットワヌクの歎史が始たりたした。 次に、ニュヌロンの構造モデルに぀いお考えおみたしょう。これに぀いおは、さらに察凊したす。



画像

図 3-McCallock-Pitts数孊ニュヌロンモデル



どこで



  1. Xは入力パラメヌタヌベクトルです。 ニュヌロンの入力になった数字のベクトル列biol。さたざたな受容䜓の掻性化の皋床。

    Wは、重みのベクトル䞀般的な堎合、重みの行列、孊習プロセス䞭に倉化する数倀biol。シナプス可塑性に基づくトレヌニング、ニュヌロンはその受容䜓からの信号に正しく応答するこずを孊習したす。
  2. 加算噚は、察応する重みで乗算されたすべおの入力パラメヌタヌを加算するニュヌロンの機胜ブロックです。
  3. ニュヌロンの掻性化の機胜は、加算噚からの倀に察するニュヌロンの出力の倀の䟝存関係です。
  4. 次のニュヌロン。特定のニュヌロンの出力からの倀が、独自の入力セットの1぀に䟛絊されたすこのニュヌロンが最埌のタヌミナルである堎合、この局は存圚しない堎合がありたす。


数孊的ニュヌロンの実装
 import numpy as np def neuron(x, w): z = np.dot(w, x) output = activation(z) return output
      
      





次に、これらの最小構造単䜍から、叀兞的な人工ニュヌラルネットワヌクが組み立おられたす。 次の甚語が採甚されたした。





画像

図 4-入力受容䜓、出力、クラス意思決定者、および連想非衚瀺局を備えた叀兞的なニュヌラルネットワヌクトポロゞ



隠された連想局の存圚により、人工ニュヌラルネットワヌクは耇雑な䟝存関係の発芋に基づいお仮説を立おるこずができたす。 たずえば、画像を認識する畳み蟌みニュヌラルネットワヌクの堎合、画像ピクセルの茝床は入力局に送信され、出力局には特定のクラス人間、機械、暹朚、家などを担圓するニュヌロンが含たれたす。隠れ局の「受容䜓」は、さたざたな傟斜角の盎線から興奮し、角床、正方圢、円、原始パタヌンに反応するニュヌロンを「特化」特化し始めたす。 nt。 出力局の近くには、たずえば目、車茪、錻、翌、葉、顔などに反応するニュヌロンがありたす。



画像

図 5-畳み蟌みニュヌラルネットワヌクの孊習プロセスにおける階局的な関連付けの圢成



生物孊的アナロゞヌを匕き出しお、スピヌチモデルに関する泚目すべき神経生理孊者Vyacheslav Albertovich Dubyninの蚀葉を参照したいず思いたす。

「私たちの脳は、䞋䜍レベルの単語を芁玄する単語を䜜成、生成できたす。 バニヌ、ボヌル、キュヌブ、人圢-おもちゃ、 おもちゃ、服、家具はオブゞェクトです。 オブゞェクト、家、人は環境のオブゞェクトです。 そしおもう少し、私たちは抜象的な哲孊的抂念、数孊的、物理的抂念に到達したす。 ぀たり、音声の䞀般化は、連合性頭頂皮質の非垞に重芁な特性であり、さらに、マルチレベルであり、倖郚䞖界党䜓の音声モデルを圢䜜るこずができたす。 ある時点で、神経むンパルスはこの音声モデルに沿っお非垞に掻発に動くこずができ、この動きを誇りに思う蚀葉「思考」ず呌びたす。


たくさんの理論 しかし、良いニュヌスがありたす。最も単玔な堎合、ニュヌラルネットワヌク党䜓を単䞀のニュヌロンで衚すこずができたす。 さらに、特にこれらのクラスのオブゞェクトが線圢に分離可胜な空間内のオブゞェクトのクラスを認識するこずになるず、1぀のニュヌロンでさえタスクに察凊するこずがよくありたす。 倚くの堎合、線圢の分離可胜性は、䞊蚘のように空間の次元を倧きくするこずで実珟でき、1぀のニュヌロンに限定されたす。 ただし、ニュヌラルネットワヌクにいく぀かの隠れ局を远加する方が簡単な堎合があり、サンプルからの線圢分離性は必芁ありたせん。



画像

図 6-線圢に分離可胜なセットず線圢に分離できないセット



それでは、このすべおを正匏に説明したしょう。 ニュヌロンの入力には、パラメヌタヌのベクトルがありたす。 私たちの堎合、これらは数倀圢匏X i = {x i 1 、x i 2 、...、x i n }で衚されるクラむアント調査の結果です。 さらに、各クラむアントはY i -リヌドの成功を特城付けるクラス1たたは0に関連付けられおいたす。 実際、ニュヌラルネットワヌクは、次元が特城の数に察応するベクトル空間で最適な分離超曲面を芋぀けなければなりたせん。 この堎合、ニュヌラルネットワヌクのトレヌニングは、クラスを担圓するニュヌロンが顧客が賌入する堎合に1に近い倀を生成し、そうでない堎合はれロに近い倀を生成する重み行列Wの倀係数を芋぀けるこずです。



画像



匏からわかるように、ニュヌロンの仕事の結果は、入力パラメヌタヌず孊習プロセスで求められた係数の積の合蚈からの掻性化関数倚くの堎合で瀺されるです。 アクティベヌション機胜ずは䜕かを芋おみたしょう。



任意の実数倀がニュヌラルネットワヌクの入力になり、重み行列の係数も任意になる可胜性があるため、それらの積の合蚈の結果は負から正の無限倧たでの任意の実数になりたす。 トレヌニングセットの各芁玠には、このニュヌロンに関連するクラス倀0たたは1がありたす。 0から1たでの同じ範囲のニュヌロンから倀を取埗し、その倀が近い堎所に応じおクラスを決定するこずをお勧めしたす。 この倀を、芁玠がこのクラスに属する確率ずしお解釈するのがさらに良いです。 したがっお、実数のセットの芁玠を0から1の領域にマッピングするような単調で滑らかな関数が必芁です。 いわゆるシグモむドはこの䜍眮に最適です。



画像

図 7-シグモむドクラスの最も叀兞的な代衚の1぀であるロゞスティックカヌブのグラフ



アクティベヌション機胜
 def activation(z): return 1/(1+np.exp(-z))
      
      





ずころで、実際の生䜓ニュヌロンでは、このような連続的な掻性化機胜は実珟されおいたせん。 私たちの现胞には、平均-70mVの静止電䜍がありたす。 ニュヌロンに情報が䟛絊されるず、掻性化された受容䜓はそれず結合したむオンチャネルを開き、现胞内の電䜍の増加たたは枛少に぀ながりたす。 受容䜓の掻性化にかかる反力ず、トレヌニング䞭に埗られた重み行列の1぀の係数ずの間に類䌌性を描くこずができたす。 電䜍が-50mVの倀に達するずすぐにPDが発生し、興奮波は軞玢に沿っおシナプス前端に到達し、神経䌝達物質をシナプス間環境に投げ蟌みたす。 ぀たり、実際の生物孊的掻性化は滑らかではなく段階的です。ニュヌロンは掻性化されるかされたせん。 これは、モデルの構築においお数孊的に自由であるこずを瀺しおいたす。 自然から分散コンピュヌティングず孊習の基本原理を取り入れお、任意の特性を持぀芁玠で構成される蚈算グラフを構築できたす。 この䟋では、ニュヌロンから離散倀ではなく連続倀を受け取りたす。 䞀般的な堎合、アクティベヌション機胜は異なる堎合がありたす。



䞊蚘から孊習する最も重芁なこずは次のずおりです。 「ニュヌラルネットワヌクトレヌニングシナプストレヌニングは、゚ラヌを最小化するために重み行列の係数の最適な遞択に枛らす必芁がありたす。」クラス。



ニュヌラルネットワヌクの䜜業の結果は、通垞、仮説英語の仮説ず呌ばれたす。 hXで衚し、オブゞェクトの入力フィヌチャパラメヌタヌに察する仮説の䟝存性を瀺したす。 なぜ仮説なのか これは歎史的に事実です。 個人的には、私はこの甚語が奜きです。 その結果、ニュヌラルネットワヌクの仮説を珟実オブゞェクトの実際のクラスに可胜な限り察応させたいず考えおいたす。 実際、ここでは経隓から孊ぶずいう䞻芁なアむデアが生たれたす。 ここで、ニュヌラルネットワヌクの品質を衚す尺床が必芁です。 この機胜は、通垞「損倱機胜」ず呌ばれたす。 通垞、機胜はJWで瀺され、重み行列の係数ぞの䟝存性を瀺したす。 機胜性が䜎いほど、ニュヌラルネットワヌクがミスを犯す可胜性は䜎くなりたす。 この機胜を最小限に抑えるためにトレヌニングが行われたす。 重み行列の係数に応じお、ニュヌラルネットワヌクの粟床が異なる堎合がありたす。 孊習プロセスは損倱汎関数の超曲面に沿った動きであり、その目的はこの関数を最小化するこずです。



画像

図 8-損倱関数の極小倀ぞの募配降䞋ずしおの孊習プロセス



通垞、重み行列の係数はランダムに初期化されたす。 孊習プロセスでは、係数が倉化したす。 グラフは、近傍で初期化されたニュヌラルネットワヌクの重み行列の係数w 1およびw 2の倉化ずしお、2぀の異なる反埩孊習パスを瀺しおいたす。



次に、ニュヌラルネットワヌクのトレヌニング方法に぀いお説明したす。これには倚くのオプションがありたすが、2぀に぀いおお話したす。進化的遺䌝的アルゎリズムず募配降䞋法です。これらの方法の䞡方が䜿甚されたす。進化アルゎリズムは、自然selectionのモデリングに基づいた人工知胜の方向です。進化的教授法は非垞に理解しやすく、初心者にずっおはより良い方法です。珟圚では、䞻にニュヌラルネットワヌクの深局のトレヌニングに䜿甚されおいたす。募配降䞋法ず誀差の逆䌝播法はより耇雑ですが、最も効果的で䞀般的な教育方法の1぀です。



進化的孊習



この方法の枠組みでは、次の甚語を䜿甚したす重み行列の係数-ゲノム、1぀の係数-遺䌝子、損倱の「逆さたの損倱」関数-フィットネスランドスケヌプここでは、すでに局所最倧倀を探しおいたすが、これは単なる慣習です。この方法は本圓に簡単です。ニュヌラルネットワヌクのトポロゞデバむスを遞択したら、次のこずを行う必芁がありたす。



  1. -1〜1の範囲でランダムにゲノム重み行列を初期化したす。これを数回繰り返しお、異なるがランダムなニュヌラルネットワヌクの初期集団を䜜成したす。母集団のサむズは、P-母集団たたは芪によっお瀺されたす。

    重み行列の係数のランダム初期化
     import random def generate_population(p, w_size): population = [] for i in range(p): model = [] for j in range(w_size + 1): # +1 for b (bias term) model.append(2 * random.random() - 1) # random initialization from -1 to 1 for b and w population.append(model) return np.array(population)
          
          



  2. . , - , () . : , -0.1 0.1.

     def mutation(genom, t=0.5, m=0.1): mutant = [] for gen in genom: if random.random() <= t: gen += m*(2*random.random() -1) mutant.append(gen) return mutant
          
          



  3. , , ( — , — ). .

     def accuracy(X, Y, model): A = 0 m = len(Y) for i, y in enumerate(Y): A += (1/m)*(y*(1 if neuron(X[i], model) >= 0.5 else 0)+(1-y)*(0 if neuron(X[i], model) >= 0.5 else 1)) return A
          
          



  4. « » P . 2, . : 80%.

     def selection(offspring, population): offspring.sort() population = [kid[1] for kid in offspring[:len(population)]] return population
          
          





 def evolution(population, X_in, Y, number_of_generations, children): for i in range(number_of_generations): X = [[1]+[v.tolist()] for v in X_in] offspring = [] for genom in population: for j in range(children): child = mutation(genom) child_loss = 1 - accuracy(X_in, Y, child) # or child_loss = binary_crossentropy(X, Y, child) is better offspring.append([child_loss, child]) population = selection(offspring, population) return population
      
      





そのような神経進化は改善するこずができたす。たずえば、τは突然倉異誘発率、Όは突然倉異誘発の匷さなど、远加のパラメヌタヌ遺䌝子を導入できたす。これで、ニュヌロンの重みの行列に盞加的な突然倉異が確率τで導入され、遞択した範囲たずえば、-0.1から0.1のΌの各パラメヌタヌに乱数が远加されたす。これらの遺䌝子も倉動しやすいでしょう。



理想的には、遞択は進化のさたざたな段階で倉異誘発の匷床ず速床を制埡し、フィットネスランドスケヌプの局所的な最倧倀から飛び出すこずができるたでこれらのパラメヌタヌを増やすか、ゆっくりず急激なゞャンプなしにグロヌバルな最倧倀に移動するようにパラメヌタヌを枛らしたす。モデルに亀差点を远加するこずもできたす。これで、子孫は亀配によっお圢成され、2぀のランダムな芪からランダムに半分の遺䌝子を受け取りたす。このスキヌムでは、ゲノムにランダムな突然倉異の導入を残すこずも必芁です。



ここで、アレキサンダヌ・マルコフず゚レナ・ナむマルクの本から匕甚するのが適切だず思いたす

« — , — . , , — . , . , .»






次の資料を理解するのが難しい堎合は、埌で戻っおください。さらに、倚くの機械孊習ラむブラリにより、この方法を䜿甚しお、詳现に立ち入らずにトレヌニングを簡単に実装できたす。電卓を䜿甚しおルヌトを抜出するずき、通垞、圌がそれをどのように行うかに぀いおはほずんど関心がなく、取埗したいものを完党によく知っおおり、マシンに請求曞を枡したす。しかし、この方法に興味がある人のために、簡単に怜蚎したす。



たず、モデルの1぀の出力ニュヌロンは1぀のクラスのみを担圓したす。これがニュヌロンが担圓するクラスのオブゞェクトである堎合、出力でそれを確認したす。それ以倖の堎合はれロを確認したす。実際のクラス予枬では、すでにわかっおいるように、人工ニュヌロンは0〜1のオヌプン範囲でアクティブになり、倀はこれら2぀の挞近線に任意に近づけるこずができたす。これは、クラスをより正確に掚枬するほど、実際のクラスずこのクラスを担圓するニュヌロンの掻性化ずの間の絶察差が小さくなるこずを意味したす。



ペナルティの数倀を返す損倱関数を䜜成しおみたしょう。ニュヌラルネットワヌクがクラ​​ス倀に近い倀を生成する堎合は小さく、ニュヌラルネットワヌクがクラ​​スの誀った定矩に぀ながる倀を䞎える堎合は非垞に倧きくなりたす。



画像

図 9-ニュヌロンの出力の関数ずしおのペナルティ関数のグラフ1オブゞェクトがこのクラスに属する堎合1を期埅する、2オブゞェクトがこのクラスに属さない堎合れロを期埅する



ここで、損倱関数を匏ずしお蚘述したす。サむズmのトレヌニングサンプルの各i番目の芁玠のYは垞に0たたは1の倀を取るため、2぀の甚語のうち1぀だけが垞に匏に残るこずを思い出しおください。



画像



情報の理論に粟通しおいる人は、この衚珟でクロス゚ントロピヌを認識したす。情報理論の芳点から芋るず、孊習ずは、実際のクラスずモデル仮説の間の盞互゚ントロピヌを最小化するこずです。



損倱関数
 def binary_crossentropy(X, Y, model): # loss function J = 0 m = len(Y) for i, y in enumerate(Y): J += -(1/m)*(y*np.log(neuron(X[i], model))+(1.-y)*np.log(1.-neuron(X[i], model))) return J
      
      





重み行列の係数をランダムに初期化するこずで、モデルを改善する、぀たり損倱を枛らすために、それらに倉曎を加えたいず思いたす。どのくらいの重量が損倱関数に圱響するかがわかっおいる堎合、どれだけの重量を倉曎する必芁があるかがわかりたす。ここで、偏埮分-募配-が圹立ちたす。関数が匕数にどのように䟝存するかを瀺すのは圌女です。関数が1぀の極小倀だけ倉化するように、いく぀の極小量によっお匕数を倉曎する必芁があるか。したがっお、次のように重み行列を再初期化できたす。



画像



このステップを繰り返し繰り返したす。実際、これは、損倱関数の局所的最小倀たでの、αのサむズこのパラメヌタヌは孊習率ずも呌ばれたすの小さなステップでの緩やかな募配降䞋です。蚀い換えるず、Wの珟圚の倀によっお定矩される各ポむントで、損倱関数が最も速く倉化する方向を芋぀け、孊習のダむナミクスはボヌルが局所的な最小倀に埐々に転がるのに䌌おいたす。



募配降䞋
 def gradient_descent(model, X_in, Y, number_of_iteratons=500, learning_rate=0.1): X = [[1]+[v.tolist()] for v in X_in] m = len(Y) for it in range(number_of_iteratons): new_model = [] for j, w in enumerate(model): error = 0 for i, x in enumerate(X): error += (1/m) * (neuron(X[i], model) - Y[i]) * X[i][j] w_new = w - learning_rate * error new_model.append(w_new) model = new_model model_loss = binary_crossentropy(X, Y, model) return model
      
      





゚ラヌの逆䌝播法は、倚局ニュヌラルネットワヌクの堎合のこの掚論の連鎖を継続したす。圌のおかげで、募配降䞋に基づいお深い局を蚓緎するこずが可胜です。孊習は、最埌の局から最初の局たで段階的に行われたす。この情報は、この方法の本質を理解するのに十分だず思いたす。



ニュヌラルネットワヌクトレヌニングの䟋



1぀のパラメヌタヌ-幎霢に基づいお顧客の賌入の確率を知りたいずしたす。賌入の確率が50を超える堎合に興奮するニュヌロンを䜜成したす。



画像

図 10-賌入した人ず賌入しなかった人のトレヌニングサンプル



したがっお、ニュヌロンにはクラむアントの幎霢に関連する1぀の受容䜓がありたす。さらに、シフトたたはオフセットを担圓する1぀のバむアスメンバヌを远加したす。たずえば、これらのセットは線圢に分離できたせんが、おおよその境界、぀たり、最高の分離超曲面1次元の堎合-ポむントは、42歳でそれらの間に䜍眮したす。



ニュヌラルネットワヌクでは、42歳で0.5未満、高霢の顧客では0.5を超える賌入の確率を䞎える必芁がありたす。アクティベヌション関数を呌び出すず、正の匕数に察しお0.5より倧きい倀を返し、負の匕数に察しお0.5より小さい倀を返したす。そのため、このアクティベヌション関数をあるしきい倀にシフトする機胜が必芁です。同時に、特城ベクトルxの関数ずしおの各ニュヌロンの励起の皋床は重み行列の係数に䟝存し、したがっお、そのような特城ベクトルを持぀芁玠がこのクラスに属する確率に䟝存するため、トレヌニングサンプルに最適な掻性化関数のこのような砎壊率が予想されたす。



画像

図 11-クラむアントの幎霢に察するニュヌロンの予想される応答。結果の「確信床」はさたざたで、匕数の係数によっお調敎されたす。



これを数孊的に蚘述し、重みマトリックスにもう1぀のバむアス項が必芁な理由を理解したす。関数fxを䟋えば42だけ右にシフトするには、匕数fx-42から42を匕く必芁がありたす。同時に、䟋えば0.25を匕数に掛けお次の関数f0.25x-24を取埗するこずにより、関数の匱い倉曲を取埗したいず思いたす。括匧を開くず、次のようになりたす。



画像



この堎合、重み行列の望たしい係数はw = 0.25で、シフトはb = -10.5です。ただし、bが重み行列のれロ係数w 0 = bであるず仮定できたす。たずえば、れロ蚘号が垞に単䞀x 0= 1。次に、たずえば、x 15 = {x 15 0、x 15 1 } = [1、30]で衚される45歳の15番目の「ベクトル化された」顧客は、68の確率で賌入できたす。これらのすべおの係数は、このような単玔な䟋でも、「目で」把握するのは困難です。したがっお、実際には、機械孊習アルゎリズムに察するこれらのパラメヌタヌの怜玢を信頌しおいたす。この䟋では、重み行列の2぀の係数w 0 = bおよびw 1を探しおいたす。



画像

アニメヌション1-正芏化なしのデヌタの進化的孊習



重み行列の係数をランダムに初期化し、進化アルゎリズムを䜿甚するこずにより、100䞖代埌に蚓緎されたニュヌラルネットワヌクを埗たした。垌望する孊習成果をより速く、そのような急激なゞャンプなしで取埗するには、トレヌニングの前にデヌタを正芏化する必芁がありたす。



画像

アニメヌション2-正芏化デヌタの進化孊習



募配降䞋法は最も正確に機胜したす。この方法を䜿甚する堎合、デヌタは垞に正芏化する必芁がありたす。進化的アルゎリズムずは察照的に、募配降䞋法は「突然倉異」に関連するゞャンプを経隓したせんが、埐々に最適に移動したす。しかし、マむナスは、このアルゎリズムが極小倀にずどたり、それから抜け出せない、たたは募配が実質的に「消倱」しお孊習が停止する可胜性があるこずです。



画像

アニメヌション3-募配降䞋法に基づく孊習



賌入したクラスず賌入しおいないクラスのセットが線圢分離可胜である堎合、ニュヌロンはその決定により自信を持ち、その掻性化の皋床を倉曎するず、これらのセットの境界でより顕著な骚折が生じたす。



画像

アニメヌション4-線圢分離可胜セットの孊習



䞊蚘に基づいお、以䞋を含む蚈算グラフの圢匏の叀兞的なニュヌラルネットワヌクを想像できたす。





画像

図 12-叀兞的な人工ニュヌラルネットワヌクのグラフの蚈算 TensorFlow



ラむブラリのオンラむンサンドボックスの䟋をいく぀か考えおみたしょう。すべおの䟋で、オブゞェクトが平面䞊にある2぀のクラスを分離する必芁がありたす。入力レむダヌには、暪座暙ず瞊座暙に沿ったオブゞェクトの座暙に察応する倀を持぀2぀の「受容䜓」がありたすさらに1぀のバむアス、バむアスはアニメヌションに衚瀺されたせん。前述のように、線圢に分離可胜なセットでトレヌニングを行うには、出力ニュヌロンが1぀だけあれば十分です。隠れた連想的な局はありたせん。孊習は、逆䌝播法に基づいおいたす。アニメヌション5-1぀の出力ニュヌロンが分割線を芋぀ける



画像





タスクを耇雑にし、セットを分離しおみたしょう。最初の芁玠は䞡方の座暙で正たたは負の倀のみを持ち、2番目の芁玠は座暙の1぀の正ず1぀の負の倀を持ちたす。この䟋では、1぀の分割線を省くこずができないため、隠しレむダヌが必芁です。最小限から始めお、隠れ局に2぀のニュヌロンを远加しおみたしょう。



画像

アニメヌション6-2぀の連想ニュヌロンず2぀の分割線



ご芧のずおり、隠れ局の2぀のニュヌロンはこのタスクに察応しおいたすが、最良の方法ではありたせん。孊習プロセスでニュヌロンの特殊化分化がどのように発生するかに泚意しおください。次に、4぀のニュヌロンで構成される隠しレむダヌを䜜成したす。



画像

アニメヌション7-4぀の連想ニュヌロンず4぀の分割線



ニュヌラルネットワヌクはこれをうたく凊理したした。トレヌニングの実斜方法に泚意しおください。最初に、ニュヌラルネットワヌクは最も単玔な゜リュヌション-分割廊䞋を芋぀けたした。その埌、ニュヌロンの再専門化がありたした。珟圚では、各非衚瀺連想ニュヌロンがその狭いセグメントを担圓しおいたす。



かなり耇雑な問題-異なるスパむラルアヌムにある2぀のセットの芁玠の分離-を解決しおみたしょう。



画像

アニメヌション8-ボトルネックトポロゞを備えた倚局ニュヌラルネットワヌク



耇雑な問題を解決するには、倚くの隠れ局が必芁です。ニュヌラルネットワヌクは、最初の隠れ局から最埌の局たでニュヌロンの数が枛少するボトルネックトポロゞにうたく察応したす。連想ニュヌロンを特殊化するずきに生じる耇雑なパタヌンに泚意しおください。ディヌプニュヌラルネットワヌクの堎合、隠れニュヌロンにはReLU修正線圢ナニットアクティベヌション関数を䜿甚し、最埌の局には通垞のロゞスティックアクティベヌション理想的には゜フトマックスアクティベヌションを䜿甚するこずをお勧めしたす。



これで、人工神経回路網の超短期コヌスを終了し、知識を実践に移すこずができるず思いたす。あらゆるプログラミング蚀語で利甚できるようになった既補のラむブラリにモデルを構築し、この方向で理論的な知識を埐々に深めおいくこずをお勧めしたす。



モデルトレヌニング



トレヌニングサンプルず理論的知識の䞡方が埗られたら、モデルのトレヌニングを開始できたす。ただし、問題は、セットの芁玠が䞍均等な比率で衚瀺されるこずが倚いこずです。賌入者は5、非賌入者は95です。それではどうやっお蚓緎したすか結局のずころ、誰も賌入しないず䞻匵するこずで、95の信頌性を達成できたす。

おそらく、この堎合の粟床メトリックは異なり、トレヌニングも合理的である必芁がありたす。これにより、ニュヌラルネットワヌクが同じ明らかに間違った結論を出さないようにしたす。このために、異なるクラスの同数の芁玠を含むトレヌニング䟋でニュヌラルネットワヌクを「フィヌド」するこずを提案したす。



たずえば、サンプルが20,000個しかなく、そのうち1,000個が賌入しおいる堎合、各グルヌプから500個のサンプルをランダムに遞択し、トレヌニングに䜿甚できたす。そしお、この操䜜を䜕床も繰り返したす。これは孊習プロセスの実装を少し耇雑にしたすが、有胜なモデルを埗るのに圹立ちたす。



モデルずトレヌニングアルゎリズムを遞択したら、サンプルを郚分に分割するこずをお勧めしたす。党䜓の70を占めるトレヌニングサンプルでトレヌニングを行い、結果のモデルの品質を分析するために必芁なテストサンプルに30を寄付したす。



モデル品質評䟡



モデルを準備したら、その品質を適切に評䟡する必芁がありたす。 これを行うために、次の抂念を玹介したす。





パヌセント信頌性の盎接評䟡に加えお、䞊蚘のバむナリ分類結果に基づく粟床英語の粟床や完党性英語の再珟率などのメトリックがありたす。





図 13-異なるモデルの分類結果の比范



ご芧のずおり、ニュヌラルネットワヌクは、以前のスコアリングモデルず比范しお、第2皮の゚ラヌが3倍少なく、非垞に優れおいたす。確かに、朜圚的な顧客を逃すず、朜圚的な利益を逃したす。ここで、利甚可胜なデヌタに基づいおモデルの品質指暙を導き出したしょう。



信頌性指暙



最も単玔なメトリックは、粟床メトリックです。しかし、すでにわかっおいるように、このメトリックはモデルの唯䞀のメトリックではありたせん。特に、サンプルにバむアスがある堎合、぀たり、異なるクラスの代衚が異なる確率で出䌚う堎合。



画像



正確さず完党性



粟床は、クラスのオブゞェクトずしお定矩したすべおのオブゞェクトに察する、クラスの正しく掚枬されたオブゞェクトの比率を瀺したす。たずえば、115を賌入し、そのうち37を実際に賌入するこずにしたした。぀たり、粟床は0.33です。完党性英語のリコヌルは、クラスのすべおの代衚に察するクラスの正しく掚枬されたオブゞェクトの比率を瀺したす。たずえば、私たちの䞭で実際に賌入したのは37個で、賌入したのは43個だけだったため、フルネスは0.88です。



画像

図 14-゚ラヌ衚たたは混同マトリックス



Fメゞャヌ



FメゞャヌEng。F1スコアもありたす-高調波の粟床ず完党性の平均です。単䞀の数倀枬定を䜿甚しおモデルを比范するのに圹立ちたす。



画像



これらすべおのメトリックを䜿甚しお、モデルを評䟡したす。



画像

図 15-さたざたな統蚈指暙に基づいたモデルの品質の評䟡



図からわかるように、モデルの品質の最倧の偏りは完党性の指暙に正確にありたす英語のリコヌル。ニュヌラルネットワヌクは、朜圚的な顧客の88を掚枬し、わずか12を逃しおいたす。叀いスコアリングモデルでは、朜圚的な顧客の36を逃し、マネヌゞャヌには64しか枡されたせんでした。それが実際に、スコアリングに圱響を䞎えるさたざたな回答の重芁床の係数を遞択するようにニュヌラルネットワヌクを委任するほうがよい理由です。結局のずころ、マシンはメモリ党䜓にサンプル党䜓を保持し、その䞭のパタヌンを芋぀け、優れた予枬胜力を持぀モデルを構築するこずができたす。



モデルの解釈



既補のモデルがあれば、品質分析から埗られた粟床を期埅しお䜿甚できたす。耇雑な倚局モデルをプロセスに導入できる堎合、それは適切ですが、そうでない堎合は、単䞀局ニュヌラルネットワヌクから通垞のスコアリングモデルを取埗できたす。このため、私たちは圌女のフヌドを倧胆に調べるためにニュヌラルネットワヌクの構築に粟通しおいたす。



線圢モデルのスコアリング匏ず1぀のニュヌロンたたは単局ニュヌラルネットワヌクの関数を比范したす。



画像



アクティベヌション関数の匕数である匏は、線圢スコア匏ず同䞀であるこずがわかりたす。したがっお、単局ニュヌラルネットワヌクから重み行列の倀を「プル」するこずにより、それらをスコアリングモデル係数ずしお䜿甚できたす。珟圚のみ、これらの係数は、倧量のデヌタに基づいおアルゎリズムによっお慎重に遞択されたす。



次に、ニュヌラルネットワヌクの導入前埌の係数に基づいお線圢スコアリングの結果を比范したす。ロゞスティック掻性化関数が倀を䞎えるこずを思い出しおくださいニュヌラルネットワヌクの芳点から-賌入した人々のクラスに属する確率は、匕数の正の倀重み行列に基づくスコアで0.5を超えたす。ポむントをスケヌリングするために、ニュヌラルスコアリングの倀に100を掛けお、しきい倀ずしお500を远加したした。叀いスコアリングでは、しきい倀は手動で遞択され、合蚈で170になりたした。これらはすべお、モデル自䜓に圱響を䞎えない単なる線圢操䜜です。



画像

図 16-叀いスコアリングモデル内で賌入した赀および賌入しなかった青



顧客の分垃。分垃からわかるように、顧客はスコア倀の党範囲に広がりすぎおいたす。完党性賌入した顧客の総数のモデルによっお予枬される割合は64です。



画像

図 17-ニュヌラルスコアリングモデルのフレヌムワヌク内で賌入した赀および賌入しなかった青顧客の分垃。



分垃から、ニュヌラルネットワヌクが叀いモデルよりも賌入したナヌザヌず賌入しなかったナヌザヌを分離できたこずがわかりたす。ほずんどの堎合、賌入しなかった人はしきい倀未満の倀を受け取り、賌入した人は䞊蚘の倀を受け取りたした。完党性賌入した顧客の総数のモデルによっお予枬されるシェアは88です。



結果



問題を解決するために、関皎を倧量に賌入する人たちにできるだけ倚くの時間を費やしたかったのです。さらに、最も安いレヌトを賌入した顧客が合栌点を獲埗しないスコアリングモデルを䜜成したいず考えたした。



今回は、ニュヌラルネットワヌクをトレヌニングするために、サンプルを䞀定以䞊の金額で賌入した人のクラスず、䜎額で賌入したかたったく賌入しなかったクラスに分けたした。



画像

図 18-最終的なニュヌラルスコアリングモデル内での賌入枈み赀および未賌入青の顧客の分垃。



他のほが同等の粟床むンゞケヌタヌを䜿甚しお、ニュヌラルネットワヌクはより高い完党性を達成でき、高䟡な料金プランを賌入した人の87をカバヌできたした。比范のために叀いスコアリングは77しか管理しおいたせん。これは、将来的に重芁な朜圚顧客の10をカバヌできるこずを意味したす。同時に、埗点の高い関皎から高䟡な関皎を賌入した人の割合はほが同じです。ニュヌラルネットワヌクず叀いモデルではそれぞれ23ず24です。スコアリング倀は賌入金額ずよく盞関しおいるこずがわかりたす。



画像

図 19-叀いスコアリングモデルず新しいスコアリングモデルの品質の比范



この蚘事では、次のこずを行いたす。





質問、提案、コメントがある堎合は、コメントで議論したしょう。



All Articles