【はじめに】 筆者は今年初めからインドでデータサイエンス、機械学習、ディープラーニングの分野で仕事を探していました。 34日間の就職活動で、スタートアップ企業、サービス系企業、製品系企業など8~10社の面接を受けた。著者は、自身の面接経験が求職者にとって役立つ情報となることを願ってこの記事を書きました。これを読んで何か得るものがあれば幸いです! まず、自己紹介をさせてください。 私は機械学習(音声分析、テキスト分析、画像分析への応用)の分野で 4 年以上の経験があります。一般的に、この分野の求人のほとんどは、テキスト分析(自然言語処理)と画像分析(コンピュータービジョン)が主になると思います。音声分析やオーディオ分析の人材を採用している企業はほとんどありません。私の現在の目標は、ディープラーニングや機械学習のチームを率いて興味深いプロジェクトを実行できる中級から上級レベルのポジションに応募することです。 以下は、申請プロセス中に尋ねられた質問です。お役に立てれば幸いです。 企業1:グローバルサービスを展開する企業(面接時間:20~25分) - 履歴書には、ドキュメント マイニング システムを構築したと書かれていますが、何をしたのですか? LDA テクノロジを使用して、トピック モデリングでドキュメント クラスタリングを実現できますか?
- PDF ファイル、テキスト ファイル、画像、スキャンした PDF ファイルなどを含む数百メガバイトのデータ ファイルがあるとします。分類スキームを指定してください。
- スキャンした PDF ファイルや画像形式の文書の内容をどのように読みますか?
- なぜ Naive Bayes は「Naive」と呼ばれるのでしょうか?
- ナイーブベイズ分類器について詳しく教えてください。
- ディープラーニングとは何ですか? ディープラーニングと機械学習の違いは何ですか?
経験談:これに加えて、面接官は他にもいくつか質問をしましたが、どれも混乱してしまいました。面接官がどんな答えを聞きたいのか全く分かりませんでした。私は、テッセラクトや言語モデルのトレーニングなど、より技術的な詳細について学びたいと思っていましたが、彼は興味がないようでした。おそらく彼は、達成された結果や適切な説明、あるいはより良い解決策を聞きたいだけなのでしょう。新人を面接するのと経験豊富な専門家を面接するのとの間に違いはないように感じます。 [[227299]] 企業2:グローバルサービスを展開する企業(面接時間:40~45分) - 教師なし学習でドキュメントをクラスタリングするにはどうすればよいでしょうか?
- 特定のクエリ/検索に関連するファイルを見つけるにはどうすればよいですか?
- TF-IDF テクノロジーについて説明します。
- 私の経験から言うと、TF-IDF 技術はドキュメントの分類やクラスタリングには適していません。どうすれば改善できるでしょうか?
- 長短期記憶 (LSTM) ニューラル ネットワークとは何ですか? その仕組みを説明します。
- word2vec モデルとは何ですか?
- Python の可変オブジェクトと不変オブジェクトについて説明します。
- Python ではどのようなデータ構造を使用しましたか?
経験:面接プロセス全体はテキストの類似性に関する質問を中心に展開され、私はすべて合格しました。しかし、今回はまだ技術的な深い議論はありません。おそらく、その会社にはテキスト分析の分野でいくつかの小さなプロジェクトがあったため、最終的にオファーを受けることができました。 [[227300]] 企業3:グローバルな製品とサービスを展開する企業(インタビュー時間:40分) - 不均衡なデータセットを使用して多クラス分類問題に対処するにはどうすればよいでしょうか?
- テキスト文から言語識別をどのように行うのでしょうか?
- 中国語や日本語で表意文字をどのように表現するのでしょうか?
- チャットボットを設計するにはどうすればいいでしょうか? (アイデアはありませんが、TF-IDF の類似性に基づいた意図とフィードバックを使用してこの質問に答えてみます。)
- 意図を生成し、入力された質問に応答するリカレントニューラルネットワークを使用してチャットボットを設計できますか?
- Reddit データセットで RNN または LSTM を使用してチャットボットを設計し、10 個の可能な返信を提供できるとします。最適な返信を選択する方法、または他の返信を削除する方法はありますか?
- サポート ベクター マシン (SVM) が非線形境界を学習する方法について説明します。
経験:はっきりと覚えていない質問がいくつかありました。面接で技術的な詳細を詳しく話したのはこれが初めてで、その後この会社からオファーを受けました。 [[227301]] 企業4: 設立1年の医療系スタートアップ(インタビュー時間: 50分) - 精度と再現率とは何ですか? 医療診断ではどちらがより重要だと思いますか?
- 精度と再現性について説明します。
- 受信者動作特性曲線 (ROC 曲線) を描くにはどうすればいいですか? ROC 曲線の下の領域は何を意味しますか?
- マルチクラス分類タスクの ROC 曲線をプロットするにはどうすればよいですか?
- マルチクラス分類タスクのその他のメトリックを一覧表示します。
- 感度と特異度とは何ですか?
- ランダムフォレストの「ランダム」とはどういう意味ですか?
- テキスト分類を実行するにはどうすればいいですか?
- テキストを学習したかどうかをどのように判断しますか? TF-IDF なしでこれを行うことは不可能ですか? (n-gram モデル (n=1、2、3、4) を使用し、TF-IDF を使用して長いカウント ベクトルを作成できると回答しました)
- 機械学習で他に何ができるでしょうか? (分類のために、長期短期記憶ニューラル ネットワークと word2vec を組み合わせるか、1 次元リカレント ニューラル ネットワークと word2vec を組み合わせることを提案しました。しかし、面接官は機械学習ベースのアルゴリズムを改善したいと考えています。)
- ニューラル ネットワークは線形ノードで構成されている場合、どのようにして非線形形状を学習できるのでしょうか? 非線形境界を学習する理由は何ですか?
経験:覚えていない良い質問がいくつかあります。面接のプロセスは素晴らしかったのですが、いくつかの問題について意見が一致しませんでした。そして、面接中に、スタートアップとしては、ML、DL、DS に取り組んでいる人が 2 ~ 3 人しかいないことがわかりました。結局、私は面接に行けませんでした。 [[227302]] 企業5: Amazon (インタビュー時間: 50~55分) - 決定木をトレーニングするときのパラメーターは何ですか?
- 決定木のノードで分割するための分割基準は何ですか?
- ジニ係数を計算する式は何ですか?
- エントロピーを計算する式は何ですか?
- 決定木は、どの機能で分割を行う必要があるかをどのように決定するのでしょうか?
- 数学的計算を通じて収集された情報をどのように使用するのでしょうか?
- ランダムフォレストの利点を簡単に説明してください。
- ブースティングアルゴリズムについて簡単に説明します。
- 勾配ブースティングはどのように機能しますか?
- AdaBoost アルゴリズムの動作原理を簡単に説明します。
- SVM ではどのようなカーネルが使用されていますか? SVM の最適化手法は何ですか?
- SVM はどのようにして超平面を学習するのでしょうか? 数学的な詳細について説明します。
- 教師なし学習についてお話しましょう。アルゴリズムとは何でしょうか?
- K-Means クラスタリング アルゴリズムで K の値を定義するにはどうすればよいでしょうか?
- K-Means クラスタリング アルゴリズムで K を定義する方法を少なくとも 3 つ挙げてください。
- 他にどのようなクラスタリング アルゴリズムを知っていますか?
- DB-SCAM アルゴリズムを紹介します。
- 階層的凝集型クラスタリングの動作原理を簡単に説明します。
- 主成分分析アルゴリズム (PCA) について説明し、PCA アルゴリズムを使用する数学的手順を簡単に説明します。
- 20.PCA アルゴリズムを使用することの欠点は何ですか?
- 畳み込みニューラル ネットワークの仕組みについて説明します。実装の詳細を詳しく説明します。
- 畳み込みニューラル ネットワークにおけるバックプロパゲーションについて説明します。
- 機械学習モデルをどのように展開しますか?
- ほとんどの場合、機械学習モデルを C++ でゼロから構築する必要があります。これはできますか?
経験: Amazon のレベル 6 の職種の面接を受けました。彼らの主な焦点はアルゴリズムと数学にあります。しかし、私は数学の知識をまったく準備していませんでした。知っていることだけを話し、数学的な詳細については詳しく説明しませんでした。そのため、面接官は私がレベル6の仕事に適していないと考えました。機械学習アルゴリズムの一般的な数学的表現を覚えていれば、Amazon の技術面接に簡単に合格できると思います。 [[227303]] 企業6: 世界的なサービス大手 (インタビュー時間: 50~55 分) - シグモイド関数の範囲は何ですか?
- ロジスティック回帰を実装する scikit-learn パッケージの名前を挙げてください。
- 標準正規分布の平均と分散は何ですか?
- Python ではどのようなデータ構造を使用しますか?
- テキスト分類の方法は何ですか? どのように分類しますか?
- TF-IDF 技術とその欠点について説明します。TF-IDF の欠点を克服するにはどうすればよいでしょうか?
- バイグラムとトライグラムとは何ですか? テキスト文を使用して、バイグラムとトライグラムの TF-IDF テクノロジーについて説明します。
- word2vec の応用例を示します。
- ニューラル ネットワークを設計するにはどうすればよいでしょうか。「深さ」を実現するにはどうすればよいでしょうか。これは、ニューラル ネットワークの基本的な問題です。
- LSTM の動作原理を簡単に説明します。テキストをどのように記憶するのでしょうか?
- ナイーブベイズ分類器とは何ですか?
- コインを10回投げたとき、4回表が出る可能性はどれくらいでしょうか?
- Python リスト内の要素のインデックスを取得するにはどうすればよいでしょうか?
- 2 つの pandas データセットを結合するにはどうすればいいですか?
- ユーザーの行動から不正行為をシミュレートする必要がありますが、この問題をどのように解決しますか? これは異常検出の問題または分類の問題である可能性があります。
- 決定木とランダムフォレストのどちらを好みますか?
- ロジスティック回帰とランダムフォレストの違いは何ですか?
- 分類問題には決定木とランダムフォレストのどちらを使用しますか? ランダムフォレストの利点は何ですか?
経験:私もこの会社からオファーをもらいました。実際、私はこの技術交流をとても楽しみました。おそらく、これらの質問は機械学習やデータサイエンスの分野における最も基本的な質問だと思うかもしれませんが、面接官はこの分野の出身ではないか、この分野の発展についてあまり知らないのではないかと思います。 [[227304]] 企業7:グローバルビジネスマネジメント会社(面接時間:25~30分) - 不均衡なデータセットでは、ランダム フォレストとブースティングのどちらのモデルを選択しますか? 理由は何ですか?
- どのようなブースティングテクニックを知っていますか?
- 教師あり学習を使用して分類問題を解決するには、どのモデルを選択しますか? カテゴリが 40 ~ 50 個あると仮定します。
- アンサンブルテクニックはどのように使いますか?
- サポート ベクター マシン (SVM) の動作原理を簡単に説明します。
- カーネルとは何でしょうか? 簡単に説明しましょう。
- 非線形回帰を実装するにはどうすればいいですか?
- Lasso 回帰と Ridge 回帰とは何ですか?
体験談:正直に言うと、このインタビューは少し退屈だったので、真剣に受け止めませんでした。しかし、その質問はとても良いです。私が面接を受けたポジションでは、15~16 人のチームを率いてプロジェクトに取り組む必要があり、その後マネージャーとの面接と人事との面接が行われました。結局、彼らは私に仕事の相談と良い給料を提供してくれました。 企業8: 設立4年目の制作・サービス会社(60分) - 履歴書にはスピーチの音声認識に取り組んだと書かれていますが、実装方法についてもう少し詳しく教えていただけますか?
- メル周波数ケプストラム (MFCC) とは何ですか?
- ガウス混合モデルとは何ですか? また、クラスタリングをどのように実現しますか?
- 期待最大化を達成するにはどうすればよいでしょうか。それを達成するための手順について説明します。
- GMM モデルでは確率はどのように計算されますか?
- 発音認識を行う際に、GMM-UBM 技術の MAP チューニングをどのように実行しますか?
- 使用している I-vector テクノロジーについてお話しください。
- コンテキストを分析する際の主な要素は何ですか?
- JFA と I-vector の違いは何ですか? JFA ではなく I-vector を選択する理由は何ですか?
- PLDA I-vector テクノロジーを使用したことがありますか?
- Baidu の Deep Speaker 論文を読みましたか?
- 2 つのモデルから選択する場合、選択の基準は何ですか? (モデル選択のテクニック)
- ベイズ情報量基準 (BIC) と赤池情報量基準 (AIC) の数学的動作原理を簡単に説明します。
- ベイズ情報量と赤池情報量はどのように機能しますか?
- MFCC 特徴ベクトル行列のデータが失われた場合はどうすればよいでしょうか?
- 音声認識はどのように行われますか? その特徴は何ですか?
- あなたの分類器は、音声と音楽用の分類器ですか、それとも音声と非音声用の分類器ですか?
- ディープニューラルネットワークは音声分析にどのように使用されますか?
経験:はい、これらの質問の内容に驚かれるかもしれません。偶然にも、私たちは二人とも音声分析(特に発音認識)に携わっています。そのため、面接プロセス全体がスピーチ分析を中心とした質問でいっぱいになりました。面接官がプロフェッショナルであり、私に肯定的なフィードバックを与えてくれたことは明らかでした。その後、その会社から AI ソリューション アーキテクトとしての職をオファーされました。 [[227305]] いくつかの提案 この就職活動中に、おそらく 25 ~ 30 人の専門家と話をしましたが、読者と求職者へのアドバイスは次のとおりです。 - 履歴書は重要です。履歴書には、参加したプロジェクト、Kaggle コンテスト、MOOC コースの認定証、取得した論文などを必ず明記してください。何も紹介せずにAmazonから面接の電話がかかってきました。履歴書は人事担当者や面接官に好印象を与える強力なツールです。
- 自信と熱意は戦いの半分です。自信を持って面接に臨み、熱意を示してください(これはスタートアップ企業やサービスベースの企業との面接では特に重要です)。
- 面接官の質問にあまり熱心に答えないでください。答える前に少し時間を取って答えを整理し、質問が理解できない場合は必ず面接官に質問してください。また、面接中は落ち着いてください。
- 概念を説明するときは、必ず適切に表現するようにしてください。これまでに実施したプロジェクトの例をいくつか挙げ、履歴書に記載されているスキルやプロジェクトについてよく理解していることを確認してください。
- ほとんどの場合、面接官はこの分野での経験を持つ技術系の人材を求めています。この分野にまだ不慣れな場合は、これまでに行ったプロジェクトを記載した履歴書を作成することから始めることができます。あなたの GitHub アカウントも非常に説得力があります。さらに、より多くの Kaggle コンテストや MOOC コースに参加することもできます。
- 面接官と向き合うときは謙虚な姿勢で面接官の意見に耳を傾けるように注意を払わなければ、不採用になってしまいます。時々、R と Python を使う人たちがお互いを見下していることがあります。そのような議論には関わらないほうがいいです。そうしないと、簡単に拒否されてしまいます。個人的には、R と Python はどちらもロジックと概念を実装するためのツールであると考えています。
最後に、皆さんの面接が成功することを祈っています! |