what is support vector machine machine learning
이 자습서에서는 ML의 지원 벡터 머신과 하이퍼 플레인, 지원 벡터 및 SVM 애플리케이션과 같은 관련 개념에 대해 설명합니다.
에서 이전 튜토리얼 , 우리는 유전 알고리즘과 머신 러닝에서의 역할에 대해 배웠습니다.
우리는 이전 튜토리얼에서 기계 학습의 일부지도 및 비지도 알고리즘을 연구했습니다. 역전 파는지도 학습 알고리즘이고 Kohenen은 비지도 학습 알고리즘입니다.
이 서포트 벡터 머신 튜토리얼에서는 서포트 벡터 머신에 대해 배웁니다. SVM은 훈련 데이터 세트의 분류에 광범위하게 사용되는 강력한 수학적 감독 기계 학습 알고리즘입니다.
=> 완전한 기계 학습 교육 시리즈 읽기
학습 내용 :
- 서포트 벡터 머신 (SVM)이란?
- 초평면이란?
- 분류 및 회귀 알고리즘이란?
- 서포트 벡터 란?
- 서포트 벡터 머신은 어떻게 작동합니까?
- 하이퍼 플레인의 위치를 최적화하는 방법
- SVM의 응용
- 결론
- 추천 도서
서포트 벡터 머신 (SVM)이란?
SVM 알고리즘은 분류 기술로 분류 된지도 학습 알고리즘입니다. 훈련 데이터 세트를 사용하여 n 차원 공간에서 최적의 초평면을 예측하는 이진 분류 기술입니다.
이 초평면은 새로운 데이터 세트를 분류하는 데 사용됩니다. 이진 분류기이기 때문에 초평면의 훈련 데이터 세트는 훈련 데이터 세트를 두 개의 클래스로 나눕니다.
SVM 알고리즘은 2 차원 평면과 다차원 초평면에서 데이터를 분류하는 데 사용됩니다. 다차원 초평면은 '커널'을 사용하여 다차원 데이터를 분류합니다.
분류 된 데이터 포인트를 최대한 구분하는 것이 항상 바람직합니다. 즉, 최대 거리가 있거나 초평면이 데이터 포인트 사이에 최대 여백이 있어야합니다.
초평면이란?
초평면은 평면을 나누는 경계입니다. 데이터 포인트를 2 개의 개별 클래스로 분류하는 결정 경계입니다. SVM은 데이터를 다차원으로 분류하는 데 사용되기 때문에 초평면은 입력이 2 개인 경우 직선이 될 수 있고 입력이 2 개 이상이면 2D 평면이 될 수 있습니다.
SVM 알고리즘은 회귀 분석에도 사용할 수 있지만 주로 분류에 사용됩니다. 이러한 각 방법에 대한 자세한 내용을 살펴 보겠습니다.
분류 및 회귀 알고리즘이란?
분류 알고리즘은 결과를 예측하기 위해 훈련 데이터를 분석하는 알고리즘입니다. 결과는 대상 클래스입니다. 예를 들면 , 낮 또는 밤, 예 또는 아니요, 길거나 짧습니다. 분류 알고리즘의 예는 빵을 사는 슈퍼마켓의 고객이 버터도 살 것인지 여부입니다. 대상 클래스는 '예'또는 '아니요'입니다.
회귀 알고리즘은 독립 변수 간의 관계를 찾아 결과를 예측합니다. 선형 회귀는 입력과 출력 간의 선형 관계를 찾습니다. 예를 들면 : 'a'는 입력으로 'b'는 출력으로, 선형 함수는 b = k * a + c가됩니다.
서포트 벡터 란?
서포트 벡터는 초평면을 최적화하는 데 도움이되는 데이터 포인트입니다. 이러한 벡터는 초평면에 가장 가깝고 분류하기가 가장 어렵습니다. 결정 초평면의 위치는 지원 벡터에 따라 다릅니다. 이러한지지 벡터를 제거하면 초평면의 위치도 변경됩니다.
SVM (Support Vector Machine)은 입력 데이터 포인트 또는 지원 벡터라는 기능을 사용하여 결정 경계 즉, 초평면 주변 공간을 최대화합니다. SVM의 입력과 출력은 신경망과 유사합니다. 아래에 설명 된 것처럼 SVM과 NN에는 한 가지 차이점이 있습니다.
입력 : SVM 네트워크는 x라고하는 n 개의 입력을 포함 할 수 있습니다.하나, x두, …… .., x나는,…., X엔.
출력 : 목표 출력 t.
무게 : 신경망 가중치 w하나, 에두, ……, 에엔선형 조합이 출력 y를 예측하는 각 입력과 연관됩니다.
SVM과 신경망의 차이점
신경망의 시냅스 가중치는 네트워크의 출력 y를 계산하기 위해 제거되는 반면, SVM에서는 최적의 결정 경계를 계산하기 위해 0이 아닌 가중치를 줄이거 나 제거합니다.
가중치를 제거하면 분리 가능한 초평면을 결정하는 데 도움이되는 몇 가지 중요한 입력 기능으로 입력 데이터 세트가 줄어 듭니다.
서포트 벡터 머신은 어떻게 작동합니까?
아시다시피, 서포트 벡터 머신의 목표는 분류 된 데이터 포인트 간의 마진을 최대화하는 것입니다. 이렇게하면 훈련되지 않은 새로운 데이터 세트를 분류하는 데보다 최적의 결과를 얻을 수 있습니다. 따라서 마진이 최대 인 위치에 하이퍼 플레인을 두어 달성 할 수 있습니다.
선형으로 분리 된 데이터 포인트의 예를 살펴 보겠습니다.
1 단계: 다양한 가능성에서 올바른 초평면 찾기 : 최상의 초평면을 결정하려면 데이터를 분할 할 수있는 모든 평면을 찾은 다음 그 중에서 입력 데이터 세트를 가장 잘 분류하는 평면을 선택합니다. 아래 그래프에는 세 가지 초평면 가능성이 있습니다. 초평면 3은 데이터 포인트를 더 잘 나눕니다.
2 단계: 가장 가까운 데이터 포인트 사이에 최대 여백이있는 초평면 선택 : 여백은 초평면과 가장 가까운 데이터 포인트 사이의 거리로 정의됩니다. 따라서 최대 마진을 갖는 것이 최적입니다. 2 개 이상의 초평면이 데이터를 균등하게 분류 할 때 마진을 찾으십시오.
최대 여백이있는 초평면이 선택됩니다. 아래 그림에서 하이퍼 플레인 2.1, 2.2 및 2.3은 데이터 포인트를 분할하지만 하이퍼 플레인 2.2에는 최대 마진이 있습니다.
3 단계 : 이상 값이있는 경우 : 이상 값은 데이터 포인트 집합과 다른 데이터 포인트입니다. 2 세트의 데이터 포인트의 경우 특이 치가 존재할 수 있습니다. SVM은 데이터에서 이러한 이상 값을 무시한 다음 최대 마진의 초평면을 찾습니다.
4 단계 : 비선형 적으로 분리 된 데이터 포인트의 경우 SVM은 커널 트릭을 사용합니다. 새로운 차원을 도입하여 비선형으로 분리 가능한 평면을 분리 가능한 창으로 변환합니다. 커널 트릭은 하이퍼 플레인을 최적화하기 위해 복잡한 데이터 변환을 수행하는 복잡한 수학 방정식입니다.
아래 그림은 z 평면을 사용하여 고차원으로 변환되는 비선형 분리 가능한 데이터 포인트를 보여줍니다. 두 데이터 세트를 나누는 초평면은 원입니다.
하이퍼 플레인의 위치를 최적화하는 방법
초평면의 위치는 최적화 알고리즘을 사용하여 최적화됩니다.
SVM 매개 변수 : 커널
선형으로 분리 할 수없는 문제에서 최적화 된 초평면을 빌드하는 작업은 커널을 사용하여 수행됩니다. 커널은 선형 대수 형식을 사용하여 복잡한 문제를 변환하는 수학 함수입니다.
선형 커널의 경우 방정식은 다음과 같습니다.
F (x) = b + 합계 (a나는* (x, x나는))
어디,
x는 새 입력 데이터입니다.
엑스나는지원 벡터입니다.
b, a나는계수입니다. 이러한 계수는 알고리즘의 학습 단계에서 추정됩니다.
복잡한 비선형 분리 가능 문제의 경우 커널 트릭은 비선형 분리 가능 문제를 분리 가능한 문제로 변환하는 역할을합니다. 복잡한 데이터를 변환하고 데이터 포인트를 출력으로 나누는 방법을 찾습니다.
커널 함수는 선형, 다항식, 시그 모이 드, 방사형 바이어스, 비선형 등과 같은 다양한 유형입니다.
위의 커널 함수 중 일부 사용을 살펴 보겠습니다.
커널 함수는 공간의 2 개 입력 x, y의 내적을 계산합니다.
# 1) 방사형 바이어스 함수 : 가장 많이 사용되는 커널 함수는 x = (-1,1) 사이에있는 모든 값에 대해 함수의 값이 1이고 그렇지 않으면 0이라고 말합니다. 일부 절편의 경우 x라고합니다.나는, 커널 함수의 값은 | (x나는– h), (x나는+ h) | x의 경우나는중심으로 취하고 그렇지 않으면 0입니다.
# 2) 시그 모이 드 함수 : Sigmoid를 사용하는 신경망으로서 SVM의 커널 함수는 다음과 같습니다.
# 3) 쌍곡 탄젠트 함수 : 신경망이 사용함에 따라 기능은 다음과 같습니다.
# 4) 가우시안 커널 함수 : 가우스 커널 함수 상태
# 5) 다항식 함수 : k (x나는, x제이) = (x나는* x제이+1)두
SVM의 응용
SVM의 실제 응용 프로그램은 다음과 같습니다.
# 1) 다른 카테고리로 기사 분류 : SVM은 작성된 텍스트를 구별하여 엔터테인먼트, 건강, 소설 기사와 같은 다른 범주에 넣습니다. SVM을 훈련하는 동안 계산 된 사전 설정된 임계 값을 기반으로합니다.
임계 값을 초과하면 범주에 포함됩니다. 값이 충족되지 않으면 분류를 위해 새 범주가 정의됩니다.
Windows 10 2018을위한 최고의 무료 방화벽
# 2) 얼굴 인식 : 주어진 이미지는 픽셀을 사용하여 특징을 감지하여 얼굴 이미지 또는 비 얼굴 이미지로 분류됩니다. 이미지가 얼굴 또는 얼굴이 아닌 것으로 인식됩니다.
# 3) 건강 정보 : SVM은 유전자, 생물학적 패턴 인식 등에 따라 환자를 분류하는 데 사용됩니다.
# 4) 단백질 상 동성 검출 : 전산 의학에서 SVM은 단백질 서열이 모델링되는 방식에 대해 학습됩니다. 그런 다음 SVM을 사용하여 단백질 상 동성을 감지합니다.
결론
이 서포트 벡터 머신 튜토리얼에서는 서포트 벡터 머신에 대해 배웠습니다. SVM 알고리즘은 이진 데이터와 선형으로 분리 가능한 데이터를 분류하는 데 사용되는지도 학습 알고리즘입니다. 최대 여백이있는 초평면으로 데이터 포인트를 분류합니다.
비선형 데이터 포인트는 커널 트릭을 사용하여 지원 벡터 머신으로 분류 할 수도 있습니다. 실생활에서 SVM의 많은 응용 프로그램이 있으며 가장 일반적인 응용 프로그램 중 하나는 얼굴 인식 및 필기 인식입니다.
행복한 독서 !!
=> 독점적 인 기계 학습 시리즈를 보려면 여기를 방문하십시오