Unit 1-1 기존의 프로그래밍과 머신러닝 프로그래밍의 차이점
- 프로그래밍
컴퓨터의 프로그램을 작성하는 일. 일반적으로 프로그램의 작성 방법의 결정, 코딩(coding), 에러 수정 등의 작업 모두를 가리키지만 코딩만을 가리킬때도 있다.
명시적 프로그래밍
- 규칙 기반으로 모든 사항을 프로그래밍 하는 것
머신러닝 프로그래밍
- 어떤 데이터로부터 학습을 하여, 학습된 형태로 동작하도록 프로그래밍 하는 것
- 머신러닝|딥러닝|데이터 사이언스
- 통계학 vs 머신러닝
통계학
데이터에 대한 분포 가정에 의존한다.
이론적 솔루션을 제공한다.
해석 가능성이 중요하다.
머신러닝
사람의 두뇌보다 수많은 연산을 의존한다.
이론보다 유연성을 강조한다.
해석 가능성보다 예측력을 우선시한다.
- 대표적인 머신러닝 문제
Unit 1-2 머신러닝 기초적인 작동 원리
- 머신러닝의 기초적인 작동원리
- 패턴 인식과 의사 결정 트리
- 의사 결정 트리의 설계
Unit 1-3 머신러닝 모델 파이프라인
- 머신러닝 서비스의 세계
- 머신러닝 파이프라인
- 데이터 파이프라인 예시
Unit 1-4 머신러닝 모델의 입력과 출력
- 행렬로서의 데이터
행: 관찰 observation 에 해당하는 것, Data point 라고 한다.
열: 특징 feature에 해당하는 것, Data attributes 라고도 한다.
- 비용함수 cost function
비용함수 : 데이터가 설계된/ 학습된 모델과 얼마나 맞는지를 설명하는 함수
- 비용 함수 값이 작다면, fit 하다는것이다.
- 머신러닝에서 모델의 학습 목표: 비용 함수의 값이 최소가 되도록 모델을 학습하는 것이다.
- 예측결과
학습 시 입력: 이미지와 그에 해당하는 클래스
클래스가 텍스트이므로 숫자로 변경한다.
클래스 번호는 discrete 한 의미를 가지므로 one-hot vector 로 변형
예측 시 입력: 이미지/출력: 그에 해당하는 클래스
입력 이미지로부터의 각 클래스별 확률 예측한다.
가장 높은 확률을 갖는 클래스로 클래스를 텍스트로 변경한다.
Unit 1-5 학습된 모델의 기초 검증 방법
- 검증의 필요성
underfitting
- Train, Test 성능이 모두 낮음
- 학습을 더 해야하는 상태
best fit
- Test 성능이 가장 낮음
- 학습을 멈춰야 하는 상태
overfitting
- Train 성능은 높지만, Test 성능은 낮음
- 학습을 너무 많이한 상태
- Train/Valid/Test
- 실제 문제에서는 Test set은 정답이 없어 평가할 수 없다.
- 학습셋에서 검증을 하기 위한 데이터를 구분해서 사용한다.
- 일반화 성능을 검증하기 위해서는 검증셋이 필요하다. 즉 underfit, overfit가 아니라 best fit 임을 검증한다.
- Holdout 과 Cross Validation
Holdout
- training 과 test로 간단하게 구분
- 학습데이터가 적은 경우에 적합
- 학습 시간이 생각한 만큼 걸릴때 사용한다.
Cross Validation
- Training을 여러 조합으로 나누고, 학습을 하여 검증
- 학습 데이터가 충분한 경우에 적합
- Overfitiing, Outlier에 더욱 강건한 학습
- 학습 시간이 더 오래 걸린다.
Unit 1-6 Sci-kit learn과 Light GBM을 활용한 집값 예측 문제
github를 통해 확인
'빅데이터 관련 자료 > Machine Learning' 카테고리의 다른 글
머신러닝 데이터 분석 6회차 (0) | 2021.09.29 |
---|---|
머신러닝 데이터 분석 5회차 (0) | 2021.09.27 |
머신러닝 데이터 분석 4회차 (0) | 2021.09.17 |
머신러닝 데이터 분석 3회차 (0) | 2021.09.13 |
머신러닝 데이터 분석 2회차 (0) | 2021.09.08 |