1장 컴퓨터는 데이터에서 배운다

1.1 데이터를 지식으로 바꾸는 지능적인 시스템 구축

머신러닝 : 데이터에서 지식을 효율적으로 추출하여 예측 모델과 데이터 기반의 의사 결정 성능을 향상시킴 (사람이 수동으로 대량의 데이터를 분석하여 규칙을 유도하여 모델을 만들지 ❌)


1.2 머신러닝의 세 가지 종류

학습 종류내용
지도 학습레이블된 데이터, 직접 피드백, 출력 및 미래 예측
비지도 학습레이블 및 타깃 없음, 피드백 없음, 데이터에서 숨겨진 구조 찾기
강화 학습결정 과정, 보상 시스템, 연속된 행동에서 학습

1.2.1 지도 학습으로 미래 예측

지도 : 희망하는 출력 신호(레이블)가 있는 일련의 샘플(데이터 입력) ex) 스팸 또는 스팸이 아닌 이메일로 정확하게 표시 되어있는 데이터셋
목적 : 특정 샘플에 할당된 클래스인 레이블된 훈련 데이터에서 모델을 학습하여 본 적 없는 미래 데이터에 대해 예측하게 만드는 것

☑️종류☑️
1) 분류 : 개별 클래스 레이블이 있는 지도 학습(클래스 레이블 예측) ex) 이메일 스팸 필터

  • 목적 : 과거의 관측을 기반으로 새로운 샘플의 범주형 클래스 레이블을 예측하는 것
  • 예시 : 이진 분류 - 스팸 메일 감지 등(규칙 : 결정 경계 - 점선으로 나타남), 다중 분류 - 손으로 쓴 글자 인식

2) 회귀 : 연속적인 출력 값을 예측

  • 특징 : 예측 변수(설명 변수)연속적인 반응 변수(결과)가 주어졌을 때 출력 값을 예측하기 위해 두 변수 사이의 관계를 찾음
    - 예측 변수를 "특성"으로, 반응 변수를 "타깃"이라고 함
  • 개념 : 특성 x와 타깃 y가 주어지면 데이터 포인트와 직선 사이 거리가 최소가 되는 직선을 그음 -> 직선의 기울기와 절편을 사용하여 출력 값을 예측

1.2.2 강화 학습으로 반응형 문제 해결

목적 : 환경과 상호 작용하여 시스템(에이전트) 성능을 향상하는 것
지도학습 과의 차이점 : 강화학습의 피드백은 정답 레이블이나 값이 ❌ -> 보상 함수로 얼마나 행동이 좋은지를 측정한 값
개념 : 에이전트가 환경과 상호 작용하여 보상이 최대화되는 일련의 행동을 학습, 행동을 수행하고 즉시 얻거나 지연된 피드백을 통해 전체 보상을 최대화하는 일련의 행동을 학습

예시 : 체스 게임

  • 에이전트는 체스판의 상태(환경)에 따라 기물의 이동을 결정
  • 보상은 게임을 종료했을 때 승리하거나 패배하는 것으로 정의

1.2.3 비지도 학습으로 숨겨진 구조 발견

개념 : 레이블되지 않거나 구조를 알 수 없는 데이터를 다룸 -> 의미 있는 정보를 추출하기 위해 데이터 구조를 탐색

☑️종류☑️
1) 군집(서브 그룹 찾기), 비지도 분류 : 사전 정보 없이 쌓여 있는 그룹 정보를 의미 있는 서브 그룹 또는 클러스터로 조직하는 탐색적 데이터 분석 기법

  • 클러스터 : 어느 정도 유사성을 공유하고 다른 클러스터와는 비슷하지 않은 샘플 그룹을 형성

2) 차원 축소(데이터 압축) : 관련 있는 정보를 대부분 유지하면서 더 작은 차원을 가진 부분 공간으로 데이터를 압축 (잡음 데이터를 제거하기 위해)

  • 예시 : 비선형 차원 축소 - 3D 스위스롤 모양의 데이터 -> 새로운 2D 특성의 부분 공간으로 압축



1.3 기본 용어와 표기법 소개

1.3.1 이 책에서 사용하는 표기법과 규칙

1) 샘플 : 데이터셋에서 하나의 행으로 표현 (인스턴스, 관측)
2) 특성 : 데이터셋에서 열에 저장됨 (속성, 측정값, 차원)
3) 클래스 레이블(타깃)


1.3.2 머신 러닝 용어

1) 훈련 샘플 : 데이터셋을 나타내는 테이블의 행 (관측, 레코드, 인스턴스, 예시)
2) 훈련 : (모델 피팅, 모수 모델의 경우 파라미터 추정)
3) 특성(x) : 데이터 테이블이나 데이터 행렬의 열 (예측 변수, 변수, 입력, 속성, 공변량)
4) 타깃(y) : (결과, 출력, 반응 변수, 종속 변수, 레이블, 정답)
5) 손실 함수 : 하나의 데이터 포인트에 대해 측정한 손실, 비용 함수는 전체 데이터셋에 대해 계산한 손실(평균 또는 합)



1.4 머신 러닝 시스템 구축 로드맵

1.4.1 전처리: 데이터 형태 갖추기

개념 : 원본 데이터에서 의미 있는 특성추출
예외 : 일부 선택된 특성에서 중복된 정보를 가질 때 -> 차원 축소 기법으로 특성을 압축 -> 예측 성능 높일 수 있음
SNR(신호 대 잡음비) : 데이터셋에 관련 없는 특성(잡음)이 많은지 적은지 판단하는 지표


1.4.2 예측 모델 훈련과 선택

모델을 비교하기 전에 성능을 측정할 지표를 결정 -> 정확도(정확히 분류된 샘플 비율)
교차 검증 기법 : 모델의 일반화 성능을 예측하기 위해 훈련 데이터를 훈련 데이터셋과 검증 데이터셋으로 나눔
하이퍼파라미터 : 모델 성능을 향상하기 위해 사용하는 다이얼


1.4.3 모델을 평가하고 본 적 없는 샘플로 예측

테스트 데이터셋을 사용 -> 모델이 얼마나 성능을 내는지 예측 -> 성능에 만족한다면 이 모델을 사용하여 미래의 새로운 데이터를 예측할 수 ⭕



1.5 머신 러닝을 위한 파이썬

1.5.1 파이썬과 PIP에서 패키지 설치

1) 파이썬 패키지 설치

pip install 패키지 이름

2) 설치한 패키지 업데이트

pip install --upgrade 패키지 이름

1.5.2 아나콘다 파이썬 배포판과 패키지 관리자 사용

아나콘다 : 데이터 과학, 수학, 공학용 파이썬 필수 패키지들을 모두 포함하고 있으며 주요 운영 체제를 모두 지원

1) 파이썬 패키지 설치

conda install 패키지 이름

2) 설치한 패키지 업데이트

conda update 패키지 이름

1.5.3 과학 컴퓨팅, 데이터 과학, 머신 러닝을 위한 패키지

1) 판다스(Pandas) : 넘파이 위에 구축된 라이브러리로, 테이블 형태의 데이터를 아주 쉽게 다룰 수 이는 고수준 도구를 제공
2) 맷플롯립(Matplotlib) : 정량적인 데이터를 시각화하기 위한 옵션 제공
3) 넘파이(Numpy)
4) SciPy
5) Scikit-learn
6) TensorFlow

좋은 웹페이지 즐겨찾기