일단 기본 루틴에 대해서 살펴봤었다... 1. centroid를 계산하고(초기는 랜덤 등..) 2. 모든 데이터에 대해서 최소 거리의 centroid로 할당하고 3. 2번에서 더이상 변하는 데이터가 없을 경우 종료 간단하다.. 중요한 것이 centroid를 구하는 것, 최소 거리의 centroid를 구하는 것 정도일 것이다. 또 중요한 점이 있다면 벡터 공간상에서 가능할 것이라는 것, 1d의 스칼라 값 뿐만 아니라 2d의 벡터 값에서도 클러스터링을 지원해줄 수 있도록 좀 범용적으로 활용할 수 있도록 하면 좋을 것이다. 따라서, 초기 입력을 float*의 데이터를 받고, 클래스 내부에서는 vector형으로 다루기로 하자. 필요한 변수는 k개의 클러스터 : m_nK centroid의 정보 : vector m..
K-means algorithm K means 알고리즘에 대해서 이야기는 많이 들어왔는데, 그 돌아가는 방법에 대해서 알아보면 좋을 것 같다... 참고 자료는 위키피디아... http://en.wikipedia.org/wiki/K-means_algorithm - K-means algorithm은 k 파티션으로 클러스터링을 하는 것으로 expectation-maximization 알고리즘과 비슷하다고 한다. 왜냐하면 둘다 데이터의 안에 있는 중심을 찾으려고 하기 때문이라고 한다. Object attribute들이 벡터 공간을 형성한다고 가정하고 있고, 그 목적이 클러스터 내의 분산의 총합을 최소화하는 것이라고 한다. squared error function V 는 다음 식과 같은데, k 클러스터로 나누는 ..
- Total
- Today
- Yesterday
- 자바스크립트
- 속깊은 자바스크립트 강좌
- HTML5 튜토리얼
- TIP
- 사진
- Writing
- 서울
- GX-10
- Python
- google app engine
- 안드로이드
- K100D
- 강좌
- lecture
- ny-school
- 샷
- java
- php
- 팁
- gre
- 안드로이드 앱 개발 기초
- HTML5
- gae
- mini project
- 삼식이
- c++
- Javascript
- Android
- 뽐뿌
- 탐론 17-50
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |