機械学習者で見つけるのは難しいスキルですか?


71

データマイニングと機械学習は非常に人気が高まったため、ほとんどすべてのCS学生が分類子、クラスタリング、統計NLPなどについて知っているようです。

私の質問は、データマイナーが他のスキルとは異なるスキルを身に付けるにはどうすればよいでしょうか?彼をあまりにも見つけにくい誰かに似た人にすること。


6
これは別の質問への回答ですが、私の古い回答のいくつかのポイントをここに引き継ぐことができます。アサドは、以下の非常に良い回答で同様の発言をしています。
2014年

回答:


62

開発者がMLテクニックを使用するのを何度も見ました。これは通常のパターンです。

  1. 派手な名前のライブラリをダウンロードします。
  2. それを使用する方法を読んで10分を費やします(統計、数学などをスキップします)。
  3. データをフィードします(前処理なし)。
  4. パフォーマンスを測定し(たとえば、クラスが完全にアンバランスであっても)、99%の精度でどれだけ素晴らしいかを全員に伝えます。
  5. 壮大な失敗の結果で本番環境に展開します。
  6. 取扱説明書がまったく意味をなさないので、彼らを助けるために何が起こっているかを理解している人を見つけてください。

簡単な答えは、(ほとんどの)ソフトウェアエンジニアは統計と数学が非常に弱いということです。これは彼らと競争したい人の利点です。もちろん、プロダクションコードを記述する必要がある場合、人々は快適ゾーンから外れています。本当にまれになった役割は、データサイエンティストの役割です。膨大な量のデータにアクセスして操作し、それらの値見つけることができるコードを書くことができる人です。


14
LOLで「それはその99%の精度であるどのように素晴らしい皆に伝える」
ジャック・トゥエイン

2
+1すべてに同意します。「[...]データサイエンティスト。膨大な量のデータにアクセスして操作し、その中から価​​値を見つけることができるコードを作成できる人です。」私にとっては、ほとんどの人間にとっては複雑な統計的および基礎的な問題に取り組むことや、何かを生産コードに変えることは実行不可能だと思われるため、それは自然にまれであるべきだと示唆しています。それはまた、我々はなどの心臓血管外科医、anaesthesiologists、神経科医、看護師、病院管理者など、土木、航空、鉱業、化学、機械エンジニア持っている理由を説明
トーマスSpeidelを

2
私にとって、これは本当に誰かが目立つML候補になるために必要なものの説明ではありません-MLバッシュの詳細。あなたは、質問が何であるかさえ確信する前に「答え」を得ることに集中しすぎている誰かを説明しているように聞こえます。基本的に、「典型的なML」の人は、計画スキルの低い人であり、「クライアント」と何をするつもりなのかを先に耕し、「答え」を持って戻る前に話し合わない人です。これは、優れた数学/統計を持つことによって助けられるものではありません-それは、優れたコミュニケーションスキルを必要とするものです。
確率

61

何について

技術について知ることは、動物園の動物を知ることに似ています-それらに名前を付け、その特性を説明し、おそらく野生でそれらを識別することができます。

それらをいつ使用するかを理解し、落とし穴を避けながら、アプリケーション領域内で作業数学モデルを定式化、構築、テスト、および展開します。これらは、私の意見では、区別するスキルです。

科学に重点を置き、ビジネス、産業、商業の問題に体系的で科学的なアプローチを適用する必要があります。しかし、これにはデータマイニングと機械学習よりも幅広いスキルが必要です。RobinBloorが「データサイエンスラント」で説得力をもって主張しているからです。

それで、何ができますか?

応用分野:あなたの興味に近い様々な応用分野、またはあなたの雇用主のそれについて学びます。多くの場合、この領域は、モデルがどのように構築され、その領域に価値を追加するためにどのように使用されたかを理解することほど重要ではありません。1つの領域で成功したモデルは、多くの場合、移植して、同様の方法で機能する異なる領域に適用できます。

コンペティション:データマイニングコンペティションサイトKaggleを試してください。できれば他のチームに参加してください。(Kaggle:予測モデリング競争のプラットフォーム。企業、政府、研究者がデータセットと問題を提示し、世界最高のデータ科学者が最高のソリューションを生み出すために競います。)

基礎:4つの要素があります:(1)統計のしっかりした基礎、(2)かなり良いプログラミングスキル、(3)複雑なデータクエリの構造化方法の理解、(4)データモデルの構築。弱いものがあれば、そこから始めることが重要です。


この点に関するいくつかの引用

「何かの名前を知ることと、何かを知ることの違いを非常に早く知りました。あなたは世界のすべての言語で鳥の名前を知ることができますが、終わったとき、あなたは鳥について何も絶対に何も知りません。何が重要なのか」-リチャード・ファインマン、「科学者のメイキング」、p14「他の人が考えることを気にするもの」のp14

留意してください:

「これらのビジネスサイエンス(データサイエンス)プロジェクトを実行するために必要なスキルの組み合わせは、1人の人間にしか存在しません。実際、(i)ビジネスが行うこと、(ii)統計の使用方法、(iii)データおよびデータフローの管理方法3つの分野で広範な知識を得ることができました もしそうなら、彼または彼女は確かに特定の分野のビジネス科学者(別名、「データ科学者」)であると主張することができます。しかし、そのような個人はめんどりの歯とほとんど同じくらいまれです」-Robin Bloor、A Data Science Rant、2013年8月、Inside Analysis

そして最後に:

「地図は領土ではない」-アルフレッド・コルジブスキー、1933年、サイエンス&サニティ。

最も現実的な、適用された問題は、「マップ」からのみアクセスできません。数学的モデリングで実用的なことをするためには、詳細、微妙さ、および例外について不機嫌にならないようにしなければなりません。領土を直接知ることの代わりになるものは何もありません。



6
+1。すぐに使用できるソリューションが、組織の特定のビジネス上の問題に対して機能することはほとんどありません。調整して改善する必要があります。そのためには、内部にあるものを理解する必要があります。
ジュバル14年

4
@Zhubarb-これは部分的にしか真実ではないと思います。「すぐに使える」ソリューションを使用すると、常に効果的でなく、タスクを最初から最後まで完了させることもできません。秘Theは、「すぐに使用できるソリューション」を使用して逃げることができる場合と、よりカスタマイズされたアプローチが必要な場合を把握することです。
確率論的

41

言われたことすべてに同意します。私にとって際立っているのは:

  1. 機械学習の「専門家」が、MLを適用したい主題に本当に興味を持っている人はほとんどいない
  2. 予測精度と適切なスコアリングルールを本当に理解している人はほとんどいない
  3. 検証の原則を理解している人は少ない
  4. ブラックボックスを使用するタイミングと従来の回帰モデルを使用するタイミングがわからない
  5. どの「専門家」もベイズの最適な決定または損失/効用/コスト関数をこれまで研究したことがないようです。

3
4について詳しく説明していただけますか?私は非常にあなたが何を意味するか理解していない

17
私はそのアイテムが最も理解しやすいと思っていただろう。次に例を示します。特定の研究分野で、ほとんどの変数が相加的に作用するという以前の経験があると仮定します。予測変数が線形に動作することを前提としない加法回帰モデルのフィッティング(たとえば、回帰スプラインを使用)は、解釈可能で有用な統計モデルを提供します。一方、svmまたはランダムフォレストを使用することは、解釈が非常に難しく、分離可能な効果がなく、非線形加法モデルよりも予測しにくいでしょう。
フランクハレル14年

7
うん、主題の浅さには本当に。MLの世界でさえ、生データを魔法の箱にシャベルで詰め込み、素晴らしい洞察を出したいという傾向がよく見られます。これらの人々が探しているのは人工脳です。
DarenW

3
特にアイテム1に対して+1。ドメインに関心がないという証拠は、ドメインの知識を適用するには、ブラックボックスを「開いて」変更する方法を知る必要があるということです。ブラックボックスとは、エントリーレベルMLの大部分について、基本的な統計モデリング手法でさえ、そのブラックボックスに含まれていることを意味します。興味/能力がそこになければ、ドメイン知識を適用することははるかに困難です。
メドーラークBradsher

7
@DarenW:この傾向は名前にも反映されています。「機械学習」とは、機械が学習することを意味します...それ自体...生データをシャベルでシャベルします。Hastie、Tibshirani、et.al.によって選ばれた、あまり魅力的ではない名前(ただし、より正確なIMO)と比較してください: "Statistical Learning"。異なる意味合い、異なる説明、すべては統計原則に戻って言及しています。
アサドエブラヒム14年

11

群衆から目立つようにするためのいくつかのことを次に示します。

  • アプリケーションドメインを理解します。つまり、ビジネス環境またはその他のコンテキストです。
  • 全体像を理解してください。これはとても重要です!機械学習を勉強する人々は、しばしば細部に迷い込んでしまいます。MLモデルが適合する全体像を考えてください。多くの場合、MLパーツは、はるかに大きなシステムの小さなセグメントにすぎません。システム全体を理解します。
  • 現在「通常の」MLモデルと見なされているものだけでなく、効用および決定理論とベイズ推論を研究します。ベイジアン推論は、すべてのコンテキスト情報を問題に持ち込むという概念を形式化するための単なる方法です。効用と決定の理論は、価値観を描くことです。

3つのポイントすべてに適用される全体的なメッセージ:全体像を見て、細部に迷わないでください。


4

1つのデータマイナーを他と区別するスキルは、機械学習モデルを解釈する能力です。ほとんどの場合、マシンを構築し、エラーを報告して停止します。機能間の数学的関係は何ですか?効果は相加的または非相加的または両方ですか?関係のない機能はありますか?データには偶然のパターンしかないという帰無仮説の下で、マシンは期待されますか?モデルは独立したデータに一般化されていますか?これらのパターンは、研究中の問題にとって何を意味しますか?推論とは何ですか?洞察とは何ですか?ドメインの専門家が興奮するのはなぜですか?マシンは、ドメインの専門家が新しい質問をし、新しい実験を設計することにつながりますか?データマイナーは、モデルとその影響を世界に効果的に伝えることができますか?


8
+1合意-あなたが説明するものは統計と呼ばれますが。
トーマスシュパイデル14年

4

私はそこに「ソフトスキル」という概念を出しました。

  • 方法Xの「専門家」が誰であるかを認識し、彼らの知識を活用することができます(すべてのことを知ることはできないはずです)。他者と協力する能力と意欲。

  • MLで使用される数学で「現実世界」を翻訳または表現する能力。

  • 異なるオーディエンスに対して異なる方法でメソッドを説明する機能-いつ詳細に集中するか、いつ戻ってより広いコンテキストを表示するかを知っている。

  • システム思考、あなたの役割がビジネスの他の分野にどのように反映されるか、そしてこれらの分野が仕事にどのようにフィードバックされるかを見ることができます。

  • 不確実性の評価と理解、それに対処するための構造化された方法があります。あなたの仮定が何であるかを明確に述べることができる。


4

うまく一般化できる

これは良いモデルの本質です。そして、それは機械学習の最高の実践者を群衆から際立たせるものの本質です。

目標は、目に見えないデータのパフォーマンスを最適化することであり、トレーニングの損失を最小限にすることではないことを理解します。過剰適合と不足の両方を回避する方法を知っている。問題を説明するのに複雑すぎず、単純すぎないモデルを考え出す。可能な限り最大ではなく、トレーニングセットの要点を抽出する。

経験豊富な機械学習の実践者でさえ、この原則に従わないことがどれほど頻繁にあるかは驚くべきことです。1つの理由は、人間が2つの広大な理論と実践の 大きさの違いを理解できないことです。

  • トレーニングデータが非常に大きい場合でも、すべての可能な例のスペースは、手元のトレーニングデータと比較してどれだけ大きいか。
  • 完全な「仮説空間」はどれくらい大きいのか:実際の「解決空間」と比較して、問題の可能なモデルの数:考えられるすべて、およびソフトウェア/ツールが表現できるすべて。

N2N2N

また、上記の回答のほとんどが、より具体的かつ具体的な方法で述べたものです。 うまく一般化することは、考えてみれば最短の方法です。


2

実際に機械学習を処理する際には2つの部分があると思います

  1. エンジニアリング(すべてのアルゴリズム、さまざまなパッケージの学習、プログラミング)。

  2. 好奇心/推論(データに対してより良い質問をする能力)。

「好奇心/推論」は、他の人と区別するスキルだと思います。たとえば、Kaggle補完のリーダーボードを見ると、多くの人が共通の(類似した)アルゴリズムを使用している可能性があります。

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