훌륭한 질문입니다. 통계적 방법의 단점과 가정을 어떻게 검사하는지 보여줄 수있는 기회입니다. 즉, 일부 데이터를 구성하고 알고리즘을 사용해보십시오!
우리는 두 가지 가정을 고려할 것이며, 가정이 깨질 때 k- 평균 알고리즘에 어떤 일이 발생하는지 볼 것입니다. 시각화하기 쉽기 때문에 2 차원 데이터를 고수 할 것입니다. ( 차원 의 저주 덕분 에 차원 을 추가하면 이러한 문제가 더 심각해질 수 있습니다.) 우리는 통계 프로그래밍 언어 R로 작업 할 것입니다. 여기 에서 전체 코드를 찾을 수 있습니다 ( 여기서는 블로그 형식의 게시물 ).
기분 전환 : Anscombe의 사중주
먼저 비유입니다. 누군가 다음과 같은 주장을했다고 상상해보십시오.
선형 회귀 분석의 단점에 대해 몇 가지 자료를 읽었습니다. 선형 추세를 기대하고 잔차가 정상적으로 분포되어 있으며 특이 치가 없다는 것입니다. 그러나 모든 선형 회귀 분석은 예측 된 선에서 제곱 오차 (SSE)의 합계를 최소화하는 것입니다. 그것은 곡선의 모양이나 잔차 분포에 관계없이 해결할 수있는 최적화 문제입니다. 따라서 선형 회귀 분석에는 아무런 가정이 필요하지 않습니다.
그렇습니다. 선형 회귀는 제곱 잔차의 합을 최소화하여 작동합니다. 그러나 그 자체로는 회귀의 목표가 아닙니다. 우리가 하려는 것은 x에 기반한 y 의 신뢰할 수 있고 편견이없는 예측 변수로 작용하는 선을 그리는 것입니다 . 가우스 - 마코프 정리 SSE를 최소화하면 해당 goal-을 수행하지만 정리가 매우 특정 가정에 달려 있음을 알려줍니다. 그 가정이 깨진 경우에도 SSE을 최소화 할 수 있지만하지 않을 수 있습니다 할아무것도. "페달을 밟아 차를 운전할 수 있습니다. 운전은 본질적으로 '페달 푸싱 과정'입니다. 탱크의 가스 양에 상관없이 페달을 밟을 수 있습니다. 따라서 탱크가 비어 있어도 페달을 밟아 차를 운전할 수 있습니다. "
그러나 대화는 싸다. 차갑고 어려운 데이터를 살펴 보자. 또는 실제로는 구성 데이터입니다.
이것은 실제로 내가 가장 좋아하는 메이크업 데이터입니다 : Anscombe 's Quartet . 통계 학자 Francis Anscombe가 1973 년에 창안 한이 유쾌한 조합은 통계적 방법을 맹목적으로 신뢰하는 어리 석음을 보여줍니다. 데이터 세트 각각은 동일한 선형 회귀 기울기, 절편, P 값 및 보유 - 아직 한눈 우리는 이들 중 하나만 있음을 알 수 I는 선형 회귀 적합하다. II 에서는 잘못된 모양을 제안하고 III 에서는 단일 특이 치에 의해 기울어졌으며 IV 에는 전혀 추세가 없습니다!R2
"선형 회귀는 여전히 하나는 말할 수 작업 은 잔차의 제곱의 합을 최소화하기 때문에, 이러한 경우에." 그러나 어떤 Pyrrhic 승리 ! 선형 회귀는 항상 선을 그리지 만 의미없는 선이라면 누가 신경 쓰나요?
이제 최적화를 수행 할 수 있다고해서 목표를 달성한다는 의미는 아닙니다. 그리고 데이터를 구성하고 시각화하는 것이 모델의 가정을 검사하는 좋은 방법이라는 것을 알았습니다. 직관에 매달리면 잠시 후에 필요합니다.
깨진 가정 : 비 구형 데이터
비 구형 클러스터에서는 k- 평균 알고리즘이 제대로 작동한다고 주장합니다. 비 구형 클러스터는 다음과 같습니다.
아마도 이것이 당신이 기대 한 것이 아닐 수도 있지만 클러스터를 구성하는 데는 합리적입니다. 이 이미지를 보면, 우리 인간 은 두 개의 자연적인 지점 그룹을 즉시 인식합니다. k- 평균이 어떻게 수행되는지 봅시다 : 할당은 컬러로 표시되고, 대치 된 중심은 X로 표시됩니다.
글쎄, 그건 옳지 않다. K-means는 둥근 구멍에 사각형 못을 맞추려고 시도했습니다. 주변에 깔끔한 구가있는 멋진 센터를 찾으려고했지만 실패했습니다. 예, 여전히 클러스터 내 제곱합을 최소화하고 있습니다. 그러나 위의 Anscombe의 Quartet과 마찬가지로 Pyrrhic의 승리입니다!
"이것은 공정한 예가 아닙니다 ... 어떤 클러스터링 방법도 그 이상한 클러스터를 정확하게 찾을 수 없습니다 "라고 말할 수 있습니다 . 사실이 아니다! 단일 연계 계층 적 클러스터링을 시도하십시오 .
못을 박았다! 단일 연결 계층 적 클러스터링 이이 데이터 세트에 올바른 가정을하기 때문입니다. ( 실패한 다른 모든 종류의 상황이 있습니다).
당신은 "그것은 극단적이고 병적 인 단일 사례"라고 말할 수 있습니다. 그러나 그렇지 않습니다! 예를 들어 외부 그룹을 원 대신 반원으로 만들면 k- 평균이 여전히 끔찍한 것을 볼 수 있습니다 (계층 적 클러스터링은 여전히 낫습니다). 다른 문제가있는 상황을 쉽게 생각 해낼 수 있습니다. 그것은 두 가지 차원에 있습니다. 16 차원 데이터를 클러스터링 할 때 발생할 수있는 모든 종류의 병리가 있습니다.
마지막으로 k-means는 여전히 구할 수 있습니다! 데이터를 극좌표 로 변환하여 시작하면 이제 클러스터링이 작동합니다.
그렇기 때문에 분석법의 기본 가정을 이해하는 것이 필수적입니다. 분석법에 결점이있는 시점을 알려주는 것이 아니라이를 해결하는 방법을 알려줍니다.
깨진 가정 : 불균일 한 크기의 클러스터
군집에 고르지 않은 수의 점이 있으면 k- 평균 군집화가 중단됩니까? 크기가 20, 100, 500 인이 군집 세트를 고려하십시오. 나는 다변량 가우스에서 각각 생성했습니다.
이것은 k- 평균이 아마도 그 클러스터를 찾을 수있을 것 같습니다. 모든 것이 깔끔하고 깔끔한 그룹으로 생성되는 것 같습니다. k- 평균을 사용해 봅시다 :
아야. 여기서 일어난 일은 약간 미묘합니다. 클러스터 내 제곱합을 최소화하기 위해 k- 평균 알고리즘은 더 큰 군집에 더 많은 "무게"를 제공합니다. 실제로, 이는 작은 클러스터가 어느 센터에서나 멀리 떨어져있게하는 것을 기쁘게 생각하며, 그 센터를 사용하여 훨씬 큰 클러스터를 "분할"합니다.
이 예제를 약간만 사용하면 ( R 코드 여기! ) k-means가 당혹스럽게 잘못되는 훨씬 더 많은 시나리오를 구성 할 수 있음을 알 수 있습니다.
결론 : 무료 점심 없음
Wolpert와 Macready가 공식화 한 수학 민속학 에는 "무료 점심 식사 정리"라는 매력적인 구조가 있습니다. 그것은 아마도 기계 학습 철학에서 내가 제일 좋아하는 정리, 그리고 내가 그것을 가져 오는 기회를 맛보세요 (한 나는이 질문을 사랑 언급?) 기본적인 아이디어는이 같은 (비 엄격) 적혀있다 : "가능한 모든 상황에 걸쳐 평균하면, 모든 알고리즘의 성능이 동일합니다. "
직관적 인 사운드? 알고리즘이 작동하는 모든 경우에 대해 실패한 상황을 구성 할 수 있다고 생각하십시오. 선형 회귀 분석은 데이터가 선을 따라 떨어지는 것으로 가정하지만 정현파를 따르는 경우 어떻게해야합니까? t- 검정은 각 표본이 정규 분포에서 나온 것으로 가정합니다. 이상 값을 던지면 어떻게됩니까? 모든 기울기 상승 알고리즘은 로컬 최대 값에 갇힐 수 있으며 감독 된 분류는 과적 합으로 속일 수 있습니다.
이것은 무엇을 의미 하는가? 그것은 가정 이 당신의 힘이 오는 곳 이라는 것을 의미합니다 ! Netflix가 영화를 추천 할 때, 영화를 좋아하면 비슷한 영화를 좋아한다고 가정합니다 (반대의 경우도 마찬가지). 그것이 사실이 아닌 세상을 상상해보십시오. 당신의 취향은 장르, 배우 및 감독들 사이에 우연히 무작위로 흩어져 있습니다. 그들의 추천 알고리즘은 크게 실패 할 것입니다. "글쎄, 여전히 예상되는 제곱 오차를 최소화하고 있기 때문에 알고리즘이 여전히 작동하고있다"고 말하는 것이 합리적일까요? 클러스터 특성에 대한 몇 가지 가정없이 클러스터링 알고리즘을 만들 수없는 것처럼 사용자의 취향에 대한 몇 가지 가정없이 추천 알고리즘을 만들 수 없습니다.
따라서 이러한 단점을 받아들이지 마십시오. 알고리즘을 선택하면 원하는 알고리즘을 알려줄 수 있습니다. 그것들을 이해하면 알고리즘을 조정하고 데이터를 변환하여 해결할 수 있습니다. 당신의 모델이 결코 틀릴 수 없다면 그것은 결코 옳지 않을 것이라는 것을 의미하기 때문에 그들을 사랑하십시오.