apeescape2.com
  • メイン
  • 投資家と資金調達
  • 分散チーム
  • ヒントとツール
  • その他
バックエンド

機械学習の問題に取り組む方法

コンピューターの主なタスクの1つは、人間のタスクを自動化することです。これらのタスクの一部は、「XをAからBに移動する」など、単純で反復的なものです。コンピュータが形式化するのがはるかに難しい問題について決定を下さなければならないとき、それははるかに興味深いものになります。ここから、基本的な機械学習の問題に直面し始めます。

機械学習の問題はイラストをカバーしています

歴史的に、そのようなアルゴリズムは、その分野についての深い知識を持ち、主にルールに基づいていた科学者または専門家によって構築されました。計算能力の爆発的増加と大規模で多様なデータセットの可用性により、焦点はより計算的なアプローチにシフトしました。



最も人気のある 機械学習 最近の概念はニューラルネットワークと関係があり、私の経験では、これはニューラルネットワークがすべての推論問題に対するある種の奇跡の武器であるという印象を多くの人々に生み出しました。実際、これは真実からかなりかけ離れています。統計学者の目には、それらは関連する長所と短所を備えた1つのクラスの推論アプローチを形成し、ニューラルネットワークが最良の解決策になるかどうかは問題に完全に依存します。

多くの場合、より良いアプローチがあります。

この記事では、機械学習の問題を攻撃するための構造の概要を説明します。についてあまり詳細に入る余地はありません 特定の機械学習モデル 、しかし、この記事が興味を引く場合、後続の記事はいくつかの興味深い機械学習の問題に対する詳細な解決策を提供する可能性があります。

ただし、最初に、自動的に考えるよりも慎重にならなければならない理由を示すために、少し努力しましょう。 神経網 」機械学習の問題に直面したとき。

ニューラルネットワークの長所と短所

ニューラルネットワークでは、推論は加重された「ネットワーク」を介して行われます。重みは、いわゆる「学習」プロセス中に調整され、その後、入力に結果を割り当てるために適用されます。

これは単純に聞こえるかもしれませんが、すべての重みはキャリブレーションされたネットワークのパラメーターであり、通常、人間が理解するにはパラメーターが多すぎることを意味します。

ニューラルネットワーク理論の入出力図

したがって、ニューラルネットワークを、特定のモデルを間に挟まずに、入力を出力に接続するある種の推論ブラックボックスと見なす方がよいでしょう。

このアプローチの長所と短所を詳しく見てみましょう。

ニューラルネットワークの利点

  • 入力はデータそのものです。 機能エンジニアリングがほとんどまたはまったくなくても、使用可能な結果が得られます。
  • 訓練可能なスキル。 機能エンジニアリングがないため、直感やドメインの専門知識など、開発が難しいスキルは必要ありません。一般的な推論には、標準のツールを使用できます。
  • データの量が増えると、精度が向上します。 表示される入力が多いほど、ニューラルネットワークのパフォーマンスは向上します。
  • 古典的なモデルよりも優れている可能性があります モデルに関する完全な情報がない場合。一つには、世論を考えてみてください。
  • オープンエンドの推論は、未知のパターンを発見する可能性があります。 モデルを使用して考慮を外すと、対応する現象は検出されません。ニューラルネットワークはそうかもしれません。

成功したニューラルネットワークの例: Googleの AIが惑星を見つけた 蓄積された望遠鏡データを分析することにより、NASAが行っていない遠方の星を周回します。

ニューラルネットワークのデメリット

  • それらは多くの(注釈付き!)データを必要とします。 まず、この量のデータが常に利用できるとは限りません。収束が遅い。ソリッドモデル(たとえば、物理学)は、いくつかの観察の後に較正できます。ニューラルネットワークを使用すると、これは問題外です。注釈は、それ自体が絶対確実ではないことは言うまでもなく、多くの作業です。
  • データの内部構造に関する情報はありません。 推論が何に基づいているかに興味がありますか?ここでは運がありません。データを手動で調整することで推論が飛躍的に向上する状況がありますが、ニューラルネットワークはそれを支援できません。
  • 過剰適合の問題。 ネットワークにデータが正当化するよりも多くのパラメーターがあることがよくあり、それが次善の推論につながります。
  • パフォーマンスは情報に依存します。 問題に関する完全な情報がある場合、ソリッドモデルはニューラルネットワークよりもパフォーマンスが優れている傾向があります。
  • サンプリングの問題があります。 サンプリングは常に微妙な問題ですが、モデルを使用すると、問題のあるサンプリングの概念をすばやく開発できます。ニューラルネットワークはデータからのみ学習するため、偏ったデータを取得すると、偏った結論になります。

失敗の例: 個人的な関係から、航空写真で軍用車両の検出に取り組んでいる大企業(名前は付けられません)について教えてもらいました。彼らはそのような車両とそうでない他の車両があるところのイメージを持っていました。前者の画像のほとんどは雨の日に撮影されたもので、後者は晴天時に撮影されたものです。その結果、システムは光と影を区別することを学びました。

要約すると、ニューラルネットワークは長所と短所を持つ1つのクラスの推論方法を形成します。

それらの人気が一般の人々の目には他のすべての統計手法よりも優れているという事実は、他の何よりもコーポレートガバナンスに関係している可能性があります。

標準ツールと標準化されたニューラルネットワーク手法を使用するように人々をトレーニングすることは、さまざまな分野の専門家やアーティストを探すよりもはるかに予測可能なプロセスです。ただし、これは、単純で明確な問題にニューラルネットワークを使用することが、実際には大砲でスズメを撃つだけであるという事実を変えるものではありません。大量のデータが必要であり、多くの注釈作業が必要であり、その見返りとしてソリッドモデルと比較すると、パフォーマンスが低下します。最高のパッケージではありません。

それでも、彼らが統計的知識を「民主化」するという事実には大きな力があります。ニューラルネットワークベースの推論ソリューションを単なるプログラミングツールと見なすと、複雑なアルゴリズムに慣れていない人でも役立つ可能性があります。そのため、必然的に、洗練されたモデルでしか操作できなかった場合には存在しなかった多くのものが構築されています。

機械学習の問題への取り組み

機械学習の問題に取り組む場合、次の手順を実行する必要があります。

  • 合格基準の設定
  • データをクリーンアップし、情報コンテンツを最大化する
  • 最適な推論アプローチの選択
  • トレーニング、テスト、繰り返し

これらの項目を詳しく見ていきましょう。

機械学習問題のさまざまなステップ

合格基準の設定

可能な限り、できるだけ早く目標の精度を把握する必要があります。これがあなたが目指す目標になるでしょう。

データのクレンジングとその情報コンテンツの最大化

これは最も重要なステップです。まず第一に、データにエラーがない(またはほとんどない)必要があります。これらを浄化することは、重要な最初のステップです。欠落している値を置き換え、明らかに偽のパターンを特定し、重複やその他の異常に気付く可能性のあるものを排除します。

情報に関しては、データが(線形の意味で)非常に有益である場合、実質的にどのような推論方法でも良い結果が得られます。必要な情報がそこにない場合、結果はノイズになります。情報を最大化するということは、主にデータ内の有用な非線形関係を見つけて線形化することを意味します。それが入力を大幅に改善するなら、素晴らしい。そうでない場合は、さらに変数を追加する必要があります。これらすべてが成果を上げない場合、ターゲットの精度が低下する可能性があります。

運が良ければ、便利な単一の変数があります。たとえば、学習対象の変数に対してそれらをプロットし、プロットが関数のようであることがわかった場合(つまり、入力の狭い範囲が出力の狭い範囲に対応する)、有用な変数を特定できます。次に、この変数を線形化できます。たとえば、放物線としてプロットする場合は、いくつかの値を減算して平方根を取ります。

ノイズの多い変数(入力の狭い範囲が出力の広い範囲に対応する)の場合、他の変数と組み合わせてみることができます。

精度を把握するには、変数ごとに条件付きクラスの確率を測定するか(分類問題の場合)、線形回帰などの非常に単純な形式の回帰を適用する(予測問題の場合)ことができます。入力の情報量が改善されると、推論も改善されます。データの準備ができていないときにモデルを調整するこの段階で、あまり多くの時間を無駄にしたくないだけです。したがって、テストはできるだけ簡単にしてください。

最適な推論アプローチの選択

データが適切な形になったら、推論方法を使用できます(必要に応じて、データは後で洗練される可能性があります)。

モデルを使用する必要がありますか?さて、あなたがそのタスクのための良いモデルを構築できると信じる正当な理由があるなら、あなたはおそらくそうすべきです。そうは思わないが、適切な注釈が付いた十分なデータがある場合は、ニューラルネットワークを使用してハンズフリーにすることができます。ただし、実際の機械学習アプリケーションでは、そのための十分なデータがないことがよくあります。

プレーの正確さ対カバーはしばしば途方もなく報われる。ハイブリッドアプローチは通常完全に問題ありません。単純なモデルを使用して、80%でほぼ100%の精度を得ることができるようなデータであると仮定しますか?つまり、実証可能な結果を​​すばやく得ることができ、システムが80%の友好的な領域でいつ動作しているかを識別できれば、基本的に問題のほとんどをカバーできています。あなたのクライアントはまだ完全に満足していないかもしれませんが、これはあなたに彼らの信頼をすぐに得るでしょう。そして、残りのデータに対して同様のことを行うことを妨げるものは何もありません。合理的な努力で、たとえば、データの92%を97%の精度でカバーできるようになりました。確かに、残りのデータでは、それはコイントスですが、あなたはすでに何か有用なものを生み出しています。

ほとんどの実用的なアプリケーションでは、これは非常に便利です。たとえば、あなたは融資事業に従事していて、誰に融資を行うかを決定したいと考えています。知っているのは、クライアントの70%でアルゴリズムが非常に正確であるということだけです。すばらしい—確かに、他の30%の申請者はより多くの処理を必要としますが、70%は完全に自動化できます。または:コールセンターのオペレーターの作業を自動化しようとしている場合、最も単純なタスクでのみ適切な(迅速で汚い)仕事を行うことができますが、これらのタスクは通話の50%をカバーしますか?コールセンターは、通話の50%を確実に自動化できれば、コストを節約できます。

総括する: データが十分に有益でない場合、または問題が複雑すぎて全体を処理できない場合は、枠にとらわれずに考えてください。より良いアイデアが得られるまで、有用で解決しやすいサブ問題を特定します。

システムの準備ができたら、満足のいく結果が得られるまで、システムを学習、テスト、ループします。

トレーニング、テスト、繰り返し

前の手順の後、関心はほとんど残っていません。データがあり、機械学習方法があるので、学習によってパラメーターを抽出し、テストセットで推論をテストします。文献によると、記録の70%はトレーニングに使用し、30%はテストに使用する必要があります。

結果に満足できれば、タスクは終了です。しかし、おそらく、あなたは手順の間にいくつかの新しいアイデアを開発しました、そしてこれらはあなたが正確さを向上させるのを助けるかもしれません。おそらくもっとデータが必要ですか?それとももっとデータクレンジング?または別のモデル?いずれにせよ、あなたはかなり長い間忙しいでしょう。

だから、頑張って、これからの仕事を楽しんでください!

関連:
  • 機械と信頼:AIバイアスを軽減する方法
  • 星の再調整:IMDb評価システムの改善

基本を理解する

機械学習とディープラーニング:違いは何ですか?

機械学習にはすべての推論手法が含まれますが、深層学習はデータ内の意味のある非線形関係を明らかにすることを目的としています。したがって、深層学習は機械学習のサブセットであり、機械学習の問題に適用される自動化された機能エンジニアリングの手段でもあります。

知覚組織の6つの法則

機械学習に最適な言語はどれですか?

理想的な選択は、幅広いプログラミングライブラリをサポートし、インフラストラクチャではなく数学に集中できる言語です。最も人気のある言語はPythonですが、MatlabやRなどのアルゴリズム言語、またはC ++やJavaなどのメインストリーマーもすべて有効な選択肢です。

機械学習とニューラルネットワーク:違いは何ですか?

ニューラルネットワークは、上記の長所と短所を備えた機械学習内の1つのアプローチにすぎません。

機械学習を学ぶための最良の方法は何ですか?

いくつかの良いオンラインコースと要約ページがあります。それはすべて自分のスキルと好みに依存します。私の個人的なアドバイス:機械学習を統計プログラミングと考えてください。数学を強化し、機械学習とニューラルネットワークを同一視するすべてのソースを避けてください。

人工ニューラルネットワークの長所と短所は何ですか?

いくつかの利点:数学、機能エンジニアリング、または職人のスキルは必要ありません。トレーニングが簡単。当初は考慮されていなかった問題の側面を明らかにする可能性があります。いくつかの欠点:比較的多くのデータが必要です。面倒な準備作業。なぜ彼らが彼らのやり方を決定するのかについての説明を残さず、過剰適合します。

Webpackの依存関係を管理するためのガイド

技術

Webpackの依存関係を管理するためのガイド
iOSの集中型および分離型ネットワーキング:シングルトンクラスを使用したAFNetworkingチュートリアル

iOSの集中型および分離型ネットワーキング:シングルトンクラスを使用したAFNetworkingチュートリアル

バックエンド

人気の投稿
AWSを使用した柔軟なA / Bテスト[メール保護]
AWSを使用した柔軟なA / Bテスト[メール保護]
なぜこれほど多くのPythonがあるのですか?
なぜこれほど多くのPythonがあるのですか?
Firebase認証を使用してロールベースのAPIを構築する方法
Firebase認証を使用してロールベースのAPIを構築する方法
適切に構造化されたロジック:GolangOOPチュートリアル
適切に構造化されたロジック:GolangOOPチュートリアル
ApeeScapeは、スタートアップ起業家に低コストでエリートプログラミングの才能を提供します
ApeeScapeは、スタートアップ起業家に低コストでエリートプログラミングの才能を提供します
 
スケッチとルーパーを使ってすぐに心を曲げるイラストを作成する
スケッチとルーパーを使ってすぐに心を曲げるイラストを作成する
ミニチュートリアル–Figmaボタンコンポーネントの操作
ミニチュートリアル–Figmaボタンコンポーネントの操作
Android開発者が犯す最も一般的な間違いトップ10:プログラミングチュートリアル
Android開発者が犯す最も一般的な間違いトップ10:プログラミングチュートリアル
最高のデータ視覚化ツールの完全な概要
最高のデータ視覚化ツールの完全な概要
将来のUIとデザインサンドボックスの終了
将来のUIとデザインサンドボックスの終了
人気の投稿
  • 大規模なコンピューターでの大量処理の固有の効率は、_____と呼ばれます。
  • プライベートエクイティファンドの調達プロセス
  • トップ100シングルファミリーオフィス
  • 残高2020でハッキングされたクレジットカード
  • SpringBootでの例外処理
  • 問題ステートメントを作成する際に、研究者は次の場合を除いて次のそれぞれに話しかけます。
カテゴリー
設計プロセス 製品の担当者とチーム 製品ライフサイクル 仕事の未来 モバイル モバイルデザイン 技術 ブランドデザイン ツールとチュートリアル 投資家と資金調達

© 2021 | 全著作権所有

apeescape2.com