상세 컨텐츠

본문 제목

[머신러닝] INTRO. Definition, Tool, 알고리즘 유형

멋사 AISCOOL 7기 Python/INPUT

by dundunee 2022. 11. 17. 16:50

본문

1. Definition

💡머신러닝

: A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, imporves with experiance E

 

  • week AI를 구현하기 위한 하나의 수단이다.
    • Strong AI: 강인공지능, 사람처럼 행동하는 것
    • Week AI: 하나의 목적을 위해 만들어진 AI(ex. 알파고)
  • 경험을 통해 컴퓨터 프로그램을 imporve한다.

2. Tools(라이브러리)

1) 사이킷런(scikit-learn)

  • GitHub에서 가장 인기 있는 머신러닝 라이브러리 중 하나이다.
  • 장점
    • 간단하고 효율적이며 누구나 접근 가능하고 다양한 맥락에서 재사용 가능하다
    • 다른 많은 파이썬 라이브러리와 통합이 잘된다.
  • 단점: 딥러닝 강화학습을 지원하지 않는다.
분류(Classification)
  • 개체가 속한 범주를 식별함
  • 스펨감지, 이미지 인식
회귀(Regression)
  • 개체와 연결된 연속값 속성을 예측
  • 약물 반응 수치, 주가 예측
군집화(Clustering)
  • 유사한 개체를 제트로 자동 그룹화
  • 고객 세분화, 실험 결과 그룹화
차원축소(Dimensionality reduction)
  • 고려할 확률 변수의 수를 줄임
  • 시각화, 효율성 향상
모델 선택 및 평가(Model selection and evaluation)
  • 매개 변수와 모델을 비교, 검증 및 선택
  • 매개변수 조정, 알고리즘을 통해 정확도 향상
전처리(Preprocessing)
  • 특징 추출 및 정규화
  • 머신러닝 알고리즘과 함께 사용하기 위해 텍스트와 같은 입력 데이터를 반환

2) XGBoost

  • 모든 가능한 트리를 나열하여 최적의 트리를 찾는 것은 거의 불가능하기 때문에, 2차 근사식을 바탕으로 한 손실함수를 토대로 매 iteration마다 하나의 leaf로 부터 가지를 늘려나가는 것이 효율적이다.
  • 손실함수가 최대한 감소하도록 하는 split point(분할점)을 찾는 것이 목표이다.
  • 장점: 과적합 규제 기능, 분류와 회귀의 광범위한 영역에서 뛰어난 예측 성능 발휘, 조기종료 기능이 있음, 다양한 하이퍼파라미터를 제공함
  • 단점: 학습시간이 느림, 적절하지 못한 튜닝은 모델의 과적합을 야기함

3) LightGBM

  • Light Gradient Boosting Machine의 약자로, 원래 마이크로소프트에서 개발한 머신러닝을 위한 무료 오픈소스 분산 그래디언트 부스팅 프레임워크이다.
  • GROSS와 EFB를 적용한 LightGBM은 XGBoost와 비교해 정확도는 유지하며, 학습시간을 상당히 단축시킨 모델이다.
  • 일반적인 균형 트리 분할 방식과 다르게 트리 분할 방식을 이용한다.
  • 균형을 맞추지 않고 최도 손실 값을 가지는 리프 노드를 지속적으로 분할하여 트리가 깊어지고 비대칭적인 트리구조를 생성한다 → 예측 오류 손실을 최소화함
  • 장점: 더 빠른 훈련속도와 더 높은 효율성, 적은 메모리 사용량, 더 나은 정확도, 대규모 데이터 처리, 균형잡힌 트리를 생성하며 트리의 깊이 최소화
  • 단점: 과적합에 민감하고 작은 데이터에 대해 과적합이 쉬움

3. 알고리즘 유형

1) 지도학습(Supervised Learning)

  • 데이터에 입력 값과 함께 출력값이 주어진 경우 입력값과 출력값의 관계를 학습하는 머신러닝 알고리즘.

2) 비지도학습(Unsupervised Learning)

  • 데이터에 출력값이 없이 입력값만 주어지는 경우, 주어진 데이터 특징, 패턴, 구조 등을 파악하는 머신러닝 알고리즘.

3) 준지도(반지도)학습(Semi-supervised Learning)

  • 데이터의 일부에만 출력값이 주어진 경우 출력값이 존재하는 데이터 뿐만 아니라 출력값이 주어지지 않은 데이터의 정보 또한 활용하여 입출력 간의 관계를 학습
  • Reinforcemenr Learning(강화학습)
  • Active Learning(능동학습)
  • Transfer Learning(전이학습)
  • Generative Models: 데이터를 생성하는 모델
  • Online Learning: 새로운 데이터에 대해 지속적으로 학습하는 것
  • Case-based vs Model-based learning

관련글 더보기