[정보보호와시스템보안] CSIC 2010 Dataset

백연선·2021년 11월 30일
0

HTTP DATASET CSIC 2010

HTTP DATASET CSIC 2010에는 자동으로 생성된 수천 개의 웹 요청이 포함되어 있습니다. 
웹 공격 방지 시스템 테스트에 사용할 수 있습니다. CSIC의 정보 보안 연구소에서 개발되었습니다.

출처 - https://www.tic.itefi.csic.es/dataset/


머신러닝 알고리즘

머신러닝은 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 
강화 학습(Reinforcement Learning)으로 구분됩니다.

그 중 지도 학습과 비지도 학습의 차이점은 학습 결과에 대한 사전 지식의 존재 유무입니다. 
지도 학습은 학습 결과에 대한 사전 지식이 존재하므로 분류(classification)와 회귀(regression)가 가능하고, 
비지도 학습은 학습 결과에 대한 사전 지식이 존재하지 않으므로 비슷한 데이터들을 군집화 하여 결과를 예측합니다.  

이번 프로젝트에서 활용한 지도 학습의 알고리즘은 다음과 같습니다.

  1. Logistic Regression(로지스틱 회귀)

    로지스틱 회귀의 목적은 일반적인 회귀 분석의 목표와 동일하게 종속 변수와 독립 변수간의 관계를 구체적인 함수로 나타내어 향후 예측 모델에 사용하는 것입니다.

    하지만 로지스틱 회귀는 선형 회귀 분석과는 다르게 종속 변수가 범주형 데이터를 대상으로 하며 입력 데이터가 주어졌을 때 해당 데이터의 결과가 특정 분류로 나뉘기 때문에 일종의 분류 (classification) 기법으로도 볼 수 있습니다.

  2. Decision Tree(결정 트리)

    결정 트리는 데이터를 분석해서 데이터 사이에 존재하는 패턴을 예측 가능한 규칙의 조합으로 나타내는 것입니다. 결정 트리는 분류와 회귀 모두 가능합니다. 즉, 범주나 연속형 수치 모두 예측할 수 있습니다.

  3. Random forests(랜덤 포레스트)

    랜덤 포레스트는 훈련 과정에서 구성한 다수의 결정 트리로부터 부류(분류) 또는 평균 예측치(회귀 분석)를 출력합니다.

  4. LightGBM(Gradient Boosting Machine, 점진적 부스팅 머신)

    LightGBM은 일반적인 균형 트리 분할 방식(Level Wise)과 다르게 리프 중심 트리 분할 방식(Leaf Wise)을 이용합니다. 이 방법은 트리의 균형을 맞추지 않고 최대 손실 값(max delta loss)을 가지는 리프 노드를 지속적으로 분할하면서 트리가 깊어지고 비대칭 적인 트리를 만듭니다.

    하지만 이 방법으로 트리를 계속해서 분할하게 되면 균형 트리 분할 방식보다 예측 오류 손실을 최소화할 수 있습니다.

    Light GBM은 말 그대로 가볍고 속도가 빠르다는 장점이 있습니다. Light GBM은 큰 사이즈의 데이터를 다룰 수 있고 실행시킬 때 적은 메모리를 차지합니다.

  5. SVM(Support Vector Machine, 서포트 벡터 머신)

    SVM은 주어진 데이터 집합을 바탕으로 하여 새로운 데이터가 어느 카테고리에 속할지 판단하는 비확률적 이진 선형 분류 모델을 만듭니다. 만들어진 분류 모델은 데이터가 사상된 공간에서 경계로 표현되는데 그 중 가장 큰 폭을 가진 경계를 찾는 알고리즘입니다.

  6. SGD(Stochastic Gradient Descent, 확률적 경사 하강법)

    확률적 경사 하강법은 추출된 데이터 한개에 대해서 gradient를 계산하고 경사 하강 알고리즘을 적용하는 방법입니다. 전체 데이터를 사용하는 것이 아닌 랜덤하게 추출한 일부 데이터만을 사용하므로 학습 중간 과정에서 결과의 진폭이 크고 불안정하고 속도가 매우 빠르다. 또한, 데이터를 하나씩 처리하기 때문에 오차율이 크고 GPU의 성능을 모두 활용하지 못합니다.


용어 정리

  • Accuracy(정확도) - 올바르게 예측된 데이터의 수를 전체 데이터의 수로 나눈 값
  • F1 Score - precision과 recall의 조화평균
    • Precision(정밀도) - 모델이 True로 예측한 데이터 중 실제로 True인 데이터의 수
    • Recall(재현율) - 실제로 True인 데이터를 모델이 True라고 인식한 데이터의 수

0개의 댓글