機械学習を始めるときによくある5つの間違い

機械学習を始めるときによくある5つの間違い

[[195041]]

機械学習を始めるにあたって、万能のアプローチは存在しません。私たちは皆、少しずつ異なる方法で学習し、学習目標も人によって異なります。 しかし、共通の目標はできるだけ早く始めることです。 これがあなたの目標である場合、機械学習を習得する途中でプログラマーが犯す一般的な 5 つの間違いを以下に示します。

1. 機械学習は達成不可能なものとみなす

機械学習は、複雑な問題を解決するために使用できる技術の集合体にすぎません。これは急速に進化している分野であり、その結果、機械学習に関する学術的な議論は、学術雑誌や大学院の教科書で行われるのが一般的であり、難解で理解しにくいもののように思われています。

機械学習を効果的に習得するには、考え方を技術から方法へ、精度から「十分」へとシフトする必要があります。これは、プログラマーが関心を持つ他の複雑な技術にも当てはまります。

2. 機械学習コードを書く

機械学習のコーディングを始めるのは難しい場合があります。なぜなら、技術を理解して実装し、その技術を特定の問題に適用するという 1 つの問題ではなく 2 つの問題を解決する必要があるからです。一度に 1 つの問題を解決し、機械学習、統計分析環境、アルゴリズム ライブラリを使用して、問題にテクニックを適用する方法を学ぶ方がはるかに簡単です。これにより、研究論文のあいまいなアルゴリズムの説明を読んでからコーディングするのに多くの時間を費やすことなく、多数のアルゴリズムを比較的迅速にスポットチェックして調整することができます。

アルゴリズムの実装は、後で別のプロジェクトとして、たとえば演習として、またはプロトタイプ システムを運用する必要があるまで実行できます。一度に 1 つずつ学習してください。プログラマーであるかどうかに関係なく、GUI を備えた機械学習フレームワークから始めることをお勧めします。

3. 手動で作業する

実用的な機械学習には、問題の定義、データの準備、結果の表現などのステップが含まれており、アルゴリズムのテストとチューニングとともに自動化できますし、自動化する必要があります。

自動化は、現代のソフトウェア開発のコンパイル、テスト、展開において重要な役割を果たします。データの準備、アルゴリズムのテストとデバッグ、結果の提示のための自動化スクリプトを作成すると、精度と改善のスピードの点で大きな利点が得られます。専門的なソフトウェア開発コースで学んだ知識は、心に留めて継続的に適用する必要があります。

おそらく、機械学習を学ぶプログラマーの多くは、読んだ本や受講した授業の中でこの分野の応用性にあまり注意を払っておらず、その結果、多くの人が入門段階で自動化手法を使用しないことになります。実際、自動化技術を実用的な機械学習のあらゆる側面に適用することは、プログラマーにとって大きなチャンスとなるでしょう。

4. よくある問題に対する繰り返しの解決策

これから実装しようとしているアルゴリズム、または解決しようとしている問題に似た問題は、すでに何千人もの人によって解決されている可能性があります。彼らの経験を活用しましょう。

機械学習の問題を解決するための知識は世の中にたくさん存在し、書籍や学術出版物に掲載されている場合もありますが、それらにアクセスすることは可能です。宿題をし、Google ブックスや Google Scholar で検索し、機械学習コミュニティに参加しましょう。

アルゴリズムを実装する場合:

  • 実装する必要がありますか? 再利用できるライブラリやツールでオープンソースの実装を見つけることはできますか?
  • 実装を最初から作成する必要がありますか? 既存のオープンソース実装のコードレビューを行い、そこから学んだり移植したりできますか?
  • 標準的なアルゴリズムの説明をコーディングする必要がありますか? 他の書籍、論文、投稿には、コードレビューや学習に使用できる他のアルゴリズムの説明はありませんか?

問題の解決策を探している場合:

  • この問題のすべてのアルゴリズムをテストする必要がありますか? この問題または同じ一般的なクラスの類似の問題に関する研究で、いくつかのアルゴリズムまたはアルゴリズムのクラスが適切に機能し、使用できることが示されているものはありますか?
  • 自分でデータを収集する必要がありますか? どの方法がうまく機能するかをすぐに判断するために、直接または問題のプロキシとして使用できる公開データセットまたは API はありますか?
  • アルゴリズムのパラメータを最適化する必要がありますか? アルゴリズムを構成するための研究や論文で利用できるヒューリスティックはありますか?

プログラミング ライブラリの問題や機械学習の分野の特定のデータ構造の問題に直面した場合に使用するのと同じ戦略を使用します。オンライン コミュニティに参加し、利用可能なリソースを探すことで、学習とプロジェクト開発のプロセスを加速できます。最初の段階では、フォーラムや質疑応答のウェブサイトを検討し、その後、学者や専門家に連絡することができます。

5. 数学を無視する

始めるのに数学理論は必要ありませんが、機械学習では数学が重要な役割を果たします。問題とシステムの動作を記述する最も効果的かつ明確な方法を提供するためです。

アルゴリズムの数学的側面を無視すると、方法の理解が限定的になったり、アルゴリズムのコーディングが制限されたりするなど、さまざまな問題が発生する可能性があります。たとえば、多くの機械学習アルゴリズムの中核となる最適化は、増分進化です。最適化(凸関数)の性質を理解できれば、その知識を活用して効率的な最適化アルゴリズムを使用できます。

アルゴリズムの数学を習得するのは時間のかかるプロセスですが、スキルは向上します。特に、アルゴリズムの内部最適化を含む高度なアルゴリズムを最初から実装する場合は、数学的な観点からアルゴリズムを理解するために多くの時間を費やしてください。

要約する

この投稿では、機械学習を始めるときにプログラマーが犯しがちな 5 つの間違いについて学びました。 5つのレッスンは次のとおりです。

  • 機械学習を当たり前と思わないで
  • 機械学習のコードを書かない
  • すべてを手動で行う必要はありません
  • よくある質問を繰り返さない
  • 数学を無視しない

<<:  ディープラーニング思考

>>:  画像解析アプリケーション向けの大規模サンプルフィルタリングソリューション

ブログ    

推薦する

...

スマートフォンアプリケーションにおける人工知能の役割

人工知能がスマートフォンアプリとユーザーエクスペリエンスをどのように変えているのか。進化し続けるテク...

組織内の AI スキルを向上させる 3 つのステップ

[[350689]]今日、ほとんどの組織は人工知能が遍在する世界に向けて準備を進めています。この進化...

Facebookは再生可能エネルギー貯蔵を改善するために人工知能を活用する

Facebookとカーネギーメロン大学は、AIを使って新たな「電気触媒」を見つけようとしていると発表...

中国人はアルゴリズムと戦い始めている:ログインなし、いいねなし、フォローなし、コメントなし

[[402565]]インターネット業務に携わる陸鋒さんは、あるテクノロジー製品の機能やユーザーエクス...

人工知能と機械学習の違いを本当に理解していますか?

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

マッキンゼーの「2020年人工知能の現状」レポート:AIは企業の収益成長に大きく貢献した

[[354345]]マッキンゼーの最新の AI 調査レポート「2020 年の AI の現状」によると...

このレーシングAIはもはや短期的な楽しみを求めるのではなく、長期的な戦略を考慮することを学んだ。

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

ビジネスマーケティングにおける人工知能の6つの応用

[[378540]] [51CTO.com クイック翻訳] 今日、人工知能(AI)に基づくソリューシ...

注目すべきAIハードウェアスタートアップ3社

AI は本質的にはソフトウェアの追求ですが、ハードウェア エンジニアに多くの機会を生み出し、多くのス...

ACオートマトンとベイズ法に基づくスパム識別

背景オープンな知識ソーシャルプラットフォームとして、Zhihu は「友好的」、「合理的」、「専門的」...

人材不足は数百万人に達し、人工知能+教育が一般的なトレンドとなっている

近年、人工知能の急速な発展は各国から大きな注目を集めており、教育界からも大きな注目を集めています。ま...

...

AIは中所得層に影響を与えるでしょうか?周連:移行の痛みに対処するには政策支援が必要

[[403918]]近年、経済の継続的な発展に伴い、わが国では中間所得層の総数が増加しています。現在...