이 영역을 누르면 첫 페이지로 이동
시간의화살 블로그의 첫 페이지로 이동

시간의화살

페이지 맨 위로 올라가기

시간의화살

행복하세요

Machine Learning - Supervised Learning (3)

  • 2021.10.17 15:41
  • Machine Learning/AI Introduction

 

 

 

Supervised Learning의 여러 가지 알고리즘들에 대해 살펴보자.

 

1. Naïve Bayesian Classifier

2. Decision Tree

3. K-Nearest Neighbors

4. Linear Models

5. Support Vector Machine (SVM)

6. Multi Layer Perceptron(MLP)

 

여러 가지 알고리즘들이 있고, 상황에 따라 다른 알고리즘을 적용해야 한다.

 

3. K-Nearest Neighbors (유유상종)

입력 데이터에 가장 가까운 K개의 데이터 레이블을 표결해 출력 클래스를 결정한다.

 

이전에 살펴본 스팸 메일 구분하기로 예시를 들면, 먼저 그래프로 스팸메일과 일반 메일들을 데이터화 한 다음 어느 한 메일이 도착했을 때 그 메일 주변에 어떤 메일이 위치해 있는지 살펴보고, 스팸 메일인지 일반 메일인지 확인하는 알고리즘이다. 즉, K개의 데이터 레이블을 확인하는건 주변의 K개의 데이터를 조사하고 스팸메일인지 아닌지 조사하는걸 의미한다.

 

 가장 가까운 데이터를 조사할 때 거리 계산 시 왼쪽의 수식을 사용한다.

 

 

학습 단계가 필요하지 않다는 장점이 있지만, 적용 단계에서의 예측이 매우 느리다는 단점이 있는 알고리즘이다.

 

 

 

최고의 성능을 보이는 K를 결정하는건 쉽지 않다.

 

 

위의 그림처럼, Training Error와 Test Error의 분포도 K에 따라 매우 다르다.

위의 그림처럼 결과가 나왔다면 K를 10으로 설정하는 것이 합리적이겠지만, 상황 마다 다른 값을 가지기 때문에 항상 계산을 통해 찾아줘야 한다.

(K는 홀수로 결정하는 것이 좋은데, 짝수로 결정했을 때 spam과 nonspam이 반반 나오게 되면 이를 따로 처리해 줘야 하기 때문이다.)

학습의 목적은 Test Error를 줄이는 것에 있으니, 이에 맞춰서 생각해 보는 것도 합리적이다.

 

 

 

 

 

반응형

'Machine Learning > AI Introduction' 카테고리의 다른 글

Machine Learning - Supervised Learning (5)  (0) 2021.10.17
Machine Learning - Supervised Learning (4)  (0) 2021.10.17
Machine Learning - Supervised Learning (2)  (0) 2021.10.17
Machine Learning - Supervised Learning (1)  (0) 2021.10.17
Machine Learning (2)  (1) 2021.10.17

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • Machine Learning - Supervised Learning (5)

    Machine Learning - Supervised Learning (5)

    2021.10.17
  • Machine Learning - Supervised Learning (4)

    Machine Learning - Supervised Learning (4)

    2021.10.17
  • Machine Learning - Supervised Learning (2)

    Machine Learning - Supervised Learning (2)

    2021.10.17
  • Machine Learning - Supervised Learning (1)

    Machine Learning - Supervised Learning (1)

    2021.10.17
다른 글 더 둘러보기

정보

시간의화살 블로그의 첫 페이지로 이동

시간의화살

  • 시간의화살의 첫 페이지로 이동

검색

방문자

  • 전체 방문자
  • 오늘
  • 어제

카테고리

  • 분류 전체보기 (607)
    • Algorithm (205)
      • Data Structure (5)
      • Theory && Tip (33)
      • Baekjoon (166)
      • ALGOSPOT (1)
    • Spring (123)
      • Spring (28)
      • Spring Web MVC (20)
      • Spring Database (14)
      • Spring Boot (6)
      • Spring 3.1 (11)
      • Spring Batch (6)
      • Spring Security (16)
      • JPA (12)
      • Spring Data JPA (5)
      • QueryDSL (4)
      • eGovFramework (1)
    • Programming Language (74)
      • Java (19)
      • JavaScript (15)
      • C (25)
      • C++ (12)
      • Python (1)
      • PHP (2)
    • Computer Science (69)
      • Operating System (18)
      • Computer Network (17)
      • System Programming (22)
      • Universial Programming Lang.. (8)
      • Computer Architecture (4)
    • Database (21)
      • Database (7)
      • MySQL (3)
      • Oracle (3)
      • Redis (5)
      • Elasticsearch (3)
    • DevOps (20)
      • Docker && Kubernetes (8)
      • Jenkins (4)
      • Github Actions (0)
      • Amazon Web Service (8)
    • Machine Learning (28)
      • AI Introduction (28)
    • Mobile (28)
      • Android (21)
      • Flutter (7)
    • Solutions (14)
    • Life Logs (0)
    • 낙서장 (25)

최근 글

나의 외부 링크

메뉴

  • 홈

정보

13months의 시간의화살

시간의화살

13months

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © 13months.

티스토리툴바