[기계학습개론] What is machine learning?

SUbbb·2021년 10월 23일
0

기계학습개론

목록 보기
1/10
post-thumbnail

A brief overview of ML/DL

Machine learning, Deep learning

AI, ML, DL

머신 러닝이란 무엇인가?

명시적인 규칙이나 프로그램 없이 데이터로부터 학습하는 능력을 갖는 것

ML 특징

고성능 하드웨어대량의 dataset이 가능해지면서 인기있고 성공적인 분야로 발전하게 되었다.

  • 머신러닝 자체가 스스로 모델을 만들 수 있게 되었다.

딥러닝이란 무엇인가?

연속된 '층(layer)'으로 '표현'을 학습한다는 개념(representation learning)

  • Q. 데이터로부터 모델을 만드는데 얼마나 많은 층을 사용했는가? \larr\rarr 모델의 깊이가 얼마인가?
  • \rarr 층이 깊기 때문에 deep learning이라 부른다.
  • \rarr 층 기반 표현 학습(layered representations learning) 또는 계층적 표현 학습(hierachical representations learning)이라 부르기도 한다.
  • 층이 충분히 깊을 때, 깊어질수록 정확도는 높아진다.

  • 딥러닝: 연속된 필터(filter)를 통과하면서 순도 높게(어떤 작업에 대해서 유용하게) 정제되는 다단계 정보 추출 작업

출력을 제어하려면?

  • 출력이 기대하는 것(목표)보다 얼마나 벗어났는지를 측정해야 함
  • 벗어난 정도 \rarr 손실함수(loss function)


지도학습, 비지도학습, 목적함수(비용함수 or 손실함수)

Examples

지도 방식에 따른 ML 유형

어떻게 가르치느냐?

  • 지도학습 (Supervised learning)
    • 정답(label)을 알려줌
  • 비지도학습 (Unsupervised learning)
    • 정답(label)을 알려주지 않음
  • 준지도 학습 (Semi-supervised learning)
    • 정답을 적당히 알려줌
  • 강화학습 (Reinforcement learning)
    • 아무 것도 알려주지 않고, 단계별 정책만을 알려줌 (실수와 보상)

학습 문제의 Classes

  • data: input, label: 정답을 의미

Supervised Learning

  • Goal: Input \rarr Output으로 Mapping되는 함수를 학습

Unsupervised Learning

  • 비슷한 것인지 아닌지를 판단
  • Goal: 기본 구조를 학습

Reinforcement Learning

  • Goal: 여러 과정을 거쳐 미래의 보상을 최대화
  • 정답을 내리는 것 X, 비슷한지 아닌지 판단하는 것 X

Supervised Learning

  • input + label으로 학습하여 새로운 input에 대한 정답을 판단하기 위한 학습

  • 특징 벡터 X와 목표값 Y(label)가 모두 주어진 상황

  • Classification(A인지 B인지 분류), Regression(대략적인 숫자값을 출력)하는 데 사용된다.

Unsupervised Learning

  • 비슷한 것을 찾는 문제에 사용되므로, 도출되는 값이 정답일 필요가 없는 학습

  • 특징 벡터 X는 주어지는데 목표값 Y가 주어지지 않는 상황

  • Clustering(=그룹핑, 기준에 따라 달라짐), Dimensionality reduction(차원 축소, 3차원을 2차원 영상으로 축소하여도 정보의 전달은 가능), Anomaly/Novelty detection(특이점을 감지(위조 지폐를 찾아내는 일 등에 사용))

Reinforcement Learning

  • RL의 핵심: "reward(보상)" 개념
  • 학습 정책:
    • 어떤 행위에 따라 보상을 줄 지 페널티를 줄 지 결정해야 함 (policy)
    • 그에 따라 머신이 최대 보상을 얻기 위한 학습을 거침

Semi-supervised Learning

  • 실생활에서 사용하는 learning
  • 주어진 "X"가 어떤 class에 속하는지를 판단하는 학습
  • 일부는 X와 Y를 모두 가지지만, 나머지는 X만 가진 상황
  • X의 수집은 쉽지만, Y는 수작업이 필요한 경우 유용하다.

다양한 기준에 따른 유형

오프라인 학습과 온라인 학습

  • 오프라인: 미리 학습
  • 온라인: 제품을 출시해도 실생활에서 계속 학습해감

결정론적(deterministic) 학습과 스토캐스틱(stochastic) 학습

  • 결정론적에서는 같은 데이터를 가지고 다시 학습하면 같은 예측기가 만들어짐
  • 스토캐스틱 학습은 학습 과정에서 난수를 사용하므로 같은 데이터로 다시 학습해도 다른 예측기가 만들어짐 (딥페이크 영상 생성, 챗봇 생성 시 필요)

분별(discriminative) 모델과 생성(generative) 모델

  • 분별 모델은 분류 예측에만 관심, 즉 P(yx)(given x)P(y|x)(given\space x)의 추정에 관심 (x가 주어졌을 때 y가 무엇인지?)
  • 생성 모델은 P(x)P(x) 또는 P(xy)P(x|y)를 추정함(y가 없어도 x를 찾아내는 것)

기계학습 예시 (수식)

간단한 기계학습 예

선형 회귀 문제

선형 회귀
데이터를 놓고 이들을 가장 잘 표현할 수 있는 직선을 찾는 방법

  • 식 (1.2)의 직선 모델을 사용하므로 두 개의 매개변수 θ=(w,b)T (w,b는 vector)\theta = (w,b)^T\space(w, b는\space vector)

목적 함수objective function^{objective\space function}(또는 비용 함수cost function^{cost\space function}) = errorfunctionerror function

  • 식 (1.8)은 선형 회귀를 위한 목적 함수
    • fθ(xi)f_{\theta}(x_i)는 예측함수의 출력, yiy_i는 예측함수가 맞추어야 하는 목표값이므로 fθ(xi)yif_{\theta}(x_i) - y_i오차
    • 식 (1.8)을 평균제곱오차mean squared error^{mean\space squared\space error}라 부름
    • 제곱 없이 절댓값을 사용해도 무방함

예제 1-1

J(θ1)=0.8J(\theta_1)=0.8가 도출 (평균제곱오차)

J(θ2)=0.7J(\theta_2)=0.7이 도출

기계학습 예시 (코드)

폐암 수술 환자의 생존율 예측하기

  • 25줄은 기계학습의 hidden layer를 구성하고, 26줄은 output layer를 구성한다.
  • 그리고 30줄의 epochs 가 학습의 반복 횟수를 결정

코드의 23~26줄을 아래와 같이 변경하여 다중 층을 구성할 수 있다.

profile
배우고 정리하고 공유하기

0개의 댓글