• 검색 결과가 없습니다.

머신러닝

문서에서 저작자표시 (페이지 46-49)

인공지능의 한 분야인 머신러닝은 데이터에 내재된 패턴이나 규칙들을 컴 퓨터가 프로그래밍 없이 스스로 학습하여 새롭게 입력되는 데이터에 대한 결 과를 예측하는 기술로 정의한다.

[그림 2-25] 머신러닝 종류 [102]

머신러닝은 주요 학습 알고리즘으로 인공신경망을 활용하고 있으며 대표적 인 방법론은 학습 데이터에 결과 값이 있는 경우와 없는 경우에 따라 그림 2-25와 같이 지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning)으로 분류한다. 지도학습은 일반적으로 분류(Classification)와 예 측(prediction)문제에 사용한다.[102]

지도학습은 목적에 따라 회귀(Regression)와 분류(Classification)으로 나

누어 지며 분류모델에는 알고리즘에 따라 서포트벡터머신(Support vector machine), kNN(k nearest neithbor), 의사결정트리(Decision Tree) 모델이 대표적이고 주어진 입력에 대한 출력을 예측하는 방식으로 회귀모델 (regression)이 주요하다.[103]

회귀모델에서 분류와 같이 범주형(categorical) 결과 값을 예측하는 경우 에도 적용이 가능한데, 이 경우에는 로지스틱 회귀라고 한다. 비지도학습의 군집 모델은 학습을 위한 데이터가 레이블을 보유하고 있지 않은 경우이 다.[104]

최근 AI 분야의 주요한 이슈 중의 하나는 인공신경망 기반의 딥러닝 분야 이다. 딥러닝은 머신러닝의 접근 법 중 하나인 신경망 모형 페러다임에 그 뿌리를 두고 있다. 단일 퍼셉트론에서 해결하지 못하는 문제를 다중신경망 이론으로 해결하면서 주목을 받고 있다.[105]

가. kNN 알고리즘

kNN(k-nearest neighbor)알고리즘은 어떤 데이터에 대한 답을 예측 할 때 주위 데이터를 보고 다수를 차지하는 것을 정답으로 사용하는 알고리즘이다.

훈련데이터는 각각 분류되는 다차원 공간에서의 벡터이며 kNN알고리즘 훈련 시 훈련 데이터의 특징과 분류 명을 저장한다. 분류단계에서는 k는 사용자 정의 상수이고 분류명이 붙지 않은 벡터는 k개의 훈련 표본 사이에서 가장 빈번한 분류 명을 할당함으로써 분류된다.[106]

나. 로지스틱 회귀 알고리즘

해결해야하는 문제가 분류일 경우 단조 미분 가능 함수를 찾아내어 분류문 제의 실제 레이블과 선형회귀 모델의 예측값을 연결을 하면 해결이 가능하 다. 분류 가능성에 대해 직접적으로 모델을 만들고 사전 데이터 분포에 대한 가정을 필요로 하지 않는다. 이는 가설 분포가 부정확해서 일으킬수 있는 문 제들을 피할 수 있게 해준다. 로지스틱 회귀는 Class를 예측할 뿐 아니라 근 사확률에 대한 예측도 할 수 있다. 로지스틱의 식은 종속 변수 또는 결과 값 이 항상 0과 1 사이로 지정된다.

  

    

 (2-2)

  

     

 (2-3)

ln 

  

    (2-4)

로지스틱 함수는 식 2-2와 같이 표현하며 식 2-3에서 선형회귀 예측 값을 적 용하고 식 2-4과 같이 변경한다. 샘플 x가 0보다 클 경우 y는 양수 1-y는 음 수일 가능성이 된다.

  

 (2-5) 성공확률과 실패확률을 비교하여 몇 배나 더 높은지 비교하기 위하여 식 2-5 로 표현하며 이를 odds라 부른다.

ln 

  

 (2-6) odds에 로그를 취한 것을 logit이라고 부른다. 선형회귀모델의 예측 결과 값 을 사용하여 실제 데이터의 log-odds에 근사한다는 것이다.[106]

다. 결정트리 알고리즘

의사결정 트리는 나무 구조에 기반하여 결정을 진행한다. 인간이 하나의 결정을 내리는 프로세스와 유사하다. 일반적으로 하나의 의사결정 트리는 하 나의 루트노드(root nodes)와 여러개의 내부 노드(internal node), 그리고 여러 개의 리프노드(leaf node)를 포함한다. 각 노드에 포함된 샘플 집합은 속성 테스트 결과에 따라 하위 노드로 분류된다. 루트 노드는 모든 샘플의 집합을 포함한다. 루트 노드에서 시작해 각 옆으로 뻗어나가는 과정은 일련 의 판단과 테스트 과정이다. 의사결정 트리 학습의 목표는 일반화 성능이 뛰 어난 트리를 얻는 것이다. [106]

라. 서포트 벡터 머신 알고리즘

서포트 벡터 머신(SVM; Support Vector Machine)은 결정 경계(Decision Boundary)를 정하는 모델로서 분류되지 않은 새로운 데이터가 나올 경우 경 계의 어느 쪽에 속하는지 확인해서 분류문제를 수행할 수 있게 한다. 서포트 벡터머신에서는 서포트 벡터를 통하여 결정경계를 정의하여 비활용 데이터

포인트들을 효율적으로 관리 할 수 있게 해준다.

샘플공간에서 경계는 식 2-7의 선형 방정식을 통해 정의한다.

    (2-7) 샘플 공간에서의 임의의 데이터에서 경계(w,b)까지의 거리는 식 2-8로 계산 한다.

  



 

(2-8) 경계(w,b)가 훈련 샘플을 정확히 분류할 수 있다고 가정한다면 yi가 +1이면

   이고 yi가 -1이면    이다.

  ≥    (2-9)   ≤    (2-10) 식 2-9와 2-10은 경계에 가장 가까운 몇 개의 샘플 포인트를 나타내며 이들 을 support vector라 부른다. 두 개의 서로 다른 서포트벡터에서 경계에 달 하는 거리의 합은 식 2-11에 따르며 이를 margin이라고 한다.

  



 (2-11)

maximum margin을 가지는 경계를 가지고 싶다면 식 2-9와 2-10의 조건을 만 족하는 파라미터를 찾아 거리 값을 극대화 해야한다. [106]

max

 

   ≥  (2-12)

문서에서 저작자표시 (페이지 46-49)

관련 문서