본문 바로가기
머신러닝

[머신러닝 이론] 1. Introdution - 앤드류응 강의

by jasNote 2022. 5. 14.

목표

머신러닝의 정의지도학습, 비지도학습, 강화학습이 무엇인지 살펴본다.

 

1.1. 머신러닝 정의

정의

  • 머신러닝은 컴퓨터가 명시적인 프로그램 없이도 스스로 학습할 수 있는 능력을 연구하는 학문이다. 기존 프로그램은 명시적 프로그램으로 프로그래머가 명시적인 규칙(함수)을 개발한다. 하지만 머신러닝은 학습을 통해 규칙(함수)을 스스로 만들어 낸다.
  • 프로그램은 경험(E)로부터 학습한다. 프로그램이 일정수준의 작업성능(P)를 가지고 작업(T)를 수행한다고 했을때, 경험(E)의 증가로 인해 작업(T)의 성능(P)가 향상될수 있다.

 

다양한 종류의 알고리즘

  • 지도학습
    • 정답을 가지고 있는 데이터셋을 통해 학습한다. 예를들어 동물사진들(데이터셋)을 학습하여 개 혹은 고양이(정답) 등을 구분하는 프로그램이 있을수 있다.
  • 비지도학습
    • 정답이 없는 데이터셋을 통해 학습을 한다. 정답이 모호한 데이터셋을 보자 예를들어 쇼핑사이트 고객의 관심사는 어떤가? 관심사란 개,고양이와 다르게 정답이라기 보다는 고객들의 구매목록, 만족도 등을 수집한 결과일 것이며 정확히 정답을 내릴수 없다. 하지만 비슷한 관심사를 가진 고객끼리 그룹화는 가능할 것이다
  • 강화학습
    • 행동에 따른 보상으로 학습을 진행한다. 보상이 최대화가 되는 방향으로 학습한다. 자율주행하는 자동차를 시뮬레이션 해보자. 시뮬레이션을 하기 전에 환경, 보상, 채찍을 설정한다. 고속도로(환경)이며 원활히 주행시 + 1점(보상), 벽이나 다른 차에 부딪히면 -1점(채찍)으로 설정했다. 이후 무수히 많은 랜덤학습을 통해 높은 점수를 받도록 학습해 나갈 것이다.

 

1.2. 지도학습

정답이 존재하는 데이터셋(Input + Output)을 이용하여 학습한다.

  • Regression(회귀)
    • 어떤 연속한 데이터를 학습하여 결과를 예측한다.
    • 예) 집값 추정
      • 값(price), 평수(size)의 데이터들을 그래프 상에 파란색으로 표현했다. 분포되어 있는 데이터들을 이용하여 회귀분석을 통해 초록색 직선을 그을 수있다. 도식화한 그래프를 해석해보면 이렇다. 초록색 위의 데이터들은 평수대비 가격이 비싸며, 아래의 데이터는 평수대비 가격이 저렴하다. 또한 초록색 직선보다 주황색 곡선을 그을수 있다면 더욱 정확한 예측이 가능해진다.

  • Classification(분류)
    • 불연속적인 데이터를 학습하여 결과를 예측한다.
    • 예) 양성/악성 종양 분류
      • 학습에 필요한 속성인 환자의 나이와 종양의 크기를 즉, 학습데이터의 속성을 feature라고 한다. 두개의 feature에 대해 데이터셋을 2차원 표에 나타낼수 있다. x는 악성, o는 양성의 데이터이다. 두 데이터를 분리하는 경계선을 그을수 있다.
      • 어떤 사람의 종양을 분홍색으로 표현했다. 다행히 이 종양은 양성쪽 데이터로 분류 되어있기때문에 양성으로 판단 할 수 있다.
      • 나이와 종양크기가 Input, 악성/양성이 Output인 데이터셋을 학습하여 종양이 악성인지 양성인지를 판단하는 모델이 완성됐다. 또한 feature가 두개 이상인 무한대에 가깝게 늘려 학습시킬수 도있다.

1.3. 비지도학습

지도학습은 결과값이 존재한다. 하지만 비지도 학습은 학습데이터에 정답이 없다. 데이터들을 서로 다른 영역으로 Clustering(군집화) 혹은 그룹화하는 것 이다.

    • Clustering(클러스터링)
      • 비지도학습은 데이터셋이 ‘무엇을 의미’하는지 ‘무엇을 할 것 인지’ 알수 없다. 때문에 정답을 예측하는 것이 아닌 데이터들을 서로 다른 그룹 또는 타입으로 묶는다.
      • 예) 뉴스기사들을  컴퓨터가 이해할수 있는 단어로 대표할 수 없다. 때문에 클러스터링을 통해 비슷한 기사들끼리 군집화하여 유사한 내용의 기사들끼리 무리를 나눌수 있다.

 

  • 칵테일파티 문제
    • 카테일파티에 모인 사람들은 시끄럽게 떠들지만 사람들은 대화 상대의 목소리를 선택적으로 잘 알아 듣는다. 하지만 이 파티장의 소리를 녹음한다면 사람의 음성인식과는 다르게 모든사람들의 소리가 섞여 시끄러울 것이다.
    • 칵테일파티 문제를 해결하기 위해 비지도 학습 알고리즘을 사용할 수 있다. 이 문제를 해결하려면 상당히 복잡한 프로그램을 사용해야된다. 하지만 옥타브 프로그램을 사용하면 한줄의 코드로 해결이 가능하다. 실리콘 벨리에 있는 직원들은 옥타브와 같은 언어를 사용하여 학습 알고리즘의 프로토타입을 만들고, 잘 동작하면 c++이나 java언어로 옮긴다.

 

 

 

 

참조
머신러닝 코세라 : https://ko.coursera.org/learn/machine-learning
라인하트 브런치 : https://brunch.co.kr/@linecard