データサイエンティストvs機械学習エンジニア


66

「データサイエンティスト」と「機械学習エンジニア」の違いはありますか?

過去1年ほどで、「機械学習エンジニア」が求人に多く登場し始めました。これは特にサンフランシスコで顕著です。サンフランシスコでは、おそらく「データサイエンティスト」という言葉が生まれました。ある時点で「データサイエンティスト」が「統計学者」を追い越し、「データサイエンティスト」にも同じことが徐々に起こり始めているのではないかと思っています。

このサイトでは、キャリアに関するアドバイスはトピック外としてリストされていますが、定義について質問しているため、私の質問は非常に関連性が高いと考えています。私自身のキャリアの軌跡や、他のトピック外の質問が持っているような個人的な状況を考えれば、私は推奨事項について尋ねません。

この質問は、いつかはこのサイトの多くのユーザーに大きな影響を与える可能性があるため、話題になっています。実際、「統計学者」対「データ科学者」の進化が起こらなかった場合、このスタック交換サイトは存在しない可能性があります。その意味で、これはかなり適切な、潜在的に存在する問題です。


2
Data scientistmachine learning engineerより具体的であるが、実際の仕事が何であるかについてほとんど明確でない指定のように聞こえます。最初のケースでは、会社がターゲットを提供し、使用するアプローチ(機械学習、画像処理、ニューラルネットワーク、ファジーロジックなど)を把握する必要があります。2番目のケースでは、あなたの会社はすでにどのアプローチを使用する必要があるかを絞り込んでいます。
gurvinder372

関連:データサイエンス対オペレーションズリサーチ。また、科学者エンジニアとは異なるものです。残念ながら、業界はこれを気にしていないようです。
離散トカゲ

1
他の誰かが指摘したように、MLエンジニアとは、単にMLモデルを生産に投入する人のことです。実際の予測モデルとその基礎となる数学を深く理解することは期待されていませんが、これらのモデルを使用可能にするソフトウェアツールを習得する必要があります。データサイエンティストは、統計/数学およびML / AIを深く理解している必要があり、多くの場合、MLエンジニアが使用するツールを作成する人です。したがって、MLエンジニアは基本的に専門のソフトウェアエンジニアに近く、DSは計算統計学者に近いです。
DIGIO

回答:


55

良い質問。実際、主に両方がまったく新しい仕事であるため、この主題に関して多くの混乱があります。しかし、セマンティクスに焦点を合わせると、ジョブの本当の意味が明確になります。

事前に、リンゴとリンゴを比較して、単一の主題であるデータについて話した方がよいでしょう。機械学習とそのサブジャンル(ディープラーニングなど)は、統計理論、データ収集(DAQ)、処理(非機械学習駆動でもよい)、データワールドの1つの側面にすぎません。結果の解釈など

したがって、説明のために、機械学習エンジニアの役割をデータエンジニアの役割にまで広げます。

科学とは、実験、試行錯誤、理論構築、現象学的理解に関するものです。エンジニアリングとは、科学がすでに知っていることを完成させ、「現実の世界」に持ち込むことです。

プロキシについて考えてみましょう。核科学者と原子力エンジニアの違いは何ですか?

核科学者は、原子の背後にある科学、それらの間の相互作用、原子からエネルギーを得ることができるレシピを書いたものを知っている人です。

原子力技術者は、科学者のレシピを取り、それを現実の世界に運ぶ責任を負っている男です。そのため、原子物理学に関する知識は非常に限られていますが、材料、建物、経済学、および適切な原子力発電所を建設するのに役立つ他のあらゆるものについても知っています。

データの世界に戻ると、ここに別の例があります。ConvolutionalNeural Networks(Yann LeCun)を開発した人はデータサイエンティストであり、写真で顔を認識するためにモデルを展開する人は機械学習エンジニアです。データの取得から.JPGイメージの登録までのプロセス全体を担当するのは、データエンジニアです。

そのため、基本的に、今日のデータサイエンティストの90%は実際にはデータエンジニアまたは機械学習エンジニアであり、データサイエンティストが実際にエンジニアを必要とするために採用されたポジションの90%です。簡単なチェック:インタビューでは、発行した新しいメソッドに関する論文の数ではなく、実稼働環境で展開したMLモデルの数について尋ねられます。

代わりに、「機械学習エンジニア」に関するアナウンスが表示される場合、リクルーターは違いを十分に認識しており、実際に何らかのモデルを実稼働に移せる人が必要であることを意味します。


私は核科学者とエンジニアのことを考えたことがありません。これは完全な答えだと思います。私の経験からすると、分析をしているときは、白い実験用のコート(ジュピターときれいなグラフ)のようなものです。エンジニアリング生産作業(etlおよびwebappコンテナー)で「手を汚す」とき、私は常に奇妙なエッジケース、バグ、およびコードの悪臭を見つけています。
トニー

Yann LeCunはコンピューター科学者ではありませんか?そして、データサイエンティストは、事前に作成されたコンピューターアルゴリズムと手法(Yann LeCunのようなコンピューターサイエンティストによって発明された)を使用してデータの科学的分析を実行する人ですか?他の科学者が仕事でコンピューターを活用するのと同じ方法ですか?それでは、データ内の隠された真実を学ぶために、データの取得、クリーニング、さまざまな分析手法(プロット、パターンマッチング、MLモデルなど)を組み合わせますか?
ディディエA.

YLCは確かにコンピューターサイエンティストですが、データに特化しています。CSは非常に幅広い分野になり、そこからすべての新しい定義(DSなど)が明らかになりました。そのため、CSの使用はあまり差別的ではありません。数百年前のアペラティブ「物理学者」のように:今日、その言葉は、あなたがより適切に指定しない限り、実際には誰かの仕事を定義しません(例:Particle P.、Solid State P.など)。しかし、とにかく、科学者(CS、DS、任意の-S)は、他人の発見の使用を制限する人ではありません。代わりに、彼の仕事は理解することであり、この意味で発見をすることです。
ヴィンチェンツォラヴォリーニ

キャリアガイダンスに関するこの質問に親切に答えくださいData Engineer
stom

「現象論的理解」に関する科学はどうですか?
ubadub

10

それらは新しいので、用語は曖昧です

「データサイエンス」分野での就職活動の最中に、ここで2つのことが行われていると思います。まず、ジョブは新しいものであり、さまざまな用語の定義が定められていないため、用語とジョブの説明の一致について一般的に合意されていません。これを「Web開発者」または「バックエンド開発者」と比較してください。これらは2つの類似した仕事であり、合理的に十分に同意され、明確な説明があります。

第二に、就職活動や最初の面接を行う多くの人々は、彼らが何のために雇っているのかをよく知らない。これは特に、リクルーターを雇って応募者を見つける中小企業の場合に当てはまります。CareerBuilderまたは任意のフォーラムにジョブの説明を投稿しているのはこれらの仲介者です。これは、彼らの多くが自分のことを知らないということではありません。彼らの多くは、彼らが代表する企業や職場の要件について十分な知識を持っています。しかし、異なる特定の職種を説明する明確な用語がないと、曖昧な役職がしばしば結果になります。

分野には3つの一般的な区分があります

私の経験では、データサイエンスの「ジョブスペース」には3つの一般的な区分があります。

1つ目は、データサイエンスを可能にする数学的および計算技術の開発です。これには、新しい機械学習手法の統計的研究、これらの手法の実装、これらの手法を現実世界で使用するための計算インフラストラクチャの構築などが含まれます。これは、顧客から最も離れた部門であり、最小の部門です。この作業の多くは、大企業(Google、Facebookなど)の学者または研究者によって行われています。これは、GoogleのTensorFlow、IBMのSPSSニューラルネット、または次の大規模なグラフデータベースの開発などに使用されます。

2番目の部門では、基礎となるツールを使用してアプリケーション固有のパッケージを作成し、実行する必要のあるデータ分析を実行します。PythonやRなどを使用して、あるデータセットの分析機能を構築するために雇用されています。私の経験では、この作業の多くは「データランドリー」を行い、あらゆる形式の生データを使用可能なものに変換します。この作業のもう1つの大きな部分は、データベース化です。必要なタイムラインでアクセスできる方法でデータを保存する方法を考えます。この仕事はツールを必要とせず、既存のデータベース、統計、グラフィカル分析ライブラリを使用して結果を生成します。

3番目の部門は、新しく編成されたアクセス可能なデータから分析を作成しています。これは、組織に応じて最も顧客に接する側です。ビジネスリーダーが意思決定に使用できる分析を作成する必要があります。これは、3つの部門の中で最も技術的なものではありません。データサイエンスはまだ始まったばかりなので、多くの仕事はこの時点で2番目と3番目の部門のハイブリッドです。しかし、将来的には、これら2つの仕事の間に、よりクリーンな区分が存在することを強く疑います。人々は、技術、コンピューターサイエンス、または統計に基づいた教育を必要とする2番目の仕事を獲得し、この3番目の仕事は一般教育のみを必要とします。

一般に、3人全員が自分を「データサイエンティスト」と表現できますが、最初の2人だけが自分を「機械学習エンジニア」と合理的に説明できます。

結論

当分の間、あなたはそれぞれの仕事が何を伴うか自分自身を見つけなければなりません。私の現在の仕事は、機械学習を行うために「アナリスト」として雇われました。しかし、仕事に取り掛かると、会社のデータベースが不十分であることが明らかになり、今ではおそらく私の時間の90%がデータベースの作業に費やされています。私の機械学習の露出は、scikit-learnパッケージが最も適切と思われるものをすばやく実行し、csvファイルを第3部門のアナリストに送信して、顧客向けのパワーポイントプレゼンテーションを作成しています。

フィールドは流動的です。多くの組織は、プロセスにデータサイエンスの意思決定を追加しようとしていますが、それが何を意味するのかを明確に理解していません。彼らのせいではなく、未来を予測するのはかなり難しく、新しいテクノロジーの影響は決して明確ではありません。分野がより確立されるまで、多くの仕事自体は、それらを説明するために使用される用語と同じくらい曖昧です。


9

[完全に個人的な意見]

「データサイエンティスト」という用語が「統計学者」を上回った場合、それは大きな違いというよりも、むしろクールに聞こえることになります。同様に、用語「深層学習」。これは、さらに2、3層の単なるニューラルネットワーク(別の機械学習アルゴリズム)です。特定のニューラルネットがMLではなくDLと呼ばれる場合、その定義自体があいまいになるため、誰も説明できません。「データサイエンティスト」という用語もそうです。

ただし、企業がデータサイエンスにDevOpsの考え方を採用するにつれて、MLエンジニアという用語が進化しました。

データサイエンスに対するDevOpsの考え方は何ですか?

ここでモデルを構築し、展開し、実稼働環境で維持することも期待されます。これにより、ソフトウェアチームの多くの摩擦を回避できます。

[PS:DevOpsはソフトウェアを実行する方法であり、哲学のようなものです。ですから、それを指定として使用すると、再び混乱します]。

そのため、MLエンジニアはシステムエンジニアリング、ML、および統計の微妙な違いを知っているはずです(明らかに)。

漠然とした一般化は、データエンジニア+データサイエンティスト= MLエンジニアになります。

そうは言っても、この空間の指定は日々曖昧になり、「統計学者」という用語はますます関連性を増しています(皮肉なことに!)。


2
機械学習は単なるニューラルネットではありません(例として、あらゆる種類のツリーベースの分類子を検討してください)。
S. Kolassa -モニカ元に戻し

@StephanKolassaうん。同意する。一般化しすぎてはいけません:)指摘してくれてありがとう。
Dawny33は

1
(+1)しかし、「統計学者」がより関連性を持つようになるのは皮肉なことではないと思います。最近の「運用研究者」はどこにいますか?;)
usεr11852は、

7

会社ごとに異なる場合がありますが、Data Scientistの指定は以前から存在しおり、通常はデータから知識と洞察を引き出すことを目的としています

データサイエンティストがやっているのを見ました

  • 画像処理および画像認識アルゴリズムの作成、
  • ビジネスユースケースの意思決定ツリーを設計および実装し、
  • または、いくつかのレポートを設計して実装するか、データ変換用のETLを作成します。

データ科学はしかし、のスーパードメインである機械学習

数学、統計、情報科学、コンピューター科学の幅広い分野の多くの分野、特に機械学習、分類、クラスター分析、不確実性定量化、計算科学、データマイニング、データベースのサブドメインから引き出された手法と理論を採用しています。および視覚化

機械学習エンジニアは、あなたの雇用主がすでに

  • アプローチ、
  • ツール、
  • ラフモデル(提供するもの)

機械学習を使用してデータから知識または洞察を抽出するには、同じことを実現するための機械学習アルゴリズムを設計および実装します。


5

機械学習エンジニアとエンジニアリングに特化したデータサイエンティストは同じですが、すべてのデータサイエンティストがエンジニアリングに特化したわけではありません。約5年前、ほとんどすべてのデータサイエンティストはエンジニアリングに専念していました。たとえば、本番コードを書く必要がありました。しかし、今では、Jupyterノートブックでのプレイ、データの理解、きれいなグラフの作成、クライアント、マネージャー、アナリストへの説明など、ほとんどの部分にデータサイエンティストの役割があります。彼らはエンジニアリングを行いません。そして、機械学習エンジニアという用語が登場して、これがエンジニアリングの立場であることを強調したと思います。


2

TL; DR:誰が尋ねているかによります。

この質問への答えは、主に誰が求めているかという期待、知識、経験に依存します。回答のあいまいさを伴う類似の質問は次のとおりです。

ソフトウェア開発者、ソフトウェアエンジニア、コンピューター科学者の違いは何ですか?

一部の人々、特にコンピューターサイエンスとソフトウェアエンジニアリングを研究または指導している人々にとって、これらの分野には大きな明確な違いがあります。しかし、平均的なHRワーカー、技術系リクルーター、またはマネージャーにとって、これらはすべて「コンピューターの人々」です。

私が強調したのは、Vincent Granvilleのこの引用です。

以前の私のキャリアの中で(1990年ごろ)私は、衛星画像で(例えば湖のために、または形状や特徴)のパターンを識別するために、他のものの間で、画像のリモートセンシング技術に勤務し、画像分割を実行するために:その時点で私の研究は、計算と名付けました統計情報ですが、私の自宅の大学の隣のコンピューターサイエンス部門でまったく同じことをしている人々は、彼らの研究人工知能と呼ばれています。今日、それはデータサイエンスまたは人工知能と呼ばれ、サブドメインは信号処理、コンピュータービジョン、またはIoTです。


1

機械学習はより具体的であり、この分野では次を習得する必要があります。

  • 機能とラベル
  • テストデータとトレーニングデータ
  • 機能の正規化
  • 一般的なデータ構造(配列の配列)
  • 機能の選択

0

私は与えられた答えのどれにも反対しません。ただし、データサイエンティストの役割は、ここでの事実上すべての答えに反映されていると思います。これらの答えのほとんどは、「まあ、エンジニアはモデルを書いて展開するだけです。」という結果に何かを言います。ちょっと待ってください- これらの2つのステップには多くの作業があります!

私のデータサイエンティストの定義は、科学的手法をデータの操作に適用する人です。だから私は常に仮説を考え、テストを設計し、データを収集し、それらのテストを実行し、クロスバリデーションの結果を確認し、新しいアプローチを試し、データを変換するなど、本質的には「ただモデルを書いてデプロイする」 「プロの設定で。

それで、あなたの答えとして、私は「悪魔は細部にある」と思います。なぜなら、あなたはこれらのステップ/用語のいくつかを単に見張ることができないからです。また、就職活動をしている場合は、「データエンジニア」と「データサイエンティスト」の賃金水準が大きく異なる可能性があるため、注意が必要です。データエンジニアの給与のデータサイエンティストになりたくないのです。

私は常にデータサイエンティストとして自分自身を世に出し、企業に予測モデル(分析だけでなく)に取り組んでおり、Excelの騎手ではないことを伝えています。プログラミング言語(R、Pythonなど)で書いています。これらの両方を実行できるポジションを見つけることができれば、データサイエンティストになります。

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