전체 글
-
Soft Margin SVM, Nonlinear SVM, KernelLearn/머신러닝 2022. 12. 2. 00:22
# 개요 SVM의 기본 개념은 이전에 정리했었다. https://push-and-sleep.tistory.com/81 SVM (Support Vector Machine) # 개요 고차원 데이터의 분류에 좋은 성능을 보이는 알고리즘이다. SVM의 궁극적인 목적은 아래와 같이 두 클래스를 잘 나누는 hyperplane을 찾는 것이다. 즉 w와 b를 찾으면 된다. 문제는 좋은 hyperpla push-and-sleep.tistory.com 이전에 정리한 내용은 선형으로 분리가 되는 것이었는데 Hard Margin SVM이라 부른다. 기본적인 Soft Margin의 컨셉은 어느정도 에러를 허용하자는 것이다. # Soft Margin SVM 아래 그림과 같이 오차를 허용하는데 이 오차와 마진의 거리를 ξ(크사이)..
-
SVM (Support Vector Machine)Learn/머신러닝 2022. 11. 30. 22:50
# 개요 고차원 데이터의 분류에 좋은 성능을 보이는 알고리즘이다. SVM의 궁극적인 목적은 아래와 같이 두 클래스를 잘 나누는 hyperplane을 찾는 것이다. 즉 w와 b를 찾으면 된다. 문제는 좋은 hyperplane의 기준이 무엇인가를 고민해봐야 한다. # Margin 각 클래스에서 가장 가까운 관측치 사이의 거리를 Margin이라고 한다. Margin을 최대화 하는 plane은 기울기 w로 표현이 가능하다. 각 +1, -1에 해당하는 plane 또한 이 plane의 평행 이동으로 표현 가능하다. 위의 경우는 각 클래스를 1, -1로 가정한 경우이다. 마진만큼의 거리에 있는 plane위의 점들을 support vector라고 부른다. 아마 여기 안으로는 못들어오는 지지선의 개념이라서 그런 것 같다..
-
랜덤포레스트 (Random Forest)Learn/머신러닝 2022. 11. 20. 00:30
# 개요 개별 트리 모델은 아래와 같은 단점을 가지고 있다. 계층적 구조로 인해 중간에 에러가 발생하면 계속 전파됨 학습 데이터의 미세한 변동에도 영향을 크게 받음 노이즈에 영향을 크게 받음 최종 노드의 수를 너무 늘리면 과적합 위험 이를 해결하기 위한 모델이 랜덤 포레스트이다. # 앙상블 여러 Base 모델의 예측을 다수결이나 평균을 이용해 통합하여 예측 정확성을 높이는 방법 다음 조건을 만족하면 앙상블 모델은 Base 모델보다 우수한 성능을 보여준다. Base 모델들이 서로 독립적 Base 모델들이 무작위 예측보다 성능이 좋은 경우 앙상블 모델의 오류율은 아래와 같이 나타난다. 예시로 5개의 binary classifier를 base 모델로 앙상블하면 오류율은 아래와 같다. 어떤 모델을 base 모델..
-
Decision treeLearn/머신러닝 2022. 11. 18. 00:05
# 개요 데이터에 내재된 패턴을 변수의 조합으로 나타내는 예측/분류 모델을 '나무의 형태'로 만드는 것을 뜻한다. 질문을 던져서 맞고 틀리고에 따라 대상을 좁혀가는 방식으로 스무고개 놀이와 비슷하다. 데이터가 균일하도록 분할해야 하는데 분류냐 예측이냐에 따라 분할하는 방식이 다르다. 하나의 특징으로는 Terminal node의 값을 모두 더하면 Root node의 값과 같다. # 이진분할 위에서 본 트리 형태는 사실 아래와 같이 표현할 수도 있다. 왼쪽은 변수가 2개일 때, 가운데는 변수가 3개일 때를 뜻한다. 이런 표현법도 장점이 있긴 하지만 변수 4개 부터는 표현이 어려워서 보통 오른쪽 방법으로 표현한다. # 예측나무 모델 (Regression Tree) x₁, x₂ 두 개의 변수로 이루어진 데이터의..
-
K-Nearest Neighbor (KNN)Learn/머신러닝 2022. 11. 13. 16:47
# 개요 k개의 가장 가까운 이웃을 보고 분류/예측하는 방법이다. 아래와 같이 k개 만큼의 가장 가까운 이웃을 찾고 majority voting를 통해 최종 분류를 한다. Instance-based Learning의 한 종류로 별도의 모델을 생성하지 않고 각각의 관측치 (instance) 만으로 예측을 진행한다. # 분류 알고리즘 1. 분류할 관측치 x를 선택 2. x로부터 인접한 k개의 학습 데이터를 탐색 3. 탐색된 k개 학습 데이터의 majority class c를 정의 4. c를 x의 분류결과로 반환 # 예측 알고리즘 관측치 y가 있을 경우는 k개 이웃의 평균을 구한다. 중위값을 쓰면 안되나 생각할 수 있는데 여러 연구 결과 평균이 가장 정확하다고 한다. 1. 예측할 관측치 x를 선택 2. x로부..
-
Distance MeasuresLearn/머신러닝 2022. 11. 13. 16:34
# 개요 다양한 거리측도가 존재한다. 변수들이 다른 데이터 범위, 분산을 가질 경우 반드시 정규화 혹은 표준화를 해야한다. # Euclidean Distance 가장 흔히 사용되는 거리측도 두 관측치 사이의 직선 거리를 의미한다. # Manhattan Distance X에서 Y로 이동 시 각 좌표축 방향으로만 이동할 경우에 계산되는 거리 Euclidean ≤ Manhattan 가 항상 성립한다. # Mahalanobis Distance 변수 내 분산, 변수 간 공분산을 모두 반영한 x, y간의 거리 위의 식을 보면 covariance matrix를 곱해주지 않으면 Euclidean과 식이 같다. 즉, covariance matrix가 identity matrix인 경우는 Euclidean distance..
-
뉴럴네트워크모델 (neural network model)Learn/머신러닝 2022. 11. 11. 00:34
# 단층 퍼셉트론 단층 퍼셉트론 모델은 아래와 같이 선형 결합으로 결과값을 판단하는 아주 단순한 구조이다. 아래는 단층 퍼셉트론의 분류 예시이다. 위 처럼 계산해서 output을 판단할 수 있다. 위에서 XOR 문제란 x1, x2이 같으면 0, 다르면 1이 되는 규칙을 뜻한다. 문제는 이 XOR에서는 계산값과 실제 output이 다르다는 것이다. 아래 그림에서도 알 수 있듯 XOR문제는 어떤 직선으로도 +, -를 완벽히 구분할 수 없다. # 이중 퍼셉트론 XOR 문제를 해결하기 위해 이중 퍼셉트론 형태가 도입되었다. 단층 퍼셉트론에서는 입력값이 바로 출력값이 되는데, 여기서는 중간에 층을 하나 더 만들었다. 층이 두 개라서 이중 퍼셉트론이라고 부른다. 두 입력값을 결합하기 위해 로지스틱함수처럼 시그모이드..
-
로지스틱 회귀모델(Logistic Regression)Learn/머신러닝 2022. 11. 6. 23:58
# 개요 예측하려는 값이 범주형일 경우 선형회귀를 사용하기 어렵다. 가령 위와 같은 데이터를 점으로 찍으면 아래와 같을텐데 선형으로 적합하기는 어렵다. 이럴 경우 아래와 같이 그룹별로 묶어서 확률을 구하면 아래와 같다. 확률로 접근하면 선형회귀로 접근할 수 있게 되는데 확률이므로 0에서 1의 값을 가지는 아래와 같은 시그모이드 함수가 더 적합하다. 범주 예측은 이런 식으로 로지스틱 회귀모델을 사용할 수 있다. # 로지스틱 함수 로지스틱 함수는 아래와 같다. 특징으로는 x는 -∞에서 ∞값을 가지지만 y값은 무조건 0에서 1사이의 값이 나온다. 다른 특징으로 로지스틱 함수를 미분하면 로지스틱 함수의 곱으로 표현된다는 것이다. 이 특징은 추후에 Gradient learning method에 유용하게 사용된다...