본문 바로가기
  • Seizure But Okay Developer
머신러닝/Coursera 강의 정리

개요 및 1주차 강의 내용 정리 - 1

by Sky_Developer 2023. 3. 4.

개요

  • 이전 직장에 근무를 하면서 빅데이터에 관심이 생겼고 빅데이터라는 분야는 머신러닝이라는 큰 맥락에 속해있다는 것을 알게 되어 머신러닝에 대해서 학습을 하게 되었습니다.

강의 로드맵

  • 1주차 ~ 3주차에 나누어 진행을 합니다. 현재 글에선 1주차에서 배운 글을 정리합니다.

1주차

Supervised Learning

  • 정의: input 을 주면 output이 나옴, x -> y
  • Learns from "right answer", 여러 예제를 통해 학습을 하는데 이때 예제들에 정답도 포함됨
    • arthur의 프로그램이 학습한 체스 게임도 supervised learning에 해당됨
  • 여러 예제를 통해 학습하여 최종적으론 input 만 넣어도 정답에 근접한 값을 산출해낼 수 있음

supervised learning에 대하여 아직 익숙하지 않으니 예제로 supervised learning에서의 input과 output간의 상관관계를 살펴보자!

 

supervised learning 알고리즘을 사용한 예시는 아래와 같다.

 

Input ( X ) Output ( Y ) Application
email spam 인가? (0 / 1) spam filtering
audio text 출력기 speech recognition
English Spanish machine translation
ad, user info 클릭했는가? (0 / 1) online advertising
image, radar info 인접한 차의 위치 self-driving car
image of phone 결함인가? (0 / 1) visual inspection


다른 예제를 통해 좀 더 살펴보자.

집 크기 별로 가격이 위 그래프와 같이 책정되어 있을 때, 750 feet 사이즈 집의 가격은 얼마일까? 머신러닝 알고리즘을 사용하면 이에 대한 해답을 여러 개 낼 수 있다.

 

머신러닝 알고리즘을 사용하면 일직선 또는 포물선을 그래프에 나타낼 수 있는데, 선들에 수렴하는 y값을 보면 대략 150,000 달러 혹은 200,000 달러 사이로 가격이 책정될 것이다. 어떤 선을 그어야 적절한지에 대해선 향 후 수업에서 배우게 된다.

 

앞서 살펴본 예제에서 적용한 머신러닝 알고리즘은 Supervised Learning 의 한 종류인 Regression이다.

Regression 정의

  • Predict a number from infinitely many possible outputs
  • 수 많은 숫자들(출력)을 통해 값을 예측함

 

Supervised learning의 다른 종류에는 Classification이 있는데 예제를 통해서 알아보자.

어떤 병원에서 유방암 조기 발견을 위해 환자들의 종양 크기 진단 기록을 제공했다고 하자. 종양의 크기 별로 악성/양성 종양을 구분하여 그래프로 표현한 결과 위와 같이 나타난다.

 

Regression과 다른 점은 최소한의 출력 또는 카테고리만을 예측한다는 것이다. ( 위 예에선 악성/양성 종양 여부 )

Regression은 수많은 값을 예측할 수 있다.

 

위 예제를 아래와 같은 그림으로도 나타낼 수 있다.

만약 특정 크기의 종양이 악성/양성 인지 알 수 있는 분류가 기존에 없다면 어떻게 판단해야 되는가?

그러면 Classification 알고리즘은 단순히 2개의 출력값만을 산출하는 것이 아니라 2개 이상을 산출한다는 것으로 귀결된다. 만약 해당 종양이 악성으로 진단된다면 악성 종양은 1분류, 2분류로 구분될 수 있다.

그럼 위와 같은 그림으로 나타낼 수 있게 된다.

 

Classification 정의

  • Predict categories
  • 분류를 예측함, 경우에 따라 값이 숫자가 아닐 수도 있음 ( 사진을 보고 개/고양이 인지 판별 )
  • predict small finite limited set of possible output categories
  • 가능한 적은 분류의 값을 예측함 ( 0, 1, 2 ok, 1.5, 2.3 not ok)

 

이제 Classification 알고리즘에 두 개 이상의 입력값이 들어갔을 때 나타나는 차이를 살펴보자.

Classification

만약 어떤 환자가 와서 자신의 나이를 알려주고 종양의 크기를 진단했을 때 이전 데이터를 바탕으로 학습한 머신러닝은 어떤 결과를 알려줄까? 머신러닝의 역할은 위 그래프에서 악성/양성 종양의 경계선(boundary)을 치는 것이다.

 

보통 머신러닝으로 해결해야 할 문제는 이보다 더 많은 입력값을 요구한다.

(종양의 두께, 세포 크기의 균일도, 세포 모양의 균일도 등등)

 

Unsupervised Learning

Supervised learning 다음으로 많이 쓰이는 기법.

Unsupervised learning의 정의에 대해선 Supervised learning와 같은 예제를 통해 비교를 하며 알아보자.

 

 

유방암 문제에 대해서 비교했던 예제를 다시 보면, Supervised learning 기법을 통해 무엇이 악성/양성 종양인지 알 수 있었다.

Unsupervised learning 에선 악성/양성 종양과 같은 분류가 존재하지 않는다, 즉 라벨링이 안된 데이터들의 패턴이나 구조 등을 파악하는 것이 Unsupervised learning 의 정의이다.

 

Unsupervised learning

Data only comes with inputs x, but not output labels y.

Algorithm has to find strucuture in the data.

 

명칭이 Unsupervised learning 인 이유는 Supervised learning 처럼 정답을 주며 학습을 시키지 않는 대신 스스로 특별한 형태/구조/패턴을 파악하도록 하기 때문이다.

 

Unsupervised learning을 통해 위 예제는 데이터가 두 개의 집합 또는 군집으로 나눠져 있다고 판단하게 된다.

위 예제에서 적용된 Unsupervised learning 의 알고리즘은 Clustering 이라고 한다.

 

Clustering

라벨링이 없는 데이터를 통해 학습하여 자동으로 그룹을 군집시킴

 

Clustering의 예시는 아래와 같다.

위 그림은 메인 뉴스가 있고 하위에 서브 뉴스들이 따라 나오는 형태이다.

이때 메인 뉴스의 키워드 중 하나인 panda, twin, zoo 를 중점으로 하여 서브 뉴스들이 그룹으로 모아진 것을 볼 수 있다.

클러스터링 알고리즘을 통해 어떤 뉴스 기사들이 특정 그룹에 속해 있는지를 암시하는 단어를 자체적으로 판단한다.

클러스터링 알고리즘은 특별한 지도없이 자체적으로 데이터를 판단한다는 점에서 Unsupervised learning에 속하는 것이 이해가 될 것이다.

 

또 다른 예시를 통해 Unsupervised learning 을 알아보자.

DNA 배열이 있고 각각의 행은 신체 조건에 영향을 미치고 열은 개별 사람에 해당한다고 하자.

그러면 각 개인에 대해 특정 유전자가 얼마나 발현이 되는지를 알아본다고 하자, 그렇다면 초록색, 빨간색 등의 색깔들은 활동적인 유전자를 가졌는지 여부를 판별할 수 있다. 여기에 클러스터링 알고리즘을 적용한다면 사람들을 각각 다른 그룹화 시킬 수 있다. 우린 컴퓨터에게 어떠한 특징을 가진 사람이 이러한 그룹 타입에 해당됨을 알려주지 않았으나, 대신 컴퓨터 스스로 각각이 어떤 그룹 타입에 속하는지를 분류를 하게 시켰으므로 Unsupervised learning 에 속한다는 것을 확인할 수 있다.

 

그 외에 다른 Unsupervised learning 알고리즘 종류는 아래와 같다.

 

Anomoly detection

예기치 않은 이벤트를 발견할 때 쓰임

 

Dimensionality reduction

큰 데이터 셋을 압축시켜서 가능한 적은 데이터를 잃은 대신 이전보다 작은 크기의 데이터 셋을 얻는 방식

 

정리

Supervised learning의 정의는 Learns from "right answer" 이다

 

각 사이즈별 가격이 적힌 데이터셋을 통해 크기별 정확한 가격을 알 수 있다는 점에서 right answer로 학습하는 Supervised learning에 해당되고 머신러닝 알고리즘은 right answer을 학습하는 동시에 right answer을 더욱 많이 제공하는 역할을 한다 ( 750 feet 사이즈의 친구 집의 가격을 알려주는 것처럼 )

 

Supervised Learning 은 총 두 가지 종류가 있다.

Regression

  • Predict a number from infinitely many possible outputs
  • 수 많은 숫자들(출력)을 통해 값을 예측함
  • 수많은 결과값이 나올 수 있고 숫자를 예측하는데 사용됨, Regression 수행 시에는 특정 Algorithm 기법이 사용됨

Classification

  • 최소한의 결과값을 산출해냄
  • 분류를 예측함

 

Unsupervised Learning

  • 특별한 표식이 없는 데이터들 가운데 특이점을 찾는 Learning
  • not to give quote right answer for input : Unsupervised Learning

Unsupervised Learning 은 세 가지 종류가 있음

Clustering

  • 비슷한 데이터들 끼리 모아놓음,
  • ex) 구글 메인 뉴스와 메인 뉴스의 서브 뉴스들

Dimensionality Reduction

  • 많지 않은 값들을 가지고 데이터를 압축시킴

Anomaly detection

  • 특이한 데이터 점을 찾아냄

댓글