데이터에 대한 이해
- 과학 기술의 정립 과정
- 데이터 수집 -> 모델 정립(가설 hypothesis) -> 예측 -> 피드백
- 위 전체의 순환 과정
- 기계 학습
- 기계 학습은 복잡한 문제/과업을 다룸
- 지능적 범주의 행위들을 규칙의 다양한 변화 양상을 가짐
- 단순한 수학 공식으로 표현 불가능함
- 데이터를 설명할 수 있는 학습 모델을 찾아가는 과정
- 데이터를 만드는 규칙을 모델을 통해 역추적하는 과정 이것이 데이터 사이언스
- latent하다?
- 실제 현실에서는 데이터 생성 과정을 알 수 없다
- 단지 주어진 훈련집합 X, Y로 가설모델을 통해 근사 추정만 가능하다.
- 데이터의 양과 질
- 주어진 과업에 적합한 다양한 데이터를 충분한 양만큼 수집하면 과업의 성능을 향상 시킬수 있다.
- 예를 들어 정면 얼굴만 가진 데이터로 인식 학습을 하게되면, 측면 얼굴에 대해선 매우 낮은 인식 성능을 갖게 된다.
- 공개 데이터를 통해 다양한 연습을 진행해보자
- UCI 데이터 저장소(repository)
- 대표적인 데이터셋: Iris, MNIST, ImageNet
- 차원의 저주에도 불구하고 적은 양의 데이터베이스로 어떻게 높은 성능을 달성하는걸까?
- 방대한 공간에서 실제 데이터가 발생하는 곳은 매우 작은 부분 공간이다.
- 데이터 희소(data sparsity) 특성 가정
- 매니폴드(마니 + 끼다) 가정(manifold assumption or manifold hypothesis)
- 고차원의 데이터를 저차원으로 줄여서 다양하게 분석해본다 생각하면 되는걸까?
- 고차원 데이터는 관련된 낮은 차원의 매니폴드에 가깝게 집중되어 있음
- 데이터 가시화
- 4차원 이상의 초공간(hyperplane)은 한꺼번에 가시화(visualization) 불가능
- 여러 가지 가시화 기법
- 2개씩 조합해 여러 개의 그래프를 그린다.
- 고차원 공간을 저차원으로 변환하는 기법들
간단한 기계 학습의 예
- 선형 회귀(linear regression) 문제
- y = wx + b를 찾는 경우로 가정. 내가 찾아야 하는 매겨변수는 보통 theta로 나타내고 다음과 같이 표현한다.
- w, b를 잘 설정한다면 x와 y관의 관계 규칙을 잘 찾아낼 수 있을것이다.
- 성능이 좋아진다는건 무슨 말일까 = 목적 함수(objective function 혹은 비용함수 cost function)을 최소화 시키는것 = 오차를 최소화 시키는 것
- 보통 회귀 문제에선 목적 함수로 MSE(평균 제곱 오차)를 사용한다.
- $f_{\theta}(x_{i})$ 를 예측 출력이라 하고, $y_{i}$를 예측함수가 맞추어야 하는 실제 목표치라 한다.
- 즉 $f_{\theta}(x_{i}) - y_{i}$ 를 오차 혹은 손실(error, loss)라고 한다.
- 처음에는 최적 매개변수 값을 알 수 없으므로 임의의 난수로 $\theta$를 설정한다. 이를 개선시켜 최적의 해를 찾아 간다 즉 최적의 $\hat{\theta}$을 찾는다.
- 기계 학습이 할 일을 공식화 한다면 다음과 같다.
- 기계 학습은 작은 개선을 반복하여 최적의 해를 찾아가는 수치적 방법이다.
- 실제 현실 세계의 데이터는 잡음이 섞여있다 -> 비선형 모델이 필요하다.
'프로그래머스 AI 데브코스 5기 > Machine Learning' 카테고리의 다른 글
End-to-End 머신러닝 프로젝트 - 2 (2) | 2023.04.19 |
---|---|
End-to-End 머신러닝 프로젝트 (0) | 2023.04.18 |
기계학습 III (0) | 2023.04.16 |
기계학습 I (0) | 2023.04.15 |
인공지능이란? (0) | 2023.04.15 |