4_DeepNoid 머신러닝
Aug 24, 2021
»
writing
DeepNoid 수업을 참고하여 작성하였습니다
머신러닝
AI
1. AI
- 인공지능 : 기계가 사람의 행동을 모방하게 하는 기술
- 기계학습 : 기계가 일일이 코드로 명시하지 않은 동작을
데이터로부터 학습
- 빅데이터 : 기존의 데이터베이스로는 수집, 저장, 분석 등을
수행하기 어려울 만큼의 방대한 데이터
2. 머신러닝
- 대량의 데이터, 훈련
- 대량의 복잡한 데이터셋 다루기 용이
- 컴퓨터가 알고리즘 안에서 데이터와 결과 값을 보고
스스로 훈련하여 규칙을 찾아냄
- 유형
1) 지도학습 : 정답을 알려주며 모델을 학습
ex) Classification, Regression
2) 비지도학습 : 정답이 없는 데이터를 통해 직접 규칙을 발견하도록 하는 방식
ex) Clustering, Assocication Rules
1) 지도학습
- k-최근접 이웃법
: 새로운 데이터를 입력받았을 때, 가장 가까이 있는 클래스의 개수로
분류하는 직관적인 알고리즘
-> 데이터 간의 거리는 주로 유클리디안 거리 활용
- Decision Tree
: 한번에 하나의 설명변수를 통해 예측 가능한 규칙들의 집합을
생성하는 알고리즘
-> 질문을 계속 던지면서 대상을 좁혀나가는 스무고개 놀이 개념
: 장점
- 시각화하기 쉽다
- 분류 오류율이 가장 낮은 지저므올 0이 될 떄까지 계속해서 분류
- 분류 오류 측정 지표 : 지니계쑤, 교차 엔트로피
: 단점
- 다른 머신러닝 기법에 비해 낮은 정확도
- 적절한 prunning 지점을 선택못할 시에 overfitting 위험
-> 여러 의사 결정 나무 모델을 만들어서 결과 집계하자! (예측을 좀더 일반화!)
- Ensemble Methold
1) 배깅 (Boostrap Agrregating, Bagging)
: 의사결정나무를 개선시키기 위해 Boostrap을 활용하여 다수의 의사결정나무 생성 (overfitting 개선)
-> input에서 여러번 랜덤샘플링하여 만든 모델 집계
: 부스트래핑 - 복원 추출을 활용한 random sampling의 한 기법
2) 랜덤포레스트 (Random Forest)
: 설명 변수 또한 랜덤 샘플링하여 각 의사결정 나무들 간의 상관성을 제거하는 방법
: 각 모델에서는 전체 설명변수 중 루트(전체설명변수개수)만큼의
변수만 랜덤으로 사용
3) 부스팅 (Boosting)
: 데이터에 하나의 트리 모델을 학습 시킨 결과를 통해
다음 트리 모델을 학습시키는 방식
-> 다수의 트리 모델이 순차적으로 학습되는 형태
: 기존 배깅 모델과의 차이
- 배깅, 랜덤포레스트 : 각각의 트리가 독립적
- Boosting : 각각의 트리가 시퀀스를 가짐
- Neural Network
1) 인공신경망
: 신경망 - 여러 자극들이 신경세포로 들어오고 어느정도
이상의 자극이 들어오면 이를 축상을 통해 전달
: 요소
- 입력층 중간층 출력층
- 입력 -> 입력가중합 ->
2) 활성화함수
-> 입력신호의 총합을 출력신호로 변환하는 함수
3) 서포트 벡터머신
: 결정 경계를 통해 분류를 위한 기준 선을 정의하는 모델
: 분류되지 않은새로운 점이 나타나면 경계의 어느 쪽에 속하는지 확인
-> 최적의 분리 초평면을 선택하는 방법
- Supplort Vector Machine
1) 최대 마진 분류기
: 훈련 관측치로부터 가장 멀리 떨어진 분리 초평면을 선택
-> 분리 초평면으롭퉈 마진이 가장 큰 위치 찾기
: 초평면 - p차원 공간에서 p-1 인 평평한 아핀 부분공간
: 마진 - 계싼되는 관측치들에서 초평면까지의 가장 짧은 거리
2) 서포트 벡터 분류기
: 대부분의 경우 분리 초평면이 존재하기 어려움 (정확히 분리 어려움)
: 최대 마진 분류기 역시 존재 어려움
-> 소프트 마진을 사용하여 클래스를 거의 분류하는 초평면 찾자
: 소프트 마진 - 마진 평면을 넘어가는 인스턴스를 일정 허용하는 분류기
-> Slack Variable의 허용 개수인 조율 파라미터가 존재
3) 서포트 벡터 머신
: 비선형 결정 경계를 그려 분류하는 방법
: Kernel Trick을 통해 더 높은 차원으로의 mapping function
-> 구불구불한 dicision boundary로 분류한다고 생각하기
1) 비지도학습
- Clustering
1) 계층 분석
: 비슷한 군집끼리 묶어 가면서 최종적으로 하나의 케이스가 될 때까지 군집을 묶는 알고르지므
: 반복적으로 가장 가까운 거리에 있는 데이터를 서로 묶어줌
: 장점 - 군집의 개수를 미리 정해주지 않아도 됨
2) k-means clustering
: 측정값들이 가능한 한 동질적이도록 미리 정해 놓은 k개의
군집이 중첩되지 않도록 표본을 나누는 군집법
: k개 초기 클러스터 시작 -> 각 레코드는 가장 가까운 중심이
속한 클러스터에 할당 -> 한 관측치가 빠지거나 추가되면 군집들의
중심을 다시 계산하고, 2번 반복 -> 각 관측치에 대한 클러스터의
변화가 없으면 중지
: 최적의 클러스터 개수 (k) 구하기
- 팔꿈치 방법 : 평균 거리가 갑자기 떨어지는 k 값 선택
- 실루엣 방법 : 실루엣 평균 값을 보고 k 값 선택
- Association Rules
1) 연관규칙
: A가 발생하면 B도 발생하더라 라는 형태의 연관성 찾기
: 지지도 - 전체 거래 건수 중 X와 Y 모두 포함하는 거래건수
: 신뢰도 - X를 포함하는 거래 중에 Y도 포함하는 거래비율
: 항상도 - X가 주어지지 않을 떄의 Y확률 대비 X가 주어졌을 때 Y의 확률 증가 비율