データマイニングと機械学習は非常に人気が高まったため、ほとんどすべてのCS学生が分類子、クラスタリング、統計NLPなどについて知っているようです。
私の質問は、データマイナーが他のスキルとは異なるスキルを身に付けるにはどうすればよいでしょうか?彼をあまりにも見つけにくい誰かに似た人にすること。
データマイニングと機械学習は非常に人気が高まったため、ほとんどすべてのCS学生が分類子、クラスタリング、統計NLPなどについて知っているようです。
私の質問は、データマイナーが他のスキルとは異なるスキルを身に付けるにはどうすればよいでしょうか?彼をあまりにも見つけにくい誰かに似た人にすること。
回答:
開発者がMLテクニックを使用するのを何度も見ました。これは通常のパターンです。
簡単な答えは、(ほとんどの)ソフトウェアエンジニアは統計と数学が非常に弱いということです。これは彼らと競争したい人の利点です。もちろん、プロダクションコードを記述する必要がある場合、人々は快適ゾーンから外れています。本当にまれになった役割は、データサイエンティストの役割です。膨大な量のデータにアクセスして操作し、それらの値を見つけることができるコードを書くことができる人です。
何について
技術について知ることは、動物園の動物を知ることに似ています-それらに名前を付け、その特性を説明し、おそらく野生でそれらを識別することができます。
それらをいつ使用するかを理解し、落とし穴を避けながら、アプリケーション領域内で作業数学モデルを定式化、構築、テスト、および展開します。これらは、私の意見では、区別するスキルです。
科学に重点を置き、ビジネス、産業、商業の問題に体系的で科学的なアプローチを適用する必要があります。しかし、これにはデータマイニングと機械学習よりも幅広いスキルが必要です。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年、サイエンス&サニティ。
最も現実的な、適用された問題は、「マップ」からのみアクセスできません。数学的モデリングで実用的なことをするためには、詳細、微妙さ、および例外について不機嫌にならないようにしなければなりません。領土を直接知ることの代わりになるものは何もありません。
言われたことすべてに同意します。私にとって際立っているのは:
群衆から目立つようにするためのいくつかのことを次に示します。
3つのポイントすべてに適用される全体的なメッセージ:全体像を見て、細部に迷わないでください。
1つのデータマイナーを他と区別するスキルは、機械学習モデルを解釈する能力です。ほとんどの場合、マシンを構築し、エラーを報告して停止します。機能間の数学的関係は何ですか?効果は相加的または非相加的または両方ですか?関係のない機能はありますか?データには偶然のパターンしかないという帰無仮説の下で、マシンは期待されますか?モデルは独立したデータに一般化されていますか?これらのパターンは、研究中の問題にとって何を意味しますか?推論とは何ですか?洞察とは何ですか?ドメインの専門家が興奮するのはなぜですか?マシンは、ドメインの専門家が新しい質問をし、新しい実験を設計することにつながりますか?データマイナーは、モデルとその影響を世界に効果的に伝えることができますか?
私はそこに「ソフトスキル」という概念を出しました。
方法Xの「専門家」が誰であるかを認識し、彼らの知識を活用することができます(すべてのことを知ることはできないはずです)。他者と協力する能力と意欲。
MLで使用される数学で「現実世界」を翻訳または表現する能力。
異なるオーディエンスに対して異なる方法でメソッドを説明する機能-いつ詳細に集中するか、いつ戻ってより広いコンテキストを表示するかを知っている。
システム思考、あなたの役割がビジネスの他の分野にどのように反映されるか、そしてこれらの分野が仕事にどのようにフィードバックされるかを見ることができます。
不確実性の評価と理解、それに対処するための構造化された方法があります。あなたの仮定が何であるかを明確に述べることができる。
うまく一般化できる
これは良いモデルの本質です。そして、それは機械学習の最高の実践者を群衆から際立たせるものの本質です。
目標は、目に見えないデータのパフォーマンスを最適化することであり、トレーニングの損失を最小限にすることではないことを理解します。過剰適合と不足の両方を回避する方法を知っている。問題を説明するのに複雑すぎず、単純すぎないモデルを考え出す。可能な限り最大ではなく、トレーニングセットの要点を抽出する。
経験豊富な機械学習の実践者でさえ、この原則に従わないことがどれほど頻繁にあるかは驚くべきことです。1つの理由は、人間が2つの広大な理論と実践の 大きさの違いを理解できないことです。
また、上記の回答のほとんどが、より具体的かつ具体的な方法で述べたものです。 うまく一般化することは、考えてみれば最短の方法です。