모든 머신 러닝 알고리즘이 데이터를 선형 적으로 분리합니까?


22

저는 프로그래밍과 머신 러닝을 좋아합니다. 몇 달 전만해도 기계 학습 프로그래밍에 대해 배우기 시작했습니다. 정량적 인 과학 배경이없는 많은 사람들과 마찬가지로 저도 널리 사용되는 ML 패키지 (캐럿 R)의 알고리즘과 데이터 세트를 다루면서 ML에 대해 배우기 시작했습니다.

얼마 전 저는 ML에서 선형 회귀 사용에 대해 이야기하는 블로그를 읽었습니다. 내가 올바로 기억하고 있다면 그는 결국 모든 기계 학습이 선형 또는 비선형 문제에 대해서도 일종의 "선형 회귀"(이 정확한 용어를 사용했는지 확실하지 않음)를 사용하는 방법에 대해 이야기했습니다. 그때 나는 그가 그 말의 의미를 이해하지 못했습니다.

비선형 데이터에 기계 학습을 사용하는 것에 대한 나의 이해는 비선형 알고리즘을 사용하여 데이터를 분리하는 것입니다.

이것은 내 생각이었다

선형 데이터를 분류하기 위해 선형 방정식 하고 비선형 데이터에는 비선형 방정식 사용한다고 가정하겠습니다.y = s i n ( x )와이=엑스+기음와이=에스나는(엑스)

여기에 이미지 설명을 입력하십시오

이 이미지는 지원 벡터 시스템의 sikit learn 웹 사이트에서 가져온 것입니다. SVM에서는 ML을 위해 다른 커널을 사용했습니다. 그래서 초기 생각은 선형 커널이 선형 함수를 사용하여 데이터를 분리하고 RBF 커널은 비선형 함수를 사용하여 데이터를 분리한다는 것입니다.

그러나 저자가 신경망에 관해 이야기하는 이 블로그를 보았습니다 .

왼쪽 서브 플롯에서 비선형 문제를 분류하기 위해 신경망은 결국 오른쪽 서브 플롯에서 변환 된 데이터에 간단한 선형 분리를 사용할 수있는 방식으로 데이터를 변환합니다.

여기에 이미지 설명을 입력하십시오

내 질문은 결국 모든 기계 학습 알고리즘이 분류 (선형 / 비선형 데이터 세트)에 선형 분리를 사용하는지 여부입니다.



3
(엑스)에스=(엑스)와이=θ0+θ1에스

이 스레드에 대한 mbq의 답변도 좋아 합니다 . 지원 벡터 시스템을 이해하도록 도와주세요 .
Andy W

답변:


26

대답은 아니요입니다. user20160에는 완벽한 대답이 있습니다. 아이디어를 설명하기 위해 시각화와 함께 3 개의 예를 추가하겠습니다. 이 도표는 "최종 결정"이 선형 형식인지 확인하는 데 도움이되지 않지만 트리, 부스팅 및 KNN에 대한 의미를 제공합니다.

의사 결정 트리부터 시작하겠습니다. 분할이 많으면 비선형 결정 경계입니다. 그리고 이전의 모든 분할이 "기능 변환"이라고 생각할 수 없으며 마지막에는 최종 결정 라인이 있습니다.

또 다른 예는 많은 "약한 분류 자"를 집계하고 최종 결정 경계가 선형이 아닌 부스팅 모델입니다. 최종 예측을하기에는 복잡한 코드 / 알고리즘이 있다고 생각할 수 있습니다.

마지막으로 K Nearest Neighbors (KNN)에 대해 생각해보십시오. 또한 엔드 레이어에서 선형 결정 함수가 아닙니다. 또한 KNN에는 "기능 변환"이 없습니다.

다음은 2D 공간에서 3 가지 시각화 (Tree, Boosting 및 KNN)입니다. 기본 진리는 2 개의 나선이 2 개의 클래스를 나타내고 왼쪽 서브 플롯은 모델의 예측이고 오른쪽 서브 플롯은 모델의 결정 경계입니다.

나무 결정 경계

의사 결정 경계 강화

KNN 결정 경계


편집 : 이 게시물 의 @ ssdecontrol의 대답 은 또 다른 관점을 제공합니다.

"변환"정의 방법에 따라 다릅니다 .

데이터를 두 조각으로 분할하는 모든 함수는 인터셉트와 단일 입력 (데이터 포인트가있는 파티션의 "측면"표시기)을 사용하여이 형식의 선형 모델로 변환 할 수 있습니다. 의사 결정 기능과 의사 결정 경계의 차이를 기록하는 것이 중요합니다.


나는 비판하고 싶지 않지만 부스팅은 약간 거친 것 같습니다. 다른 매개 변수로 더 부드러운 결과를 얻을 수 없습니까? 모든 설명이 아주 좋았 기 때문에 당황해서 죄송합니다.
YCR

@YCR 나는 그것이 당신이 거친 결정 경계를 갖는 곳을 높이는 지점이라고 생각합니다. 거칠기는 많은 약한 분류기 (이 예에서는 나무)를 집계하여 발생합니다. 그러나 나는 두 번째 예가 좋은 모델이 아니며 너무 적합하다는 것에 동의합니다. :)
Haitao Du

1
(+1) 훌륭한 시각화 (저는 spirals실험 에도 많이 사용 합니다). 제안 : 결정 경계를image 확률 수준 (확률 적 결과를 사용하는 경우)을 추가하십시오 contour.
Firebug

@Firebug 위대한 제안! 이 플롯은 그리드로 생성되며 최종 레이블 만 알려줄 수 있습니다. 윤곽이 훨씬 좋습니다.
Haitao Du

내 대답을 여기에서보십시오 : stats.stackexchange.com/a/218578/60613
Firebug

21

일부 알고리즘은 하이퍼 플레인 (즉, 선형 함수)을 사용하여 데이터를 분리합니다. 대표적인 예는 로지스틱 회귀입니다. 다른 사람들은 비선형 변환 후 하이퍼 플레인을 사용하여 데이터를 분리합니다 (예 : 신경망 및 비선형 커널이있는 벡터 머신 지원). 이 경우 결정 경계는 원래 데이터 공간에서 비선형이지만 데이터가 매핑되는 피처 공간에서는 선형입니다. SVM의 경우 커널 공식은이 매핑을 암시 적으로 정의합니다. 다른 알고리즘은 데이터 공간의 로컬 영역 (예 : 의사 결정 트리)에서 다중 분할 하이퍼 플레인을 사용합니다. 이 경우 결정 경계는 부분적으로 선형이지만 전체적으로 비선형입니다.

그러나 다른 알고리즘은 비선형 의사 결정 경계를 가지며 초평면으로 공식화되지 않습니다. 가장 가까운 예는 k 가장 가까운 이웃 분류입니다. 앙상블 분류기 (예 : 다른 분류기를 부스팅 또는 배깅하여 생성)는 일반적으로 비선형입니다.


신경망은 비선형 변환 후 하이퍼 플레인을 사용하는 모델 클래스의 좋은 예가 아닙니다. 이전 레이어를 피처 공간에 대한 비선형 변환으로 가정하면 출력 레이어는 많은 경우 시그 모이 드 활성화 일 수 있습니다.
Cagdas Ozgenc

1
@CagdasOzgenc 제안한 것처럼 이진 분류와 시그 모이 드 출력을 갖는 네트워크의 경우를 고려해 봅시다. 이는 이전 계층의 활성화에 대한 로지스틱 회귀와 같습니다 (softmax 출력 사용은 다항 로지스틱 회귀와 동일 함). 따라서 결정 경계는 피처 공간의 초평면입니다. 원래 질문의 그림은 이에 대한 좋은 예를 보여줍니다.
user20160 2016 년

f (Ax) = 0이고 f가 일대일 인 경우 간단히 f ^ -1 of (Ax) = f ^ -1 (0) => Ax = 0 (또는 일부 상수 c)을 수행 할 수 있습니다. 따라서 S 자형의 경우 선형 결정 경계를 얻게됩니다. 기본적으로 f를 뒤집을 수없는 경우에 대해 이야기하고 있습니까?
Cagdas Ozgenc

f 출력 뉴런의 활성화 함수이고 x는 이전 레이어의 출력입니까? 당신이 무엇을 요구하는지 이해하지 못합니다.
user20160

x는 이전 레이어의 뉴런에서 나오는 벡터이고 f는 출력 활성화 함수입니다.
Cagdas Ozgenc
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.