福祉のウェブサイト!プログラマのインタビュー - パートIVアルゴリズムエンジニアインタビューDaquanの

コンピューティング機能の重要性1.xgboost

Xgboost重要な機能の数は、それが木とすべてに表示されていることである一方で、得点を得るために従った構造を備えていますかを選択するためにスプリット・ポイントとして計算。

 

2.xgboostが行う方法を並列化しています

最も時間のかかるステップを学習決定木は、特性値をソートすることで、あなたはノード分割時の各機能のゲインを計算する必要があり、最後の選挙の利得優れた機能は、分割を行い、各機能のために計算された利得は、マルチスレッドをオンにすることができますそして、並列ヒストグラム近似アルゴリズムは、ノード分割のために使用することができます。

 

3.xgboostとlightgbm違いやアプリケーションのシナリオ

(1)xgboost使用レベルごとの分割戦略、葉単位戦略のlightGBM使用は、差がすべてのノード各層を分割する違いをしないxgboostで、ノードは、結果が影響を及ぼさない、いくつかの非常に小さなを得てもよいです大規模な、しかしxgboostも分割され、コストを持参してください。leaftごとのアプローチは、最大の利益を現在のノードのすべてのリーフノードを選択することがあるので、再帰的に、それを明確に、このアプローチの葉ワイズということで、スプリットスプリットました簡単に簡単には比較的高い深さに落下するので、オーバーフィッティングに、あなたは、オーバーフィッティングを避けるためにように、最大​​深さを制限するために必要なので。

明らかに、ヒストグラムアルゴリズム:xgboost厳密アルゴリズムは、ヒストグラムアルゴリズム).1メモリ及び計算コストの利点が小さくないという利点メモリから異なる決定木アルゴリズムのヒストグラムを用いて、(2)lightgbm (特徴点のみバレル値離散後の機能の後に保存されているため)、メモリ消費量(#データ*#特徴* 1Bytes)、及びメモリ消費量が正確なアルゴリズムをxgboostある:(2 * #data *#特徴* 4バイト)算出される)は、元の機能のためxgboost値を保存する必要があるだけでなく、インデックス値の順序保存、値は32ビット浮動小数点利点を.2保存する必要がある場合、前仕分け良い収入分割機能計算分割を選択するためのアルゴリズムを全てのサンプルの固有値を横断する必要性、時間(#data)、およびヒストグラムアルゴリズムラインでバレルを通過するだけ、時間(#bin)

(3)加速度ヒストグラム間の差を計算し、ヒストグラムことにより計算を加速する、親ノードヒストグラムの兄弟ノードを差し引いたヒストグラムの子ノードであってもよいです。

離散的な機能の分割は、各々が、バレルとしてカウントは、分割されたゲインが値を有するカテゴリ特徴の(4)lightgbm支持直接入力は、ゲインの「カテゴリの一部である」。ワンホットと同様コーディング。

(5)ビルド動的にすべてのレベルでxgboostヒストグラム、ヒストグラムアルゴリズムがあるため、特定の機能のためxgboostが、すべての共有特徴ヒストグラム(各サンプルの重量を二次導関数を重み付けされた)、すべてがそうではありません一つは、ヒストグラムを構築するので、各機能のヒストグラムの両方でのヒストグラムlightgbmを再構築する必要があり、十分である。そのアプリケーションシナリオは、実際のプロジェクトと2つのアルゴリズムの利点に応じて選択しました。

 

パラメータ推定法の4.HMM隠れマルコフモデルがありますか?

期待値最大化(期待値最大、EM)アルゴリズム

 

オーバーフィッティングを防止する方法5.?

1.初期の方法を停止する;これらL1およびL2正則;. 3ドロップアウトニューラルネットワークのいずれか; 4ツリー剪定、スラック変数の5.SVM 6アンサンブル学習。

 

6.Focal損失紹介します

陽性および陰性サンプルの割合で深刻な不均衡に1段目標検出の問題を解決するために主に焦点損失損失関数は、負のサンプルのウェイトトレーニングに共有に単純な右の大きな数を減らす、それはまた、試料掘削難しい。損失関数として解釈することができます形式:焦点損失は、クロスエントロピー損失、最初のレビューバイナリ損失を交差に基づいて行われた変更の関数です。

関数は、出力を介して活性化されたので、陽性サンプルのための共通のクロスエントロピ見、大きい0-1の間の小さな出力の損失の確率である。陰性サンプルについて、出力の損失の小さい確率が小さくなる。これは損失関数よりゆっくりとき、単純な反復プロセスにおける多数のサンプルと最高に最適化されない場合があります。 

まず、元の基礎プラス分類サンプルに容易の損失を低減するように、γ> 0の要因は、それが困難な誤ったサブサンプルに焦点を当てることができます。

例えば、ガンマ2は、n型のサンプルについて、予測結果が肯定的である0.95単純なサンプル(1から0.95)ガンマ電力が非常に小さくなり、その後、損失関数値が小さくなる。確率予測同様系負試料について、試料の予想損失より0.1予測子は0.7のはるかに小さい値でなければならない比較的大きな損失。サンプルの0.3。予測確率は0.5であり、唯一の0.25倍の損失低減、そのサンプルを区別するために、この困難にもっと注意を払う。これは、簡単なサンプルの影響を低減し、非常に小さな多数のサンプル後の効果の予測確率は、それがより効果的かもしれ積み重ねます。

また、バランス因子αの添加は、サンプル自体は、正および負の変化率のバランスをとるために使用されます。 

唯一のアルファを追加し、単純な問題や困難サンプルを解決することができませんでしたが、正と負のサンプルのバランスをとることの重要性

ラムダが0で簡単な調整サンプル重みラムダ減少率は、ラムダが増加すると、調整係数の影響も増加している場合、クロスエントロピー損失関数である。2、最適なラムダであることが見出されました。

 

 7.正と負のサンプルソリューション?参考値評価指標の不均衡?

グッドインジケータ:ROCおよびAUC、F値、G-平均;悪い指標:高精度、リコール

 

8.転移学習

これは、直接使用する訓練を受けたモデルの前に学習転送することで、データの前を活用することができ、また、独自の実験データの少量を回避しそうにする。簡単に言えば、モデルの初期化を行うことで、訓練を受けたから初期化データモデル。

 

どの9.データのアンバランスを行うには?

データ通話、スコアFL、MCCのアンバランス精度である場合、正しい評価基準は、AUCの評価指標などを用いることができます。

このようなサブサンプリングとオーバサンプリングなどのリサンプリングデータセット、アンダーデータセットは冗長性の大きさを減少させることによってバランスされている。オーバーサンプリング時にデータの不足、繰り返し使用することにより、稀なデータセットのサンプル数を増やすことによってバランスしようと、ブートストラップ、撃っは、新しいサンプルを生成したいです。

クラスタリングほとんどのクラスについて、K倍クロスバリデーション、リサンプリングされたデータセットの異なる組み合わせを使用する正しい方法で

 

10.AUC理解

AUC試料が傾斜を許容する能力、能力を選別陽性および陰性サンプル反応モデルの強度のみを反映するが、それは任意の正および負のサンプルを取ることを含む、より直感的で、負のサンプルの確率は、陽性サンプルのスコアよりも大きいです。

 

11.AUCの式

 

Mは、サンプルの正の数である.Rankを生成することができる前に、Nは、値の組み合わせの大きな少数であるサンプル数の負を表し、それは正の例とすることができるようにどのは、(N、N)は、数が減算されます上記の式を有します。

 

特徴選択を行う方法12

特徴選択は、主に二つの理由のために、重要な前処理データである:一つはオーバーフィッティングを低減するためのモデルより汎化能力を作るために、特徴の数、寸法の減少を低減することである。両者の間の機能および特徴値を高めることです理解。

共通する特徴選択方法:

1)、前記より小さな分散の除去

多くの場合、対応する係数がゼロであるため、2)、正則は.L1正則モデル.L2スパース正則より安定した性能、便利な機能を生成することができます。

3)、ランダムな森林は、分類のために、通常は一般的に用いられる回帰問題へのジニ不純物やゲイン情報は、分散または最小二乗フィットされる。通常、機能は必要ありません面倒等また、エンジニアリング、パラメータ調整ステップ二つの主要な問題、一つの重要な特徴は、低(フィーチャを関連する問題)を得点する可能性がある、2はこの方法変数クラスとより多くの機能(バイアスの問題)の有利な特徴です。

4)選択の安定性は比較的新しいアプローチのサブサンプリングアルゴリズムの選択との組み合わせである、回帰アルゴリズムは、SVM、または他の同様の方法を選択することができる。その主なアイデアは、データと、前記の異なるサブセットでありますランは、サブセット選択アルゴリズム、一定の反復に備え、最終的な要約特徴選択の結果は、このような特徴は、(周波数は、それが試験されるサブセットの数で割った重要な特徴として選択された統計的に有意な周波数特性を考慮することができます)。理想的には、スコアは100%に近いの重要な特徴であろう。特性はほとんど0の弱い非スコア数ビット、および少なくとも有用な特徴が近い0のスコアになります。

 

違い13.MXNetとTensorflow

 MXNet二つの主サーバプロセスと作業者との間の通信がない、作業者は、唯一.Tensorflowワーカー、サーバ、プロセスの3種類、作業者が互いにサーバを介して相互に通信可能なクライアントに影響を有することができ、依存OPに応じてイニシアチブを取ることができます.MXNet一般に、各デバイス上のすべての演算GPUを含む計算グラフをパラレルデータにデータを送受信するために使用され、Tensorflowオペアンプの配置は、一般に、ユーザにより訓練ミッション及びいくつかのOPを担当するGPUデバイスを指定することができ。

 

14.Tensorflowの作品

Tensorflowは、数値計算のためのデータフロー図であり、データが図はそこ図での数値の手順で記載されて流れ、ノードは、図に示す演算で、エッジが送信多次元データを表し、ノードは、に割り当てることができますそれによって装置は、並列コンピューティングの動作を実行します。

 

セッションとinteractivesessionで15.Tensorflow差

あなたはどのセッションの計算を開始するためにeval()を使用する際に指定する必要がありますので、Tfの。Interactivesession()デフォルトのユーザー、彼が操作されることを、セッション、およびtf.Sessionは()、デフォルトではありません。

 

发布了385 篇原创文章 · 获赞 210 · 访问量 52万+

おすすめ

転載: blog.csdn.net/qq_32146369/article/details/104490158