ニューラルネットワークのどこから始めるか


7

まず、質問がウェブサイトに適さない可能性があることはわかっていますが、ポインタを教えていただければ幸いです。

私は16歳のプログラマーです。さまざまなプログラミング言語の経験があり、しばらく前にCourseraでコースを開始しました。機械学習入門というタイトルで、その瞬間からAIについて学ぶ意欲が高まり、ニューラルネットワークについて読んで、Javaを使用して実用的なパーセプトロンを作成しましたが、それは本当に楽しかったですが、もう少し難しいこと(数字認識ソフトウェアの構築)を始めたとき、私は多くの数学を学ばなければならないことがわかりました。数学が大好きですが、ここの学校はあまり教えてくれません。数学の教師である誰かがAIを学ぶために数学(特に微積分)を学ぶ必要があると思いますか、それとも、それらを学ぶまで待つべきでしょうか。学校?

また、私がAIと機械学習を学習する過程で、他にどのようなことが役立つでしょうか?他の手法(SVMなど)でも強力な計算が必要ですか?

私の質問が長い場合は申し訳ありませんが、AIの学習で経験したことを教えていただければ幸いです。


はい、チュートリアルとリソースを探しているだけの場合、これはあまりにも自由自在です。たぶん、何をしようとしているのか、今までに何を試みたのか、そしてどの概念がやりがいがあるのか​​を指定することで、これをより具体的にすることができます。
Sean Owen

私は、誰もが広すぎるとして、この質問にフラグが立てられていない驚いている
tumultous_rooster

@Sean Owen、ニューラルネットワークを使い始める方法について、なぜそれほど多くの質問があるのですか?それらは重複としてマークされるべきではないのですか?
2015年

質問はしないでください。重複している場合は、フラグを付けてください。
Sean Owen

回答:


5

いいえ、自分で数学を学んでください。微積分、統計、および線形代数(他の機械学習と同様)を学習する必要があるだけです。ニューラルネットワークの理論は、現時点ではかなり原始的であり、科学というより芸術であるので、試してみれば理解できると思います。事実、学ぶには実践的な経験が必要なトリックがたくさんあります。複雑な拡張機能はたくさんありますが、そこまで到達したら心配することができます。

MLとニューラルネットワーク(ヒントン)のCourseraクラスを理解できたら、いくつか練習することをお勧めします。あなたはこの紹介が好きかもしれません。


Tnx for the link:D
badc0re

2

私は言うでしょう...それは本当に異なります。次のことが必要になる場合があります。

  • 機械学習アルゴリズムを使用します。これは、特定のアプリケーションで役立ちます。この状況で必要なのは、プログラミングスキルとテストの趣味です(練習することで強くなります)。ここでは、数学はそれほど必要ではありません。
  • 既存のアルゴリズムを変更できる。特定のアプリケーションは通常のアルゴリズムを使用しない場合があるため、最大の効率を得るにはそれらを適応させる必要がある場合があります。ここで数学が登場します。
  • アルゴリズムの背後にある理論を理解する。ここでは数学が必要であり、機械学習の分野の知識を増やし、独自のアルゴリズムを開発し、同僚と同じ言語を話すのに役立ちます... NN理論は@Emreが言ったように原始的かもしれませんが、たとえばこれはSVMの場合ではありません(SVMの背後にある理論では、たとえばカーネルヒルベルト空間の再現を理解する必要があります)。

中期的には確かに強力な数学が必要になります。しかし、それらがあなたのところに来るのを待つ必要はありません。今、あなたは線形代数から始めることができます。これはすべてにとって美しくて便利です。そして、数学で何らかの(おそらく一時的な)困難に遭遇した場合、あなたがすでに行っている方法を練習し続けてください(多くの人々はパーセプトロンについて話すことができますが、Javaでパーセプトロンを作ることができません)、これは非常に価値があります。


1

ニューラルネットワークは、あなたが説明する複雑さのために、優れた入門モデルではありません。足を濡らそうとしている場合、ブーストされたデシジョンツリーは比較的優れたパフォーマンスを発揮する傾向があり、少し直感的です。この方法の説明が必要で、Courseraに既に精通している場合は、ワシントン大学に、データサイエンスの入門コースがあり、それを非常によく説明しています。


0

確かにあなたはいくつかの数学を学ぶ必要があります。ただし、エンジニアリングや科学の幅広いスキルを習得するための努力も必要です。コンピュータサイエンスに取り組む人が多すぎて、知っているのは少数のプログラミング言語と数学だけです。その結果、非常に退屈な人になり、新しいことをするための創造性がほとんど失われます。18歳または19歳のときに、世界を旅する1年を過ごしましょう。


@Ashkan(および他の若い愛好家)がより適切に準備することを学ぶことができる数学のタイプのいくつかの具体的な例を提供できますか?
ライアンJ.スミス

「世界を旅する」というビットで、あなたが目指していることは理解できたと思いますが、特定の表現が少なくとも一部の人にとっては良いアドバイスだとは思いません。「何か新しいことをするための創造性をほとんど持たない非常に退屈な人」は刺激を受けない人であり、スキルだけでなく、刺激を受けて創造的であることも非常に重要であるとあなたは言っています。世界を旅することはインスピレーションを得るための1つの方法ですが、誰もがさまざまな方法でインスピレーションを得ます。(コンピュータサイエンス、エンジニアリング、サイエンスへの支援はまったくありません
DoubleDouble

最も頻繁に使用される数学は明らかに線形代数であり、これはコンピュータサイエンスの多くの領域の基礎となっています。グラフに興味がある場合は、コンピュータサイエンスのグラフ理論を学んでください。ニューラルネットワークを使用した確率モデルの場合、ベイジアン統計を調べたい場合があります。
Victor Ng

0

これは地獄の良い本です。エイドリアンはブラックフライデーセールを行うので、それを手に入れる絶好のチャンスです。数学、直感、コードを使用したディープラーニングのステップバイステップガイドです。それは主にコンピュータービジョンに焦点を当てていますが、良いスタートを切るでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.