: A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, imporves with experiance E
week AI를 구현하기 위한 하나의 수단이다.
Strong AI: 강인공지능, 사람처럼 행동하는 것
Week AI: 하나의 목적을 위해 만들어진 AI(ex. 알파고)
경험을 통해 컴퓨터 프로그램을 imporve한다.
2. Tools(라이브러리)
1) 사이킷런(scikit-learn)
GitHub에서 가장 인기 있는 머신러닝 라이브러리 중 하나이다.
장점
간단하고 효율적이며 누구나 접근 가능하고 다양한 맥락에서 재사용 가능하다
다른 많은 파이썬 라이브러리와 통합이 잘된다.
단점: 딥러닝 강화학습을 지원하지 않는다.
분류(Classification)
개체가 속한 범주를 식별함
스펨감지, 이미지 인식
회귀(Regression)
개체와 연결된 연속값 속성을 예측
약물 반응 수치, 주가 예측
군집화(Clustering)
유사한 개체를 제트로 자동 그룹화
고객 세분화, 실험 결과 그룹화
차원축소(Dimensionality reduction)
고려할 확률 변수의 수를 줄임
시각화, 효율성 향상
모델 선택 및 평가(Model selection and evaluation)
매개 변수와 모델을 비교, 검증 및 선택
매개변수 조정, 알고리즘을 통해 정확도 향상
전처리(Preprocessing)
특징 추출 및 정규화
머신러닝 알고리즘과 함께 사용하기 위해 텍스트와 같은 입력 데이터를 반환
2) XGBoost
모든 가능한 트리를 나열하여 최적의 트리를 찾는 것은 거의 불가능하기 때문에, 2차 근사식을 바탕으로 한 손실함수를 토대로 매 iteration마다 하나의 leaf로 부터 가지를 늘려나가는 것이 효율적이다.
손실함수가 최대한 감소하도록 하는 split point(분할점)을 찾는 것이 목표이다.
장점: 과적합 규제 기능, 분류와 회귀의 광범위한 영역에서 뛰어난 예측 성능 발휘, 조기종료 기능이 있음, 다양한 하이퍼파라미터를 제공함
단점: 학습시간이 느림, 적절하지 못한 튜닝은 모델의 과적합을 야기함
3) LightGBM
Light Gradient Boosting Machine의 약자로, 원래 마이크로소프트에서 개발한 머신러닝을 위한 무료 오픈소스 분산 그래디언트 부스팅 프레임워크이다.
GROSS와 EFB를 적용한 LightGBM은 XGBoost와 비교해 정확도는 유지하며, 학습시간을 상당히 단축시킨 모델이다.
일반적인 균형 트리 분할 방식과 다르게 트리 분할 방식을 이용한다.
균형을 맞추지 않고 최도 손실 값을 가지는 리프 노드를 지속적으로 분할하여 트리가 깊어지고 비대칭적인 트리구조를 생성한다 → 예측 오류 손실을 최소화함
장점: 더 빠른 훈련속도와 더 높은 효율성, 적은 메모리 사용량, 더 나은 정확도, 대규모 데이터 처리, 균형잡힌 트리를 생성하며 트리의 깊이 최소화
단점: 과적합에 민감하고 작은 데이터에 대해 과적합이 쉬움
3. 알고리즘 유형
1) 지도학습(Supervised Learning)
데이터에 입력 값과 함께 출력값이 주어진 경우 입력값과 출력값의 관계를 학습하는 머신러닝 알고리즘.
2) 비지도학습(Unsupervised Learning)
데이터에 출력값이 없이 입력값만 주어지는 경우, 주어진 데이터 특징, 패턴, 구조 등을 파악하는 머신러닝 알고리즘.
3) 준지도(반지도)학습(Semi-supervised Learning)
데이터의 일부에만 출력값이 주어진 경우 출력값이 존재하는 데이터 뿐만 아니라 출력값이 주어지지 않은 데이터의 정보 또한 활용하여 입출력 간의 관계를 학습