머신러닝에 대하여
머신러닝의 구성요소
(머신러닝의 구성요소는 항상 정해져 있는것이 아니다.)
데이터셋 : 데이터로부터 규칙이나 논리를 학습하는 알고리즘 머신러닝의 베이스가 데이터이므로 데이터셋은 항상 존재한다. 입력과 출력데이터로 구성된다. 비지도학습은 정답이 필요없기 때문에 레이블이 없다. 그래서 구성요소는 항상 정해져 있는게 아닌 유동적인 것이다.
√입력 데이터 : 정답을 추론하기 위해 사용하는 정보들
√출력 데이터(레이블rabel) : 맞추기 위한 정답
Feature(특징): 비지도학습에서 분류하는 행위를 clustering한다고 표현. 모델이 학습할 수 있는 모든 개별 속성.
레이블 : 지도학습 모델에서 레이블이 있는 데이터셋을 이용하여 모델을 학습시킴. 예측하고자 하는 목표변수(목표변수는 정답을 의미). 레이블은 어떤 데이터가 딱 정해져 있다기보다는 해결하고자 하는 문제가 어떤 걸 맞추느냐에 달려있다.
모델 : 데이터의 특징으로부터 정답을 예측할 수 있는 지식을 학습할 수 있는 프로그램/함수.
머신러닝 모델은 데이터가 있을 때 이 속에서 어떻게 특성과 규칙을 찾아내느냐를 학습하는 프로그램
머신러닝 모델이 다르다는 것은 이 특성과 규칙이 다르다는 것. 이것을 어떻게 정의 하느냐에 따라 그 모델의 가치가 달라질 수도 있다.
학습 : 데이터로부터 규칙과 논리를 배우는 과정. 일반지식을 학습하는 것을 목표로 해야한다.
test(성능 분석) : 모델이 학습이 다 되었을때 실제 데이터로 성능을 분석하는 작업. 특정지식에만 과하게 학습이 치중된 것을 overfitting(오버피팅)이라고 한다.
머신러닝의 학습 체계↓
- 데이터 수집 : 모델을 학습시키기 위한 필요 데이터 수집
- 데이터 전처리 : 결측값 처리, 이상치 제거, 정규화 등등
- Feature 선택, Feature Engineering : 중요 feature(특징)을 선택하고 불필요한 피쳐를 제거하여 학습효율 높임
- 모델 선택 : 문제에 적합한 머신러닝 알고리즘을 선택( 딱 정해진 틀은 없다. 이것저것 사용해보고 가장 적합하다고 생각하는 것을 찾아서 선택하여야 한다.)
- 모델 훈련 : 트레이닝 데이터셋을 사용해서 모델을 학습시킴
- 모델 평가 : 테스트 데이터셋을 사용하여 모델 성능을 평가
- 모델 배포 : 학습된 모델을 실제 환경에 배포하여 예측 수행
머신러닝 모델은 배포전까지 끊임없이 수정하고 업데이트 해줘야한다. 이것은 배포가 된 이후에도 마찬가지, 데이터는 계속 업데이트되고 추가되기 때문. 사람과 마찬가지로 끊임없이 배우고 공부하면서 발전하는 시스템.
학습 방법
√지도 학습(Supervised Learning) : 레이블(정답)이 있는 데이터셋을 이용하여 모델을 학습시키는 방법
- 회귀(Regression) : 알고리즘을 사용하여 종속 변수와 독립 변수 간의 관계를 이해하는 지도 학습 방법.
- 분류(Classification) : 알고리즘을 사용하여 데이터를 특정 카테고리로 할당하는 방식.
√비지도 학습(Unsupervised Learning) : 레이블(정답)이 없는 데이터셋을 이용하여 모델을 학습시키는 방법
- 군집화(Clustering) : 레이블이 지정되지 않은 데이터를 유사성 또는 차이점에 따라 그룹화하는 데이터 마이닝 기술.
- 차원축소(Dimensionality Reduction) : 특정 데이터 세트의 특징(feature) 또는 차원(dimention) 수가 너무 많을 때 사용되는 학습 기술.
√앙상블 학습(Ensemble Learning) : 다수결 학습. 여러개의 머신러닝을 결합하여 성능을 올리는 방법.
- 배깅(Bagging) : 여러 모델을 독립적으로 학습시키고, 예측을 평균내거나 다수결 투표로 최종 예측.
- 부스팅(Boosting) : 여러 모델을 순차적을 학습시키고, 이전 모델의 오차를 보완하여 최종 예측을 수행.
- 스태킹(Stacking) : 여러 모델을 학습시키고 예측결과를 새로운 데이터르 사용하여 메타 모델을 학습.
그럼 군집화(Clustering)와 분류(Classification)의 차이점은 뭘까?
군집은 각 개체의 범주가 군집의 정보를 모를 때, 즉 label이 없을 때 데이터 자체의 특성에 대해 알고자 하는 목적으로,
분류는 label이 있을 때 새로운 데이터의 그룹을 예측하기 위한 목적으로 하는 분석기법이다.