Happy to visit my research note ^^

[2] Machine Learning (ML basics) 본문

AI & Machine Learning

[2] Machine Learning (ML basics)

Liam Lim 2023. 4. 20. 15:55
728x90

 

 


3.17.2023 (Fri)


 

 

  Machine Learning으로 모든 문제를 파악 가능한 것은 아니다. 우선적으로 물어야할 것은

" is it suited for learning problem? " 이다. 이 질문의 답은, 데이터가 충분하고 정확해야하고, 예측하려는 결과가 측정 가능하고 명확해야 한다.

  예를 들어, time for a falling object to hit the ground 를 본다면 본 질문은 물리학적인 공식을 사용하여 정확하게 계산할 수 있기 때문에, Machine Learning 을 위한 learning problem에 적합하지 않다. 

  그러나 Detecting potential fraud in credit card charges 를 본다면 대용량의 거래 데이터를 수집하고, 이를 기반으로 사기 거래 패턴을 학습하여 새로운 거래에서 사기 거래의 존재 여부를 예측할 수 있다. 이러한 문제는 Machine Learning model을 이용해서 정확하게 해결할 수 있으며, 데이터가 충분하고 정확하면 모델의 성능을 높일 수 있다.

 


  1988년, Tom Mitchell이 제안한 "Well-posed learning problem"은 ML이 어떤 조건에서 정확하게 작동하는 지를 설명한다.

  어떠한 task T에 대해, performance measure P를 통해 측정한 컴퓨터 프로그램의 성능이, experience E와 함께 개선된다면, 컴퓨터 프로그램이 experience E로부터 학습한다고 말할 수 있는 문제이다.

  여기서, Experience E는 training data를 의미한다. Task T는 프로그램이 수행하는 작업을 의미하고, performance measure P는 program performance를 측정하는 기준을 말한다.

 

  예시로, Spam Mail Filtering은 Machine Learning 분야 중 하나로, Task T는 e-mail을 spam or not으로 분류하는 것이다. Experience E는 e-mail dataset으로, training algorithm은 해당 dataset을 사용해서 학습한다. performance measure P는 e-mail을 올바르게 분류한 비율 또는 개수이다. 즉, 이런 기준으로 training을 한다면 User의 불필요한 시간과 에너지 소비를 최소화하고, 보안성을 높일 수 있다.

 


  Machine Learning에서 문제를 해결할 수 있는 방법들은 매우 다양하다. 이 중 몇가지 주요한 방법들을 소개하자면 :

  • Classification(분류): input data를 k개의 category로 분류하는 문제이다. 예를 들어 object recognition에서는 image를 분류해서 그 안에 있는 물체를 인식한다.
  • Regression(회귀): given input data에 대해 수치값을 예측하는 문제이다. 예를 들어, house price estimation에서는 주어진 주택 정보에 기준으로 가격을 예측한다.
  • Clustering(클러스터링, 군집화??): 비슷한 특성을 가진 데이터를 그룹화하는 문제이다. 예를 들어, news group에서는 유사한 주제를 가진 뉴스를 clustering하여 분류한다.
  • Machine Translation(기계 번역): 언어 간의 번역 문제이다. 예를 들어, 영어에서 프랑스어로 번역하는 것과 같은
  • Recommendation(추천): User에게 맞는 제품이나 서비스를 추천하는 문제이다. 예를 들어, product recommandation에서는 사용자의 선호도에 맞는 제품을 추천한다.
  • Anomaly Detection(이상 탐지): 정상적인 패턴에서 벗어난 데이터를 찾아내는 문제이다. 예를 들어, credit card fraud detection에서는 정상적인 거래와 다른 anomaly를 감지한다.
  • Generative AI(생성 모델): 새로운 예시를 생성하는 문제이다. 예를 들어, DALL-E, chatGPT, speech synthesis에서는 기존의 데이터를 기반으로 새로운 데이터를 생성한다.
  • Imputation of Missing Values: missing value를 예측해서 대입하는 문제이다. e.g., dataset에서 일부 데이터가 누락된 경우, missing value를 예측해서 dataset을 보완한다.
  • Denoising: corrupted data를 복원하는 문제이다. 예를 들어, 이미지에서 노이즈를 제거해서 깨끗한 이미지를 복원한다.

  추가적으로, classification과 regression는 각각 다른 유형의 문제를 해결하는 데 사용된다. classification은 discrete result를 예측하고, regression은 contiguous한 결과를 예측한다.

 


 

  Machine Learning Algorithm의 performance를 평가하는 방법에는 여러 가지가 있다.  

  먼저, 정량적인 측정 방법으로는 Accuracy와 Error rate이 있다. Accuracy는 올바르게 분류된 데이터의 비율을 나타내고, Error rate는 잘못 분류된 데이터의 비율을 나타낸다.

  또한, ML에서는 일반적으로 classification과 sorting problem을 구분한다. classification은 input data를 여러 category 중 하나로 분류하는 것이고, 올바른 결과를 예측하는 데 초점이 맞춰져있다. 그러나, sorting problem은 input data를 정렬하는 문제이고, 여기에서 데이터가 정확한 순서로 정렬되었는지를 확인하는 것이다. 목적이 좀 다르달까

  Generalization performance는 ML model이 새로운 데이터에 대해 얼마나 잘 예측하는 지 평가하는 지표이다. 이를 위해, generalization performance를 평가할 때는 training dataset과 test dataset을 사용해서 모델을 평가한다. training dataset으로 모델을 학습한 후, test dataset에서 성능을 평가해서 generalization performance를 측정한다.

  이 세가지를 통해 ML algorithm에 대한 평가를 한다.


  위에서 본 것에 대해 좀더 자세히 설명하자면, sorting algorithm(e.g., bubble sort, quick sort etc.)은 input data를 정확한 순서대로 정렬하는 문제이다. 이 경우, 하나의 정확한 답이 존재하고, 성능 측면에서 얼마나 빠르고, 많은 데이터를 처리할 수 있는지가 중요한 평가 지표가 된다.

  반면, ML은 다양한 ML algorithm을 사용해서 input/output data 간의 관계를 모델링하고, 이를 바탕으로 새로운 input data에 대한 output data를 예측하는 문제다. 하나의 완벽한 답이 존재한다기 보다, 주어진 데이터를 기반으로 가능한 모든 경우의 수를 고려해서 최적의 결과를 도출하려고 한다. 그러나, ML problem에서는 데이터에 대한 noise, 레이블에 오류가 있을 수 있고, 모델이 overfitting되는 문제도 있다. 성능은 dataset 에서의 accuracy 등을 기준으로 평가한다.


  ML에서 learning process에서는 어떤 종류의 experience E가 있는지 :

  • supervised learning algorithm: input data와 output data 간의 관계를 모델링한다. 이 때, label or target이 있는 데이터를 사용해서 input data와 output data를 사용해서 둘 간의 연관성을 학습한다. 
  • unsupervised learning algorithm: input data의 구조와 패턴을 이해하고, 이를 바탕으로 data 간의 유용한 속성을 추출한다. label 또는 target이 없는 데이터를 사용하고, target은 data 간의 내재된 구조를 이해하고 이를 활용하는 것이다.
  • reinforcement learning algorithm: agent가 환경과 상호작용하면서 최적의 행동을 결정하는 방법을 학습한다. label or target이 없고, agent는 행동에 대한 보상과 패널티를 받아 이를 기반으로 학습한다.

Example of T, P, E: linear regression

 

 


Dataset

  - a collection of examples, collections of features

 

Design matrix: dataset을 행렬 형태로 표현하는 것이다. each row는 dataset의 예제를 나타내고, each column은 dataset의 feature를 나타낸다. e.g., IRIS dataset은 150개의 example과 4개의 feature로 구성되고, 이를 matrix로 나타내면 150x4의 크기를 갖는다.

matrix of Iris dataset

 


 

 

 

 

 

 

 

 

 


Terminology


 

 

 

# weight

  ML에서 weight는 input data와 output data 간의 관계를 모델링하는 데 사용되는 parameter이다. input data를 곱하거나 더해서 output data를 생성하는 함수에서 weight는 input data에 곱해지는 coefficient(계수)의 역할을 한다.

#

728x90

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

Example of Neural Network using Keras  (0) 2023.04.27
[1] AI & principle of machine learning  (2) 2023.03.17
Comments