실무에 바로 쓰는 바닥부터 시작하는 머신러닝 1-4 [完]
머신러닝의 정의
컴퓨터가 명시적으로 프로그래밍 되지 않아도 데이터를 통해 학습하고 , 예측할 수 있도록 하는 기능
대량의 데이터를 알고리즘에 입력하여 학습과정을 통해 모델을 생성하고 예측을 수행.
- 전통적이 프로그래밍
-규칙과 논리를 프로그래머가 직접 정의
-명시적 명령과 조건문을 통해 문제 해결 - 머신러닝
-데이터를 이용해 패턴과 규칙을 스스로 학습
-예측 모델을 통해 새로운 데이터에 대한 결과 도출
-프로그램이 아닌 모델이 중심
머신러닝의 구성요소
- 데이터셋 : 모델을 학습시키기 위한 데이터 모음
입력/출력 데이터로 구성되어 있고
입력데이터는 모델이 학습할수 있는 정보
출력데이터(레이블)은 모델이 예측해야 하는 목표값으로 이루어져 있다. - 특징 : 데이터셋에서 모델이 학습할수 있는 개별 속성
사과를 예시로 들경우 사과의 색깔 ,크기 , 원산지 등이 특징에 해당된다. - 레이블 : 예측하고자 하는 목표 변수 = 값 , 정답
- 훈련 : 모델이 데이터를 통해 학습하는 과정
- 테스트 : 학습된 모델의 성능을 평가하는 과정
머신러닝의 발전이유
- 데이터의 폭발적 증가
- 컴퓨팅 파워의 향상
- 알고리즘의 발전
- 오픈소스 커뮤니티와 생태계의 발전
머신러닝의 학습

- 데이터 수집 : 모델을 학습시키기 위한 필요 데이터 수집
- 데이터 전처리 : 결측값 처리 , 이상치 제거 , 정규화등
- 특징선택 : 중요 특징을 선택하고 불필요한 특징을 제거하여 학습효율을 높임
- 모델 선택 : 문제에 적합한 머신러닝 알고리즘을 선택
- 모델 훈련 : 트레이닝 데이터셋을 사용해서 모델을 학습시킴
- 모델 평가 : 테스트 데이터셋을 사용하여 모델 성능을 평가
- 모델 배포 : 학습된 모델을 실제 환경에 배포하여 예측 수행
학습 방법
지도 학습
레이블이 있는 데이터셋을 이용하여 모델을 학습시키는 방법
- 회귀 : 연속적인 값을 예측하는 문제
ex : 주택 가격 예측 , 주식 가격 예측 - 분류 : 이산적인 값을 예측하는 문제
ex : 이메일 스팸 필터링 , 이미지 분류
비지도 학습
레이블이 없는 데이터셋을 이용하려 모델을 학습시키는 방법
- 군집화 : 데이터를 유사한 그룹으로 묶는 문제
ex : 고객 세분화 , 이미지 세그멘테이션 - 차원축소 : 고차원 데이터를 저차원으로 변환
ex : PCA , T-SNE
앙상블 학습
여러개의 머신러닝 모델을 결합하여 더 나은 성능을 얻는 방법
- 배깅 : 여러 모델을 독립적으로 학습시키고 , 예측을 평균내거나 다수결 투표로 최종 예측
ex : 랜덤 포레스트 - 부스팅 : 여러 모델을 순차적으로 학습시키고 , 이전 모델의 오차를 보완하여 최종예측을 수행
ex : 그래디언트 부스팅 , XGboost - 스태킹 : 여러모델을 학습시키고 예측결과를 새로운 데이터로 사용하여 메타 모델을 학습
과적합이란 ?
- 과적합 : 모델이 훈련 데이터에 지나치게 적응하여 새로운 데이터에 대한 일반화 성능이 떨어지는 현상을 말한다.
모델이 너무 복잡하여 훈련 데이터의 노이즈까지 학습해버리는 경우 발생한다. - 방지 방법
-더 많은 데이터 수집
-교차 검증 사용
-정규화 기법 적용
-간단한 모델 사용
'나의개발일지(TIL)' 카테고리의 다른 글
| 나의개발일지(TIL)[스파르타 내일배움캠프]10일차 -머신러닝 (0) | 2024.10.17 |
|---|---|
| [스파르타 내일배움캠프]9일차 -머신러닝 (0) | 2024.10.15 |
| [스파르타 내일배움캠프]7일차 -파이썬 라이브러리 (0) | 2024.10.11 |
| [스파르타 내일배움캠프]6일차 -파이썬 라이브러리 (0) | 2024.10.10 |
| [스파르타 내일배움캠프]5일차 -파이썬 라이브러리 (2) | 2024.10.07 |