본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Miscellaneous

[2024-1] 홍연선 - A Brief Introduction into Machine Learning

by Yeonsunn 2024. 4. 14.

https://www.semanticscholar.org/paper/A-Brief-Introduction-into-Machine-Learning R%C3%A4tsch/fab926b5da15870777607679ebd56985735023d0

 

https://www.semanticscholar.org/paper/A-Brief-Introduction-into-Machine-Learning-R%C3%A4tsch/fab926b5da15870777607679ebd56985735023d0

 

www.semanticscholar.org

1. Introduction

저자가 머신러닝의 "learning"을 귀납적 추론(inductive inference) 에 의한 것이라고 말한 것이 인상적이다. 머신러닝이 여러 데이터들을 학습하고 그를 바탕으로 다른 것을 예측한다는 개념이, 몇가지의 통계적인 현상들에 대한 정보를 기반으로 일반적인 것을 추론하는 귀납적 추론의 형태로 생각이 확장된다. 따라서 머신러닝에서의 학습이라는 것을 단순히 기억하는 것이 아니라, 아직 얻지 못한 정보들에 대한 일반화(generalization to unseen cases)까지 나아간다고 말한다.

 

학습에는 두 가지 형태가 있다. 비지도학습(unsupervised learning) 지도학습(supervised learning)이다. 비지도학습에서는 드러나있지 않은 규칙들을 발견하거나, 범주에서 많이 벗어난 데이터를 검출하려고 하는 반면, 지도학습에서는 주어진 예시들에 대한 라벨이 필요하다. 그 라벨들이 이산적(discrete)이라면, 그 테스크는 분류 문제(classification problem)가 되고, 실수범위의 값을 가진다면 회귀 문제(regression problem)가 된다.

2. Supervised Classification

저자는 지도학습에서 분류에 초점을 맞춘다.
분류(classification)란 패턴 인식(pattern recognition)의 일종으로, 다른 examples들에 대해 그들의 패턴의 차이에 따라 자동으로 분류하는 방법을 구축하는 알고리즘을 만드는 것 등을 포함한다. 예컨데 "패턴"이란, 사람의 얼굴, 문서, 손글씨, 뇌파 신호, 특정 질병을 일으키는 유전자 들을 모두 가리킬 수 있다.

 

Supervised classification의 목적은 패턴에 대한 정보를 담은 input data,X를 클래스를 나타내는 라벨인 Y에 매핑시키는 것이다.
패턴은 "feature"에 의해 설명된다. 예를 들어 사람 얼굴을 분류할 때, feature들중 하나는 눈동자의 색깔이 될 수 있는 것과 같다.

따라서 패턴인식은 examples와 feature를 두 축으로 하는 2차원 행렬로 볼 수도 있다. 이 행렬의 각 셀은 특정 예시와 특징에 대한 정보를 가지고 있게 되는 것이다.

패턴 분류 작업의 서브테스크는 다음과 같다.

  1. Data collection and representation.
  2. Feature selection and/or feature reduction.
  3. Classification.

첫 번째 단계는 데이터 수집과 표현이다. 주어진 테스크를 해결할 때 정보를 어떻게 가공하고 표현하는지에 따라 테스크의 난도와 모델의 성능이 달라진다. 데이터를 표현(representation)한다는 것은, 문제를 더 쉽게 해결하기 위해 데이터를 바라보는 방법을 의미한다. 예를 들어 컬러 이미지는 RGB format(빨,녹,파)이나 HSV format(색상,채도,명도)으로 인코딩 될 수 있고, 이들은 같은 데이터의 두 가지 다른 표현이다. 문제에 따라 어떤 표현 방법을 선택할것인지를 골라야하는 것이다. 

두 번째 단계는 피쳐를 고르고, 혹은 피쳐를 줄이는 것이다. 이 단계에서는 피쳐들의 차원을 축소시키는 것이다. 이는 피쳐들의 개수를 줄이는 것을 의미한다. 

마지막 단계에서는 패턴과 라벨을 매핑하게 된다. 

3. Classification Algorithms

3.1 Traditional Techniques

-> when analyzing low dimensional data sets with not too few labeled training examples.

저자는 분류에 사용되는 알고리즘들에 대해 간략한 소개를 하고 있다. 

 

1. K-Nearest Neighbor Classification

K-NN 알고리즘이라고도 불리는 이 방법은, 분류에도 사용될 수도 있고 회귀에 사용되기도 한다. 

T.M. Cover and P.E. Hart. Nearest neighbor pattern classifications. IEEE transaction on information theory, 13(1):21—27, 1967.

분류에서의 K-NN은, 테스트 포인트 주변의 k개의 훈련 데이터 포인트를 찾고, 이들의 라벨 중 가장 많이 등장하는 라벨을 테스트 포인트에 할당하여 테스트 포인트의 클래스 또는 라벨을 결정할 수 있다. 따라서 k-NN 분류에서 출력은 소속된 항목이 된다. 

 

k = 3일 경우, 초록색 테스트포인트는 빨강 세모로 분류가 되는 방식

이 알고리즘은 시험 데이터와 모든 저장된 데이터 사이의 거리를 계산하는 방식으로 쉽게 구현할 수 있지만, 다량의 훈련 집합에 대해 많은 계산량을 요구한다. 

2. Linear Discriminant Analysis(LDA)

 

선형판별분석은 데이터 분포를 학습해 결정경계(Decision boundary)를 만들어 데이터를 분류(classification)하는 모델이다. LDA는 입력 공간에서 클래스 간 분리를 위한 선형 경계를 찾는데 사용되지만, 이것만으로 문제를 해결할 수 없는 경우가 있다. 이러한 경우에는 커널 기법을 사용하여 비선형 분리를 시도할 수 있으나 이는 대규모 데이터셋에서의 계산 비용이 높을 수 있다는 한계가 있다.

커널 기법이란, 커널 함수를 이용해 주어진 데이터를 고차원 공간으로 변형하여 선형 분류를 가능하게 해주는 방법이다. 

 

3. Decision Tree

 

결정트리는 제일 꼭대기의 루트노드부터 시작해서 마지막 리프노드, 종료 노드에 도달할 때까지 가지를 타고 내려가면서 분류하는 방법이다. 따라서 가장 마지막에 도달하는 노드, 즉, 결괏값은 데이터가 분류되는 클래스를 의미한다. 결정 트리를 구성하는 알고리즘에는 주로 하향식 기법이 사용되며, 각 진행 단계에서는 주어진 데이터 집합을 가장 적합한 기준으로 분할하는 변수값이 선택된다. 서로 다른 알고리즘들은 ”분할의 적합성"을 측정하는 각자의 기준이 있다. 

 

 

 

4. Neural Networks

신경망 모델은 Turning에 의해 1992년에 처음 제안된 방법으로, 신경계의 연결에서 영감을 받았다고 한다. 

 

위 그림에서 각 노드들은 계산 요소(Computational element)를 의미한다. 이들은 입력값을 받아들여 가중합을 계산하고, 이를 특정한 활성화 함수를 통해 출력으로 변환하는 기능을 수행한다. 여기서 활성화 함수란, 신경망에서 입력값을 변환하는 함수로, ReLU, 시그모이드 함수, 쌍곡탄젠트 함수 등이 대표적인 활성화 함수이다. 계산 요소들이 네트워크 내에서 정보 처리 및 전달을 담당하며, 네트워크가 입력 데이터로부터 출력을 생성하는 데 필수적인 역할을 한다.

 

3.2 Large Margin Algorithms

 

머신러닝의 이론적 근간은 Statistical Learning Theory(Vapnik,1995)에 있는데, 여기서는 학습 알고리즘에서 좋은 일반화가 무엇인지를 정의하고 있다. large margin classification techniques는 이러한 일반화 이론의 실용적인 결과로서 등장하였다. 

Margin이란, 각 데이터가 구분 경계로부터 떨어진 거리를 의미하며, large-margin classifier는 가능한 모든 훈련 데이터들이 large margin을 갖도록하는 결정경계를 생성한다.

 

1. Support Vector Machine

Feature space(특징 공간)는 데이터를 표현하는데 사용되는 다차원 공간을 가리킨다. 각 데이터 포인트는 이 공간 내에서 특징(feature)들의 조합으로 나타내어진다. 서포트 벡터 머신은 커널함수를 통해 훈련데이터들을 그러한 특징 공간에 매핑시키고, large margin hyperplane을 이용하여 데이터들을 분류한다. 초평면, hyperplane이란 3차원공간에서 형성되는 평면을 의미한다.

커널이란, 두 개의 변환된 독립 변수 벡터를 내적(inner product)을 의미하며, 기하학적으로는 코사인 유사도를 나타내기 때문에 유사도함수라고도 불린다. 이렇게 커널 함수는 주어진 데이터의 유사성을 측정하는데에 사용한다. 가장 자주 쓰이는 커널 함수 중 RBF kernel, polynomial kernal에 대해 소개하고 있다. RBF kernel은 Radial Basis Function의 줄임말이며, 가우시안 커널(Gaussian Kernel)이라고 불리기도 한다. 가우시안 커널은 한 쌍의 예 사이의 거리를 측정하는 유사도 함수로, 입력데이터를 무한 고차원의 feature space로 매핑하여 복잡한 결정경계를 형성할 때 사용한다. 

 

https://nobsai.tistory.com/61

 

서포트 벡터 머신(SVM) - 개념설명 난이도 下

해당 글은 기계학습 입문자를 위해 직관적인 이해에 중점을 둔 서포트 벡터 머신 설명 글이다. 미래에 추가적으로 수학적 설명 글과 라이브러리 사용 예시도 올릴 예정이다. 서포트 벡터 머신에

nobsai.tistory.com

 

2. Boosting

 

부스팅과 앙상블 학습 알고리즘의 기본 아이디어는 simple base hypothesis를 반복적으로 합치는 과정을 통해 최종 예측을 만들어내는 것이다. 부스팅은 여러개의 단순하고 약한 base learner들을 결합하여 단일의 강한 학습 모델로 만듦으로써 예측 혹은 분류 성능을 높이는 방법이다.  

부스팅을 할 때는 앞서 보았던 결정트리를 주로 사용한다고 한다. 부스팅을 통해 여러 약한 의사 결정 트리를 순차적으로 결합하여 앙상블 모델을 생성하고 개별 트리의 출력에 가중치를 할당한다. 첫 번째 의사 결정 트리의 부정확한 분류가 영향을 미쳐 다음 트리에 더 높은 가중치 및 입력을 제공한다. 여러 차례 주기를 마치고 나면 부스팅 방법은 이런 약한 규칙을 하나의 강력한 예측 규칙과 결합하는 방식으로 부스팅이 이루어진다.  

 

 

 

 

[참고자료]

 

https://ko.wikipedia.org/wiki/K%EC%B5%9C%EA%B7%BC%EC%A0%91_%EC%9D%B4%EC%9B%83_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98#cite_ref-10

 

k-최근접 이웃 알고리즘 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 패턴 인식에서 k-최근접 이웃 알고리즘(또는 줄여서 k-NN)은 분류나 회귀에 사용되는 비모수 방식이다.[1] 두 경우 모두 입력이 특징 공간 내 k개의 가장 가까운

ko.wikipedia.org

 

https://ratsgo.github.io/machine%20learning/2017/03/21/LDA/

 

선형판별분석(Linear Discriminant Analysis) · ratsgo's blog

이번 포스팅에선 선형판별분석(Linear Discriminant Analysis : LDA)에 대해서 살펴보고자 합니다. LDA는 데이터 분포를 학습해 결정경계(Decision boundary)를 만들어 데이터를 분류(classification)하는 모델입니

ratsgo.github.io

https://ko.wikipedia.org/wiki/%EA%B2%B0%EC%A0%95_%ED%8A%B8%EB%A6%AC_%ED%95%99%EC%8A%B5%EB%B2%95

 

결정 트리 학습법 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 결정 트리 학습법(decision tree learning)은 어떤 항목에 대한 관측값과 목표값을 연결시켜주는 예측 모델로서 결정 트리를 사용한다. 이는 통계학과 데이터 마이닝,

ko.wikipedia.org

https://chaheekwon.tistory.com/entry/Support-Vector-Machine-SVM-1

 

Support Vector Machine, SVM

서포트 벡터 머신 (Support Vector Machine, SVM)은 클래스(범주)를 가장 효율적으로 분류할 수 있는 초평면 (Hyperplane) 또는 결정 경계 (Decision Boundary)를 찾는 모형이다. 예를 들어, 아래 그림과 같이 두 클

chaheekwon.tistory.com

https://ratsgo.github.io/machine%20learning/2017/05/30/SVM3/

 

Kernel-SVM · ratsgo's blog

이번 글에서는 서포트 벡터 머신(SVM)의 변형인 Kernel-SVM에 대해 살펴보도록 하겠습니다. 이 글 역시 고려대 강필성 교수님과 역시 같은 대학의 김성범 교수님 강의를 정리했음을 먼저 밝힙니다. S

ratsgo.github.io

https://aws.amazon.com/ko/what-is/boosting/

 

부스팅이란 무엇인가요? - 기계 학습의 부스팅 설명 - AWS

부스팅은 예측 데이터 분석의 오차를 줄이기 위해 기계 학습에 사용되는 방법입니다. 데이터 사이언티스트는 레이블이 지정되지 않은 데이터에 대해 추측하기 위해 레이블이 지정된 데이터에

aws.amazon.com