[論文レビュー] Performance Evaluation of Apache Spark MLlib Algorithms on an Intrusion Detection Dataset
本稿は、インシデント検出のための6つの機械学習アルゴリズムを用いて、CSE-CIC-IDS2018データセットにおけるApache Spark MLlibのパフォーマンスを評価している。Sparkは、特にナイーブベイズおよびランダムフォレストにおいて顕著なトレーニング高速化を実現しており、分散型ハイパーパramータチューニングにより100%の正確性を維持している。最適なスケーラビリティは8台のワーカーノードまで観察された。
The increase in the use of the Internet and web services and the advent of the fifth generation of cellular network technology (5G) along with ever-growing Internet of Things (IoT) data traffic will grow global internet usage. To ensure the security of future networks, machine learning-based intrusion detection and prevention systems (IDPS) must be implemented to detect new attacks, and big data parallel processing tools can be used to handle a huge collection of training data in these systems. In this paper Apache Spark, a general-purpose and fast cluster computing platform is used for processing and training a large volume of network traffic feature data. In this work, the most important features of the CSE-CIC-IDS2018 dataset are used for constructing machine learning models and then the most popular machine learning approaches, namely Logistic Regression, Support Vector Machine (SVM), three different Decision Tree Classifiers, and Naive Bayes algorithm are used to train the model using up to eight number of worker nodes. Our Spark cluster contains seven machines acting as worker nodes and one machine is configured as both a master and a worker. We use the CSE-CIC-IDS2018 dataset to evaluate the overall performance of these algorithms on Botnet attacks and distributed hyperparameter tuning is used to find the best single decision tree parameters. We have achieved up to 100% accuracy using selected features by the learning method in our experiments
研究の動機と目的
- Apache Sparkの分散コンピューティングフレームワークを用いて、インシデント検出のための機械学習モデルのトレーニングを高速化すること。
- SVM や深層意思決定木のようなリソース集約型アルゴリズムにおけるメモリバッファの問題を、クラスターベースの並列処理により解決すること。
- 大規模なネットワークトラフィックデータ上で、6つのMLlibアルゴリズム(ロジスティック回帰、SVM、ナイーブベイズ、単一意思決定木、ランダムフォレスト、勾配ブースティングツリー)のスケーラビリティとパフォーマンスを比較すること。
- 手動によるハイパーパramータチューニングを置き換え、より効率的なモデル効率を実現するための分散型、Sparkネイティブなハイパーパramータチューニングアプローチを採用すること。
- ビッグデータ環境における異常ベースのインシデント検出において、最もスケーラブルで正確なアルゴリズムを特定すること。
提案手法
- CSE-CIC-IDS2018データセットの機械学習モデルのトレーニングを分散処理するために、7台のワーカーノードと1台のマスターノードを有するSparkクラスタを活用した。
- 次元削減とモデル効率の向上を目的として、特徴量選択に「learner」手法を用いてデータセットを前処理した。
- 単一意思決定木のパラメータ最適化のため、SparkのCrossValidatorおよびTrainValidationSplitツールを用いて分散型ハイパーパramータチューニングを実施した。
- 6つのMLlibアルゴリズム(ロジスティック回帰、LinearSVC、ベルヌーイおよびマルチノミアルナイーブベイズ、単一意思決定木、ランダムフォレスト、勾配ブースティングツリー)をトレーニングした。
- トレーニング時間、正確性、適合率、再現率、F1スコアを、ワーカーノード数(1〜8)を変化させながら測定し、スケーラビリティとパフォーマンスを評価した。
- 特徴量工学、モデルトレーニング、予測パイプライン統合を簡素化するために、SparkのDataFrame APIを用いた。
実験結果
リサーチクエスチョン
- RQ1Apache Sparkの並列処理機能は、大規模なインシデント検出データセットにおける機械学習モデルのトレーニング時間をどのように改善するか?
- RQ2Sparkクラスタ上で複数のワーカーノードに分散された際、どのMLlibアルゴリズムが最も高いスケーラビリティと高速化を示すか?
- RQ3Sparkにおける分散型ハイパーパramータチューニングは、手動チューニングと比較して、より高いモデル正確性と効率性を達成できるか?
- RQ4ワーカーノード数の増加が、SVM や深層意思決定木のようなメモリ集約型アルゴリズムのモデル正確性とトレーニング時間に与える影響は何か?
- RQ5どのアルゴリズムが、さまざまなクラスタ構成においても高いスケーラビリティを維持しながら、最高の正確性(例:100%)を達成するか?
主な発見
- ナイーブベイズは独立確率計算の特性から、ワーカーノード間で強い線形的スケーラビリティを示し、最も高い高速化を達成した。
- ロジスティック回帰のトレーニング時間は、1ノードでの4653.09秒から3ノードクラスタでの2436.68秒に短縮され、並列処理の有効性が裏付けられた。
- サポートベクターマシンと単一意思決定木は、3〜4ノードを超えると通信オーバーヘッドとアルゴリズム的制約により、利得が減少した。
- 勾配ブースティングツリーは、8ノードでのトレーニング時間2045.21秒で99.6%の適合率、再現率、F1スコアを達成し、高い正確性と中程度のスケーラビリティを示した。
- ランダムフォレストは、ランダムサブスペース選択による分類結果のばらつきが高かったが、クラスタサイズに関わらず安定したパフォーマンスを維持した。
- 最良のモデルは、選択された特徴量と最適化されたハイパーパramータを用いて100%の正確性を達成し、Sparkベースのハイパーパramータチューニングの有効性が確認された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。