파이썬 라이브러리를 활용한 머신러닝 1장 정리 1부 - 머신러닝 개념

안녕하세요 jay입니다.
"파이썬 라이브러리를 활용한 머신러닝"이란 책으로

머신러닝 공부를 열심히 하고 있습니다.
아직 초보단계이지만 
책 내용 + α 정리해보도록 하겠습니다.


머신러닝이란?

스팸메일과 일반 메일을 분류하는 시스템을 만든다고 가정해봅시다. 이때 if와 else(조건문)를 활용하여 다양한 규칙을 수동으로 정하는 규칙 기반 전문가 시스템(rule-based expert system)을 사용할 수 있습니다. 하지만 이렇게 직접 규칙을 만드는 것은 두 가지 커다란 단점이 있습니다.

1. 결정에 필요한 로직은 한 분야나 작업에 국한됩니다. 작업이 조금만 변경되더라도 전체 시스템을 다시 개발해야 할 수 있습니다.
2. 규칙을 설계하려면 그 분야 전문가들이 내리는 결정 방식에 대해 잘 알아야 합니다.

이러한 한계때문에 데이터를 통해 컴퓨터가 스스로 학습하여 머신러닝이 등장하여 다양한 문제들을 해결하고 있다.


지도 학습과 비지도 학습

머신러닝 알고리즘은 크게 두 가지로 나눌 수 있다.

지도 학습(supervised learning) : 이미 알려진 사례를 바탕으로 일반화된 모델을 만들어 의사 결정 프로세스를 자동화 하는 방식. 입력 데이터로부터 기대한 출력이 나오도록 가르치는(지도하는) 방식

스팸 분류 문제로 예를 들면, 머신러닝을 사용해서 사용자는 알고리즘에 많은 이메일, 각 이메일의 스팸 여부를 제공하면 이 알고리즘은 새로운 이메일이 스팸인지 아닌지 예측할 수 있게 됩니다.

지도학습의 예시

편지 봉투에 손으로 쓴 우편번호 숫자 판별

입력 : 손글씨를 스캔한 이미지
기대하는 출력 우편번호 숫자
머신러닝 모델 구축에 쓸 데이터셋을 만들려면 이미지를 많이 모아야 합니다.

의료 영상 이미지에 기반한 종양 판단

입력 : 의료 영상 이미지
출력 : 종양이 양성인지 악성인지 분류
머신러닝 모델 구축에 쓸 데이터셋을 만들려면 의료 영상 데이터베이스 + 전문가의 의견이 필요합니다

비지도 학습(Unsupervised learning): 비지도 학습에서는 알고리즘에 입력은 주어지지만 출력은 제공되지 않습니다. 데이터에 대한 명시적인 정답(label)을 주지 않은 상태에서 컴퓨터를 학습시키는 방식

비지도 학습의 예시

블로그 글의 주제 구분

입력 : 많은 양의 텍스트 데이터
출력 :  ?

많은 양의 텍스트 데이터를 요약하고 그 안에 담긴 핵심 주제를 찾고자 할 수 있습니다. 사전에 어떤 주제인지 알지 못하고 얼마나 많은 주제가 있는지 모르기 때문에 출력 값을 준비할 수 없습니다.

쇼핑사이트에서 고객들을 취향이 비슷한 그룹으로 묶기

입력 : 고객 데이터
출력 : ?

쇼핑사이트에서 고객 데이터를 이용해, 어떤 고객들의 취향이 비슷한지 알고 싶거나 비슷한 취향의 고객을 그룹으로 묶고 싶을 것이다. 하지만 그 그룹들을 전부 예측을 할 수 없기 때문에 출력 값을 준비할 수 없습니다.


샘플(sample)과 특성(feature)

샘플(sample) : 데이터에서 하나의 개체 혹은 샘플 또는 데이터 포인트(data point)라고 합니다.
특성(feature) : 샘플의 속성, 즉 특성(feature)이라고 합니다.


여기서 샘플은 각 승객의 전체 정보를 의미를 하고, 특성은 샘플의 생존여부, 계층, 이름과 같은 각각의 특성을 의미합니다.

머신러닝 개념정리가 생각보다 양이많아 1장 붓꽃의 품종 분류은 파트를 나누어 2부에서 정리해보도록 하겠습니다!

댓글