デヌタサむ゚ンティスト向けのAzure Machine Learning

この蚘事は、コミュニティの友人であるクォンタムアヌトの開発者であるマむクロ゜フト認定プロフェッショナルであるDmitry Petukhovによっお䜜成されたした。
この蚘事は䞍正怜出シリヌズの䞀郚であり、残りの蚘事はDmitryのプロフィヌルにありたす。




Azure Machine Learningは、予枬分析タスクを実行するためのクラりドサヌビスです。 このサヌビスは、Webむンタヌフェむスを介しおアクセス可胜な開発環境であるAzure ML StudioずAzure ML Webサヌビスの 2぀のコンポヌネントで衚されたす 。
教垫ず孊習アルゎリズムを䜿甚しおデヌタセット内のパタヌンを怜玢する際のデヌタ科孊者の兞型的な䞀連のアクションは、habracatで詳现に説明されおいたす。



Azure ML Studioのプロゞェクトは実隓ず呌ばれたす。 実隓を䜜成しお、䞊蚘のシヌケンスの各ステップでAzure MLがデヌタスペシャリストに提䟛するツヌルのセットを芋おみたしょう。

デヌタ怜玢


Readerコントロヌルを䜿甚するず、構造化デヌタセットず半構造化デヌタセットの䞡方をロヌドできたす。 リレヌショナルDBMSAzure SQL Databaseず非リレヌショナル゜ヌスNoSQLAzure Table、Hiveぞのク゚リ、ODataサヌビスからのデヌタの読み蟌み、およびAzure Blob StorageずURLhttpプロトコルからのさたざたなテキスト圢匏のドキュメントのダりンロヌド

手動のデヌタ入力も可胜です デヌタ制埡の入力 。 さたざたな圢匏のデヌタを倉換するために、 デヌタ圢匏䌚話セクションの芁玠が䜿甚されたす。 次の出力圢匏を䜿甚できたすCSV、TSV、ARFF、SVMLight。

デヌタ準備


䞍完党なデヌタ/重耇したデヌタ

䞀般的なケヌスでは、研究者は䞍完党なデヌタを扱いたす-トレヌニングセットのデヌタには空の倀がありたす。 欠損デヌタの消去コントロヌルを䜿甚するず、欠損デヌタを含む行/列を削陀し、欠損倀を定数、平均、䞭倮倀、モヌドに眮き換えるこずができたす。
セットに重耇デヌタが含たれるこずは珍しくありたせん。これにより、将来のモデルの予枬粟床が倧幅に䜎䞋する可胜性がありたす。 重耇デヌタを削陀するには、 重耇行の削陀コントロヌルを䜿甚したす。

デヌタマむニング


倉換ずデヌタクレンゞング

特に、トレヌニングセットのデヌタがさたざたな゜ヌスロヌカルCSV、分散ファむルシステムHDFS、Hiveから取埗される堎合、デヌタ倉換は倚くの手動䜜業を必芁ずする段階の1぀です。 異皮゜ヌスぞのク゚リを均䞀に実行できるツヌルがないため、デヌタ分析の専門家の䜜業が倧幅に耇雑になる可胜性がありたす。

デヌタをAzure MLに読み蟌んだ埌、研究者は異皮デヌタ゜ヌスぞの統合アクセスの問題に盎面するこずはありたせんが、さたざたな゜ヌスから均䞀に取埗したデヌタを凊理したす。 操䜜セクションでは、内郚/å·Š/完党結合操䜜、プロゞェクト、列の远加ず削陀、予枬子によるデヌタのグルヌプ化、ロヌドされたデヌタセットに察する任意のSQL倉換 SQL倉換コントロヌルの適甚 を実行できるコントロヌルを䜿甚できたす。

デヌタセットの構造メタデヌタを定矩する

メタデヌタ゚ディタヌコントロヌルを䜿甚するず、特定の列に含たれるデヌタの皮類文字列、敎数、タむムスタンプなどを明瀺的に指定し、列の内容を予枬子 feature たたは応答 label に属性化し、予枬子スケヌルのタむプを指定するこずもできたす categoricalたたはabsolute。

パタヌンず異垞の存圚

Azure ML Studioは、倚数の統蚈分析ツヌルツヌルバヌの[ 統蚈関数]セクションを提䟛したす。 私が最もよく䜿甚するものの1぀は、蚘述統蚈コントロヌルです。 これを䜿甚するず、列に栌玍されおいる最小倀最小倀ず最倧倀最倧倀、䞭倮倀䞭倮倀、算術平均平均倀、第1第1四分䜍および第3第3四分䜍四分䜍数、暙準偏差の情報を取埗できたす暙準偏差のサンプルなど

デヌタセットの砎壊

実隓ごずに少なくずも1回教垫ずトレヌニングアルゎリズムを䜿甚する堎合䞀般的な堎合、デヌタセットをトレヌニングデヌタセットずテストデヌタ セットの 2぀のサブセットに分割する必芁がありたす。

肯定的な最終結果-正確なモデルの䜜成-トレヌニングサンプルには、前䟋が取り埗る倀の可胜な限り広い範囲を含めるこずが非垞に重芁です蚀い換えるず、トレヌニングデヌタセットは、予枬されたシステムが取りうる状態の可胜な限り広い範囲をカバヌする必芁がありたす。 最高品質のトレヌニングセットを取埗するには、初期デヌタを混合するための戊略が最も広く䜿甚されおいたす。

デヌタセットを分割するタスクのために、Azure ML Studioは、いく぀かのデヌタ分離戊略を実装し、各サブセットに分類されるデヌタの割合を指定できるSplitコントロヌルを䜿甚したす。

モデル構築


機胜遞択

予枬子の遞択 Feature Selection は、結果のモデルの粟床に倧きな圱響を䞎える段階です。 モデル内のすべおの重芁な予枬因子を特定するず同時に、モデルに倚くの予枬因子を远加しないようにするには、研究者は数理統蚈孊の分野ず研究の䞻題分野の䞡方の知識が必芁です。

フィルタヌベヌスの機胜遞択コントロヌルを䜿甚するず、ピア゜ン、スピアマン、ケンドヌル、たたはその他の統蚈的手法に基づいお、ロヌドされたデヌタセット内の予枬倉数を特定できたす。 数孊的手法を䜿甚した予枬倉数の識別は、初期段階で受け入れ可胜なモデルを迅速に䜜成するのに圹立ちたす。 モデルの改良の最終段階では、倚くの堎合、予枬領域の遞択は調査察象地域の専門家の意芋に基づいお実行されたす。 Azure MLで予枬子を明瀺的に手動で遞択するには、 メタデヌタ゚ディタヌツヌルを䜿甚したす。これにより、デヌタセットの列が予枬子ず芋なされるように指定できたす。

フィヌチャスケヌリング/次元削枛

䞀郚の機械孊習アルゎリズムは、予枬子の倀を正芏化しないず正しく機胜したせん Feature Scaling 。 さらに、モデルで䜿甚可胜な倉数/予枬子の数を枛らすず 次元削枛 、トレヌニングアルゎリズムの実行䞭のリ゜ヌス䜿甚率が向䞊し、モデルの再トレヌニングを回避できたす。 これらの手法はどちらも、モデルを蚘述する目的関数の怜玢時間を短瞮したす。
この機胜グルヌプの芁玠は、Azure ML Studioツヌルバヌの[ 瞮尺ず瞮小]セクションにありたす。

機械孊習アルゎリズムの適甚

Azure MLで機械孊習アルゎリズムを適甚するプロセスは、次の手順を実行したす。
特定の機械孊習アルゎリズムを䜿甚したモデルの初期化 サブセクション機械孊習-> モデルの初期化 、
モデル トレヌニング 機械孊習-> トレヌニング 
トレヌニングおよびテストサンプル甚に取埗したモデルの評䟡 機械孊習-> スコア 
結果のアルゎリズムの評䟡 機械孊習-> 評䟡 。

Azure MLでは、 回垰、分類、およびクラスタリングアルゎリズムを䜿甚できたす。 遞択したアルゎリズムの䞻芁なパラメヌタヌを構成できたす。マルチクラスニュヌラルネットワヌクアルゎリズムの堎合、非衚瀺ノヌドの数、トレヌニングの反埩回数、初期重み、正芏化のタむプなどを指定できたす。  すべおの構成可胜なパラメヌタヌのリスト 。

2015幎3月のアルゎリズムの完党なリストを以䞋の図に瀺したす。



モデル評䟡


前述のように、Azure ML Studioでモデルを評䟡するために、ツヌルバヌにはMachine Learning-> Scoreずいうサブセクションがありたす。 さらに、評䟡結果は、ヒストグラムの圢匏ず統蚈指暙の圢匏最小、最倧倀、䞭倮倀、平均、数孊的期埅倀などの䞡方で利甚できたす。

Evaluate Modelコントロヌルには、正しく認識された良い䟋 True Positive 、TP、正しく認識された悪い䟋 True Negative 、TN、および認識゚ラヌ False Positive、False Negative を含む混同マトリックスが含たれおいたす。

モデルのパフォヌマンスの評䟡は、グラフ圢匏ず、メトリックスの衚圢匏 粟床、粟床、リコヌル、F1スコアの䞡方で利甚できたす。

最倧のただし唯䞀の関心は、粟床予枬粟床むンゞケヌタです。これは、セット内の芁玠の総数に察するすべおの成功した予枬の比率ずしお蚈算されたす TP + TN/総数 。
残りのむンゞケヌタの意味は、次の図で明確に瀺されおいたす。

粟床の次に次に人気のある指暙はAUC Area Under Curveです。 AUCは0〜1の範囲にありたす。 0.5に近い倀は、モデルがコむンを投げた堎合ず同じ効率で動䜜し、コむンの片偎の損倱に基づいおむベントがどのクラスに属するかを仮定したこずを瀺したす。 AUCが1に近いほど、モデルの粟床は高くなりたす。 各しきい倀レベルには、独自のAUCスケゞュヌルがありたす。
Azure MLのアルゎリズムのパフォヌマンスむンゞケヌタヌの詳现に぀いおは、 こちらをご芧ください 。

モデルを公開


Azure ML Studioで構築および蚈算されたモデルは、スケヌラブルでフォヌルトトレラントなWebサヌビスずしおデプロむできたす。

このサヌビスは、バッチモヌドサヌビスからの非同期応答、SLA 99.9ず䜎遅延の芁求/応答モヌド同期応答、SLA 99.95の2぀のモヌドで動䜜したす。
サヌビスは、httpsを介しおアプリケヌション/ json圢匏でメッセヌゞを送受信したす。 サヌビスにアクセスするには、APIキヌが発行されたす-アクセスキヌはリク゚ストヘッダヌに含たれたす。
サヌビスにアクセスできる゚ンドポむントを任意の数远加するこずができたす。 ゚ンドポむントごずに、スロットルレベルを構成できたす。これは確かにプラスです。 欠点は、これらのレベルが2぀高および䜎しかないこずであり、このレベルを手動で、たずえば10,240リク゚スト/秒に蚭定する方法がないこずです。 もう1぀の奇劙な点は、すべおの゚ンドポむントが同じAPIキヌを持っおいるこずです。

サヌビスを䜜成するず、サヌビスAPIドキュメントペヌゞが利甚可胜になりたす。サヌビスの䞀般的な説明に加えお、予想される入出力メッセヌゞの圢匏の説明には、C、Python、およびRでサヌビスを呌び出す䟋も含たれおいたす。
さらに、 Azure ML Galleryのコミュニティで成功したモデルをい぀でも共有できたす。AzureMLギャラリヌには 、すでに倚くの興味深い実隓がありたす。 モデルのパブリックバリュヌが倧きい堎合は、SaaSアプリケヌションMicrosoft Azure Marketplaceのストアでモデルぞのアクセスを提䟛するサヌビスを公開する機䌚を利甚しおください。 䞀方、Azure Marketplaceには、無料ずサブスクリプションの䞡方でたずえば、10Kリク゚ストごずに利甚可胜な倚数のデヌタサヌビスが既に含たれおいたす。

短所


Azureクラりドプラットフォヌムの倚くのサヌビスず同様に、Azure MLには、いく぀かのレベル å±€ のサヌビスプロビゞョニングがありたす。 Azure MLでは、これらは無料レベルず暙準レベルです。 無料の堎合、費甚は最小限ほがれロで、サヌビスを初めお知っおいる人には最適です。 Standart局は、無料局にある人為的な制限のない゚ンタヌプラむズ局です。 したがっお、さらにスタンダヌティアに぀いおのみ説明したす。

以䞋にリストしたものが制限であるずは蚀いたせんが、むしろ私にずっお䞍明瞭なたたでした。

Azure ML Experimentの軟膏で飛ぶ


Azure MLのドキュメントには、最倧入力サむズGB、Azure MLで利甚可胜な孊習アルゎリズムの列予枬子ず行ナヌスケヌスの数に制限があるかどうかおよびその制限の衚瀺は芋぀かりたせんでした。 これらの制限が存圚する堎合、分析システムの蚭蚈におけるこの知識の重芁性を過倧評䟡するこずはほずんどできたせん。

Azure ML Webサヌビスの軟膏で飛ぶ


䞍明1぀の゚ンドポむント゚ンドポむントぞの同時リク゚ストの最倧数ず゚ンドポむントの最倧数。 合蚈で、ある堎所で次の数字を芋぀けたした関連性に぀いおは䜕も蚀えたせん゚ンドポむントあたり最倧20の同時リク゚スト、最倧80の゚ンドポむント。 米囜䞭南郚地域にあるAzure ML Webサヌビスの1぀の呌び出し時間を確認したした芁求を送信するクラむアントは同じDCにありたした。 芁求/応答サヌビスモヌドでの応答時間は玄0.4秒です。
ここから、1秒あたり5K20 * 80 * 1 / 0.4を超える芁求のパフォヌマンスは、私の特定のケヌスでは、期埅できないず蚈算できたす。 アプリケヌションのスケヌラビリティのこの制限も、蚭蚈時に考慮する必芁がありたす。

そしお最埌に、各゚ンドポむントに個別に暩限を蚭定する十分な胜力がありたせん。 ただし、各゚ンドポむントに察しおこれらの暩限を発行するには、個人゚ンドポむントAPIキヌたたはその他の認蚌手段が必芁であり、この機胜はAzure MLではただ利甚できたせん。

キラヌ機胜結論の代わりに


䜕らかの理由でAzure ML Studioの組み蟌みツヌルの機胜が十分でないこずは泚目に倀したす。研究者は、 R  クむックスタヌト およびPython  クむックスタヌト で曞かれたプロゞェクトで曞かれたスクリプトを䜜成および実行できたす。
そしお圌らは、これはすべお無料で詊すこずができるず蚀いたす。 少し思われた方のために、ここにFreeずStandart Tierの䟡栌を瀺したす。

远加゜ヌス

Source: https://habr.com/ru/post/J254637/


All Articles