機械学習の分野に参入しようとしているプログラマ


19

私はソフトウェア開発者です(主に.NETとPythonで約5年の経験があります)。機械学習の分野で仕事を得るために私は何ができますか?大学院の学位は厳しい要件ですか?


2
この質問は、コミュニティWikiの質問のようです。
アンドリュー

回答:


16

機械学習の学習について誰かと話をするたびに、彼らは常に私にHastieとTibshiraniによる統計学習要素を教えてくれます。この本は、無料でオンラインで入手できるという幸運を持っています(ハードコピーには特定の魅力がありますが、必須ではありません)。私はまだその中のすべてを読んでいませんが、私はそれの多くを読みました、そして、それは本当に物事をよりよく理解するのを助けました。

私がこれまでに取り組んできたもう1つのリソースは、Stanford Machine Learningクラスです。これもオンラインで無料です。アンドリュー・ンは、あなたに物事を順を追って説明してくれます。私はアルゴリズムを実装する私の背景が弱いので(私は独学のプログラマーです)、Octaveで物事を実装する方法を示しているので、私はそれが特に役立つと思います(許可されたRはすでにパッケージに実装されています)。また、数か月前にreddit統計でこれらのメモを見つけたので、それらをざっと読んでからビデオを見て、自分のメモでそれについて考えます。

私のバックグラウンドは統計学であり、機械学習の概念にある程度触れました(私の良き仲間は本当にそれに興味があります)が、私は常に機械学習の面で不足していると感じていたので、私はそれをすべて学ぼうとしています自分でもう少し。ありがたいことに、すばらしいリソースが山ほどあります。

業界や大学院の要件で仕事を得る限り、私は助言するのに最適な立場にありません(私は誰も雇ったことがないことが判明しました)が、ビジネスの世界は物事を行うことができる人を本当に好きであるように見えることに気付きましたあなたは何かをすることができると言っている紙片に少し関心がありません。

もし私があなただったら、自由時間の一部を機械学習の知識に自信を持って過ごし、機会を見ながら物事を実行します。あなたの立場があなたにその機会を与えないかもしれないが、あなたの会社に価値を追加する何かを実装できるなら(あなたの他の義務を維持しながら)、私は誰かがあなたに動揺することを想像できません。ここでの良い点は、この仕事で少し機械学習をしていることに気付いた場合、新しい仕事を探しに出かけるとき、あなたが既に持っている経験について話すことができ、それは人々が特定の不足を過ぎて見えるのを助けるでしょう度。

たくさんのリソースがあり、非常に興味深いので、幸運を祈ります!

別のアイデア:機械学習の学習プロセスに関するブログを開始し、空き時間に取り組んでいるいくつかのプロジェクトを文書化することもできます。私はこれをプログラミングプロジェクトで行いました。それはあなたがあなたの自由な時間に取り組んでいるプロジェクトについて話すことができ(雇用者にとっては良さそうです)、あなたはあなたの仕事についてブログに明らかにすることができます。これまで、私はかなりの数の人を私の下品なプログラミングブログに送りました(最近投稿するのは少し面倒でしたが、仕事に応募するときは最新の状態に保ちました)。それ。


(+1)特にMLクラス、実際の知識/仕事>証明書、およびブログに関する素晴らしいアドバイス。
ステフェン

プロのブログは良いアイデアのように聞こえます!
リシドゥア14

「ビジネスの世界は、物事ができる人を本当に好むようです」-はい、これは紙切れでも当てはまります。
P.ウィンドリッジ

統計学習の要素は、包括的ではありますが、統計学の学位を持たない人にとっては困難です。代わりに、同じ著者による「統計学習の紹介(Rのアプリケーション)」をお勧めします。もっと簡単です。
アビシェークDivekar

3

オンラインコンテストに参加して手を汚すことをお勧めする他のすべての素晴らしいアドバイスに加えて、予測モデリングコンテストのサイトを参照してください。

書籍などについては、次をご覧ください。

学位に関しては、@ asjohnsonには、証明書は重要ではないということに同意します。少なくとも、作業している領域(データマイニング/ Web上のML)についてはこれを確認できます。ただし、バイオインフォマティクスなどの「学術」分野では異なる場合があります。a)熱意があり、b)実際の作業(「スマートで物事を成し遂げる」)を小さなポートフォリオ(オンラインコンテストなど)で披露することで実証できることが、より効果的なIMHOになります。


(+1)オンライン競技用。kaggleまたは他の競合他社から何かを行い、潜在的な雇用者がチェックできる場所でコードとプロセス(私はブログを考えています)を追跡していると思います。それは多くのイニシアチブを示し、興味のあるあなた自身の質問を考えるよりも多くの点で簡単です。興味のあるコンテストの1つを選択するだけで、そこにデータがあり、回答を提出して比較する場所が得られます。
asjohnson

2

トムミッチェルの機械学習を読んでください。それは機械学習の分野であなたを始めるべきである良い本です。

注意すべき点が1つあります。同じアルゴリズムでも、提供されるシナリオとパラメーター、およびランダムチャンスに応じて、パフォーマンスが向上または低下する場合があることに注意してください。んではないあなたのトレーニングデータのためのパラメータを最適化するに引き込まれます-これは、機械学習の貧弱なアプリケーションです。

特定のアプリケーションに適したテクニックはたくさんありますが(すべてのアプリケーションではありません)、機械学習をよりよく理解するために読むことができる多くの理論があります。機械学習が得意であるためには、自分が何をしているかを確実に知る必要があります。そうしないと、結果が一般化するかどうかがわかりません。

がんばろう。


0

Pythonを利用するO'Reillyシリーズの書籍を含む、機械学習に関する優れた書籍が多数あります。これらの1つまたはいくつかの作業を行うことは、良い出発点かもしれません。

また、統計の知識を得ることをお勧めします-コース1、2、または自習を通して、実際に問題はありません。その理由は、アルゴリズムとメカニクスに焦点を当てた機械学習の本がいくつかありますが、アルゴリズムが伝えることは偶然によるものである可能性が高いという基本的な質問を無視しているからです。そして、これは知ることが不可欠です。

頑張って楽しんでください、それは素晴らしい分野です。


0

とてもいい質問です。事前に理解しておくべきことは、機械学習は芸術と科学の両方であり、細心の注意を払ってデータを消去し、視覚化し、最終的に問題のビジネスに適したモデルを構築すると同時に、スケーラブルで扱いやすいことです。スキルに関しては、他の何よりも重要なことは、確率に焦点を合わせ、複雑な方法にジャンプする前に簡単な方法を最初に使用することです。私はRとPerlの組み合わせが好きです。なぜなら、あなたはpythonで十分であることがわかっているからです。実際の仕事に取り組むときは、常に独自のデータをプルする必要があるため、SQL(または会社がサポートする他のno-sql)の知識は必須です。

MLエリアでの経験に勝るものはありません。そのため、stackexchangeなどのサイトに従事しているkaggleは、この分野にさらされる素晴らしい方法でもあります。がんばろう。


0

私は少し古い質問を知っていますが、多くのプログラマーがまだ開始方法を知らないのを見たという事実を考えると。

したがって、私は「機械学習エンジニアになるための勉強のための完全な毎日の計画」リポジトリを作成しました。

これは、モバイル開発者(独学、学士なし)から機械学習エンジニアに移行するための私の複数月の学習計画です。

私の主な目標は、機械学習を学ぶためのアプローチを見つけることでした。これは主に実践的であり、初心者向けの数学の大部分を抽象化します。このアプローチは、ソフトウェアエンジニア向けに設計されたトップダウンで結果重視のアプローチであるため、従来とは異なります。

あなたがそれをより良くするだろうと思うどんな貢献もしてください。

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