2023. 10. 16. 23:45ㆍ인공지능
기계학습
: 자동으로 분류 규칙이나 프로그램 생성
연역적(deductive) 학습
: 연역적 추론(논리적 추론)을 통한 학습
귀납적(inductive) 학습
- 사례들을 일반화하여 패턴 또는 모델을 추출하는 것.
- 기계학습의 대상.
- 학습 데이터를 잘 설명할 수 있는 패턴을 찾는 것.
오컴의 면도날(Occam's razor) 원리
: 가능하면 학습 결과를 간단한 형태로 표현하는 것이 좋다.
기계학습의 종류
- 지도학습(supervised learning)
: 입력(문제) - 출력(답)의 데이터들로부터
새로운 입력에 대한 출력을 결정할 수 있는 패턴 추출 - 비지도학습(unsupervised learning)
: 출력에 대한 정보가 없는 데이터로부터 필요한 패턴 추출 - 반지도학습(semisupervised learning)
: 일부 학습 데이터만 출력값이 주어진 상태에서 패턴 추출 - 강화학습(reinforcement learning)
: 출력에 대한 정확한 정보를 제공하지는 않지만,
평가정보는 주어지는 문제에 대해 각 상태에서의 행동을 결정
기계학습 대상 - (1) 지도 학습
1. 분류(classification): 데이터들을 정해진 몇 개의 부류로 대응시키는 문제
- 학습 데이터를 잘 분류할 수 있는 함수를 찾는 것이 목적
- 분류기(classifier): 학습된 함수를 이용하여 데이터를 분류하는 프로그램
- 분류기 학습 알고리즘
1) 결정트리 알고리즘
2) k-nearest neighbor(knn) 알고리즘
3) 딥러닝 알고리즘
등등... - 이상적인 분류기란?
-> 학습에 사용되지 않은 데이터에 대해서 분류를 잘하는 것

* 데이터의 구분
- 학습 데이터
: 분류기를 학습하는데 사용하는 데이터 집합
학습 데이터가 많을수록 유리 - 테스트 데이터
: 학습된 모델의 성능을 평가하는 데 사용하는 데이터 집합
학습에 사용되지 않은 데이터이어야 한다 - 검증 데이터
: 학습 과정에서 학습을 중단할 시점을 결정하기 위해 사용하는 데이터 집합
물론, 학습에 사용되지 않은 데이터이어야 함.
과적합(overfitting)
- 학습 데이터에 대해서 지나치게 잘 학습된 상태
- 데이터는 오류나 잡음을 포함할 개연성이 크기 때문에,
학습되지 않은 데이터에 대해서 좋지 않은 성능을 보일 수 있음
부적합(underfitting) : 학습 데이터를 충분히 학습하지 않은 상태

과적합 회피 방법
: 학습과정에서, 별도의 검증 데이터에 대한 성능 평가를 진행한다
-> 검증 데이터에 대한 오류가 감소하다가 증가하는 시점에 학습을 중단.

정확도
- 분류기의 성능 평가 요소
- 테스트 데이터에 대한 정확도를 분류기의 정확도로 사용
- 정확도= 옳게 분류한 데이터 개수 / 전체 데이터 개수
- 정확도가 높은 분류기를 학습하기 위해서는 많은 학습데이터 사용하는 것이 유리
K-겹 교차 검증(K-fold cross-validation)
- 데이터가 부족하여 내가 가진 데이터로 학습 데이터, 테스트 데이터를
다 사용하기 위해 사용 - 전체 데이터를 k등분 후, 각 등분을 한 번씩 테스트 데이터로 사용
-> 성능 평가를 하고 평균값을 전체 정확도로 선택

불균형 데이터 문제
- 특정 부류에 속하는 학습 데이터의 개수가 다른 부류에 비하여 지나치게 많은 경우
-> 이런 경우 정확도에 의한 성능 평가가 무의미할 수 있다. - 대응방안
1. 가중치를 고려한 정확도 척도 사용
2. 많은 학습데이터를 갖는 부류에 대해서 재표본추출
3. 적은 학습데이터를 갖는 부류에 대해서 인공적인 데이터를 생성 - SMOTE 알고리즘
: 빈도가 낮은 부류의 학습데이터를 인공적으로 만들어내는 방법
1. 임의로 낮은 빈도 부류의 학습 데이터 x 선택
2. x의 K-근접이웃인 같은 부류의 데이터 선택
3. K-근접이웃 중에 무작위로 y 하나를 선택
4. x와 y를 연결하는 직선 상의 무작위 위치에 새로운 데이터 생성
이진 분류기의 성능 평가
이진분류기: 두 개의 부류만을 갖는 데이터에 대한 분류기

- 민감도(sensitivity)/재현율(recall)/진양성률(true positive rate) = TP/ (TP+FN)
- 특이도(specificity)/진음성률(true negative rate) = TN/ (FP+TN)
- 정밀도(precision, positive predictive value) = TP/ (TP+FP)
- 음성 예측도(negative predictive value) = TN/ (FN+TN)
- 위양성률(false positive rate) = 위양성/ 실제 음성=1 - 특이도
- 위발견율(false discovery rate)= 위양성/ 양성이라고 예측=1-정밀도
- 정확도(accuracy)=예측 잘한 것 / 전체
ROC곡선: 위양성율, 민감도 그래프
AUC(Area Under the Curve) : ROC곡선에서 곡선 아래 부분의 면적
-> 클 수록 바람직하다, 면적이 1에 가까우면 바람직하다.

2. 회귀(regression): 학습 데이터에 부합되는 출력값이 실수인 함수를 찾는 문제
* 오차
: 예측값과 실제값의 차이. 모델(함수)의 종류에 영향을 받음
* 과적합: 지나치게 복잡한 모델 사용
부적합: 지나치게 단순한 모델 사용

* 과적합 대응 방법: 모델의 복잡도를 성능 평가에 반영
목적함수=오차의 합 + (가중치)*(모델 복잡도)
* 로지스틱 회귀: 로지스틱 함수를 이용하여 함수 근사

기계학습 대상 - (2) 비지도 학습
- 결과정보가 없는 데이터들에 대해서 특정 패턴을 찾는 것
- 데이터에 구조를 찾거나 숨겨진 사용자 집단을 찾는다.
- 예)
로그 정보를 사용하여 사용패턴을 찾기
문서들을 주제에 따라 구조화 - 종류: 군집화, 밀도추정, 차원축소, 이상치 탐지
1. 군집화
: 유사성에 따라 데이터를 분할하는 것

일반 군집화: 데이터가 하나의 군집에만 소속
퍼지 군집화: 데이터가 여러 군집에 부분적으로 소속
군집화의 용도
- 데이터의 전반적 구조 통찰
- 데이터 압축 - 동일 군집의 데이터를 같은 값으로 표현
군집화의 성능
: 군집간의 거리와 군집 내의 분산으로 파악
2. 밀도 추정
: 부류별 데이터를 만들어 냈을 것으로 추정되는 확률 분포를 찾는 것
밀도추정의 용도
: 주어진 데이터를 발생시키는 확률을 계산하여 가장 확률이 높은 부류로 분류
모수적 밀도 추정
- 분포가 특정 수학적 함수의 형태를 가지고 있다고 가정
- 예) 가우시한 함수 또는 가우시안 함수의 혼합
비모수적 밀도 추정
- 분포에 대한 특정 함수를 가정하지 않고, 주어진 데이터를 사용하여
밀도함수의 형태 표현 - 예) 히스토그램
3. 차원축소
: 고차원의 데이터를 정보의 손실을 최소화하면서 저차원으로 변환하는 것
차원축소의 목적
- 2,3차원으로 변환해 시각화하면 직관적 데이터 분석 가능
- 차원의 저주 문제 완화
* 차원의 저주: 차원이 커질수록 거리분포가 일정해지는 경향

주성분 분석
: 분산이 큰 소수의 축들을 기준으로 데이터를 사상하여 저차원으로 변환하는 방법
4. 이상치 탐지
이상치: 다른 데이터와 크게 달라서 의심스러운 데이터
-> 관심 대상
잡음(noise): 관측 오류, 오차
-> 관심이 없는 제거 대상
* 이상치의 종류
- 점 이상치: 다른 데이터와 비교하여 차이가 큰 데이터
- 상황적 이상치: 상황에 맞지 않는 데이터
- 집단적 이상치: 여러 데이터를 모아서 보면 비정상으로 보이는 데이터들의 집단
* 이상치 탐지 사용용도
부정사용감지 시스템: 이상한 거래 승인 요청 시, 카드 소유자에게 경고메시지 전송
침입탐지 시스템: 네트워크 트래픽을 관찰하여 이상 접근 식별
기계학습 대상 - (3) 반지도 학습
: 입력에 대한 결과값이 없는 미분류 데이터를 지도하급에 사용하는 방법.
분류 경계가 인접한 미분류 데이터들이 동일한 집단에 소속하도록 학습.
* 반지도 학습의 가정
- 평활성 가정: 가까이 있는 점들은 서로 같은 부류에 속할 가능성이 높음
- 군집 가정: 같은 군집에 속하는 데이터는 동일한 부류에 속할 가능성이 높음
- 매니폴드 가정: 원래 차원보다 낮은 차원의 매니폴드에 데이터가 분포할 가능성이 높
* 매니폴드: 데이터가 있는 공간
'인공지능' 카테고리의 다른 글
| 4. 기계학습 - 학습 알고리즘 (0) | 2023.11.07 |
|---|---|
| 3. 지식 표현과 추론- 불확실한 지식 표현 (2) | 2023.10.17 |
| 3. 지식 표현과 추론- 규칙 기반 시스템 (0) | 2023.10.12 |
| 3. 지식 표현과 추론- 의미망, 스크립트 (0) | 2023.10.12 |
| 3. 지식 표현과 추론- 술어 논리 (1) | 2023.10.08 |