Ruby
 Computer >> コンピューター >  >> プログラミング >> Ruby

すべてのWeb開発者が機械学習を検討する必要がある理由

私にはまだ子供がいませんが、子供がいるときは、2つのことを子供に学んでもらいたいです。

  • パーソナルファイナンス
  • 機械学習

特異点が近いと信じているかどうかにかかわらず、世界がデータで実行されていることは否定できません。そのデータがどのように知識に変換されるかを理解することは、最近の成人にとって重要であり、開発者にとってはさらに重要です。

これは、フルスタックのRuby開発者が機械学習(ML)にアクセスできるようにするシリーズの最初の記事です。自由に使えるMLツールを理解することで、利害関係者がより良い意思決定を行えるように支援できます。今後の記事では、個々のテクニックと実際の例に焦点を当てますが、この記事では、地図を表示し、「あなたはここにいます」というピンを配置するというステージを設定します。

謙虚な始まり

すべてのWeb開発者が機械学習を検討する必要がある理由

人工知能(AI)と機械学習は目新しいものではありません。 1950年代に、アーサーサミュエルはチェッカーを再生できるコンピュータープログラムを作成しました。彼は、一般的な検索アルゴリズムである「アルファベータ法」を使用しました。

1960年代には、多層ニューラルネットワークと、倉庫内の最適なパスを見つけるために使用される最近傍アルゴリズムが登場しました。

では、AIが非常に古い場合、なぜAIスタートアップはそれほどトレンディなのですか?私の意見では、これには2つの理由があります。

  • 計算能力(ムーアの法則を参照)
  • 毎日インターネットに追加されるデータの量

毎日作成されるデータの量に関連する2つの統計があり、それらについて考えるたびに頭がおかしくなります。

  • 2018年現在、私たちは毎日2.5兆バイトのデータを生成しています。このフォーブスの記事が公開されて以来、この数が増えていることは間違いありません。
  • 過去2年間だけでも、世界のデータの90%が生成されました。

つまり、これは、(1)データの保存とアルゴリズムの実行に必要なハードウェアが引き続き手頃な価格になり、(2)MLモデルのトレーニングに利用できるデータの量が非常に速いペースで増加していることを意味します。

私たちは毎日、人工知能と機械学習の世界と交流し、影響を受け、貢献しています。たとえば、次のアルゴリズムに感謝(または非難)することができます。

  • クレジットライン
  • 病気の診断を支援する
  • たぶんあなたが仕事を得たかどうかにかかわらず
  • 現在の交通状況を考慮して最も効率的なルートを見つけるのに役立ちます
  • Alexaは、くしゃみをしたばかりだと言ったときに、あなたが何を意味するのかを正確に理解しています
  • Spotifyで新しいお気に入りの曲を紹介します

私が架空の将来の子供たちを育てた理由は次のとおりです。デジタルライフが「実際の」ライフにどのように影響するか、データプライバシーの決定がどのように影響するか、マシンをいつ信頼すべきかについて自分の意見を形成する方法を理解してもらいたい。対すべきではないとき。

この投稿の残りの部分では、私が研究した3種類の機械学習、つまり教師あり学習、教師なし学習、強化学習の概要を説明します。それぞれのアプローチがユニークである理由と、それぞれが特に解決に優れている問題について説明します。

教師あり学習

すべてのWeb開発者が機械学習を検討する必要がある理由

教師あり学習は...まあ、人間によって監督されています。 :)誰が住宅ローンの承認を受けるかを決定するために、教師あり学習システムを構築していると想像してください。仕組みは次のとおりです。

  1. 銀行は、顧客の属性(年齢、給与など)を結果(返済、デフォルトなど)にマッピングするデータセットをコンパイルします。
  2. データを使用してシステムをトレーニングします。
  3. システムは、学習した内容を使用して、申請者の属性に基づいて将来の結果を推測します。
  4. アルゴリズムが正しく推測した場合、「お疲れ様でした。その通りです」と伝えます。しかし、それが間違っている場合は、「いいえ、あなたは間違っています。改善してもう一度やり直してください」と言います。

この例は、アルゴリズムの出力がカテゴリ(この場合は承認済みまたは未承認)であるため、「分類」の問題と見なされます。分類問題の他の例には、次のいずれかを決定することが含まれます。

  • 人が病気になっている
  • X線で骨折している
  • 電子メールはスパムです

ML分類アルゴリズムの背後にある数学について詳しく知りたい場合は、単純ベイズ分類器、サポートベクターマシン、ロジスティック回帰、ニューラルネットワーク、ランダムフォレストのいずれかをGoogleで検索してください。

「はい/いいえ」の結果をもたらす分類問題に加えて、教師あり学習を利用して回帰問題を解決することもできます。ここでは、たとえば次のように連続スケールで予測を行います。

  • 株式の将来価値
  • ニューイングランドペイトリオッツがスーパーボウルに勝つ確率
  • 企業が受け入れる候補者に提供する必要のある平均給与

教師あり回帰問題に使用されるアルゴリズムの例には、線形回帰、非線形回帰、およびベイズ線形回帰が含まれます。

教師なし学習

すべてのWeb開発者が機械学習を検討する必要がある理由

教師あり学習の例では、分類カテゴリを事前定義しました。住宅ローンの申請者は承認または拒否されました。

教師なし学習では、カテゴリを提供しません。それらは私たちには利用できません。アルゴリズムは独自の結論を出す必要があります。

教師なしアプローチを使用したいのはなぜですか?

1)事前にカテゴリがわからない場合があります。インターネット上に浮かんでいるデータの多くは構造化されていません。つまり、ラベルがありません。

2)それ以外の場合は、何を探しているのかわからないため、分類に役立つパターン/機能を見つけるようにアルゴリズムに依頼できます。

機械学習で非構造化データを処理するもう1つの方法は、人間にデータを見てもらい、手動でラベルを付けることです。データを手動で分類するために労働者を雇う企業はたくさんあります:データのラベル付け。

教師なし学習へのアプローチ

教師なし学習で一般的に使用される2つの手法は、関連付けとクラスタリングです。 。

関連付け: あなたがアマゾンだと想像してみてください。顧客データや購入履歴などがたくさんあります。教師なし学習を使用すると、顧客を「買い物客のタイプ」に分類できます。ピンクの傘を購入する人は抹茶も購入する可能性が高いことがわかります。

クラスタリング: クラスタリングはデータを調べて、指定された数のグループまたはクラスターに分割します。たとえば、住宅データがたくさんあり、家がどの地域にあるかを予測できる機能(犯罪データの可能性がありますか?)があるかどうかを確認したい場合があります。または、コサイン類似性などの手法をテキスト分類に使用できます(たとえば、この記事はテニス、料理、または宇宙に関するものですか?)

特定の教師なし学習手法について詳しく知りたい場合は、Google検索のk-meansクラスタリング、コサイン類似性、階層的クラスタリング、およびk最近傍クラスタリングをご覧ください。

強化学習

すべてのWeb開発者が機械学習を検討する必要がある理由

この機械学習のサブセットは、目標指向のアルゴリズムを利用しているため、ゲームで一般的に使用されています。教師あり学習とは異なり、各決定は独立していません。現在の入力が与えられると、アルゴリズムが決定を下し、次の入力はこの決定に依存します

ドアベルが鳴ったときに犬が絶え間なく吠えるのをやめたとき、または犬が閉じないときに犬小屋に入れたときに犬に頭を軽くたたくのと同じように、目標を最適化する決定を行うときに強化アルゴリズムが報われます(たとえば、最大ポイント数)、貧弱なものを作るとペナルティが課せられます。

強化学習アルゴリズムの明らかなアプリケーションは次のとおりです。

  • チェスや囲碁などのゲーム(まだ見ていない場合は、NetflixのAlphaGoドキュメンタリーを強くお勧めします。)
  • ロボット工学(ボットに目的のタスクを完了するように教える)
  • 自動運転車
  • 株式市場を打ち負かすように訓練されたロボアドバイザー

強化学習の背後にあるアルゴリズム、Google検索Q学習、状態アクション報酬状態アクション(SARSA)、DQN、および非同期アドバンテージアクター評論家について詳しく知りたい場合。

結論

これらの例が、機械学習の手法と、それぞれが今日のクレイジーな世界に影響を与えるためにどのように使用されているかを理解するのに役立つことを願っています。学ぶべきことすべてに圧倒されることもありますが、何もしないよりもどこかで始める方が良いことを覚えています。実際、これはまったく新しいことではないことを覚えておいてください。データが利用可能になり、処理されるにつれて、それについて耳にするだけです。電力が安い。


  1. データ バックアップが必須の理由

    いつ災害が発生するかは誰にもわかりません。そのため、ドアをノックする前に備えておくことが重要です。これが 3 月 31 日stの理由です。 バックアップは重要なデータの保存されたコピーであり、携帯電話を紛失したり、ハード ドライブがクラッシュしたり、ランサムウェア攻撃によってシステムが侵害されたりした場合に救世主として機能します。 データのバックアップが重要な理由 データ損失のほとんどのインシデントは、予測できない人的エラーまたはハードウェアの誤動作が原因で発生します。つまり、データは簡単に失われ、日常の状況がさらに悪化します。 データ侵害は、データの損失を意味するだけで

  2. ビッグデータ、データ マイニング、機械学習の違いを理解する

    テクノロジーの急速な進化に伴い、私たちはデータの複雑なネットワークと漠然とした未来に向かっています。一方、世界中の業界は、ビッグデータ、データマイニング、機械学習などの革新的なテクノロジーを採用することで、完全な刷新を試みています。ここで、なぜ世界中のすべての企業がこれらのテクノロジーの採用に熱心なのか、基本的な概念は何なのか、それらは互いにどのように異なるのかという疑問が生じます。調べてみましょう。 ビッグデータ、データ マイニング、機械学習などのテクノロジーが必要なのはなぜですか? データに対する需要の高まりと競争の激化により、各企業はこれらのテクノロジーを自社のサービスに実装すること