Passion/Algorithm 7

Matrix를 Key, Value 쌍으로 저장하는 방법

Matrix는 테이블 형식의 데이터를 저장하는 효율적인 방법이다. 하지만 과 같은 sparse matrix를 N*N 테이블에 넣으면 메모리 손실이 너무 많다. n1 n2 n3 ... n100,000 n1 1 1 n2 n3 1 1 ... n100,000 1 대용량 sparse matrix 이를 관계형 데이터베이스로 구성하면 T_ROW n1 n2 n3 ... n100,000 T_Column n1 n2 1 n1 n1000,000 1 n3 n1 1 n3 n2 1 n1000,000 n3 1 이렇게 구성하면 되나 데이터가 너무 큰 경우 db table로는 관리하기 힘들다. (주로 외래키 관리가 어려움) Bigtable과 같은 Key, value 쌍으로 표현하면 n1 n2:1 n100,000:1 n2 n3 n1:1 ..

Passion/Algorithm 2011.07.14

Cluster Analysis (군집 분석)

1. 개념 Cluster Analysis는 개체 및 속성을 의미있는 집단으로 그룹핑하고 분석하는 방법이다. 개체는 동질적인 집단으로 또는 배타적인 집단으로 분류될 수 있다. 군집분석이 판별분석과 다른 점은 분류는 이미 알려진 그룹의 구조와 수대로 나누어 각 그룹에 새로운 개체를 할당하는 것이 목적이지만, 군집분석은 그룹의 수나 구조가 가정되어 있지 않고 유사성(similarity) 또는 근접성(proximity)에 근거한 그룹화이다. 군집분석의 예로는 환자들의 증후들을 이용하여 몇 개의 동질적인 집단으로 나누어서 이들이 가지고 있는 공통된 특성들을 조사하거나 성격에 따른 개인의 분류, 소비자행동의 유사성을 바탕으로 시장세분화를 하는 데 이용될 수 있다. 2. 군집화하는 방법 군집분석은 특성들의 유사성, ..

Passion/Algorithm 2009.01.21

PCA 관련

관련 소프트웨어들 http://astro.u-strasbg.fr/~fmurtagh/mda-sw/ Java 프로그래밍 http://astro.u-strasbg.fr/~fmurtagh/mda-sw/java/PCAcorr.java C 프로그래밍 http://transp-or2.epfl.ch/pagesPerso/javierFiles/software.php matlab http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/main/statistics/inst/princomp.m?revision=HEAD&content-type=text/plain 과정설명 (어떻게 해석해야 하는지를 가르켜 줌) http://www.doe-mbi.ucla.edu/~pa..

Passion/Algorithm 2008.07.28

single linked list에서 루프를 찾는 방법

- 오늘의 퀴즈입니다. 1) single linked list에서 루프가 존재하는지를 구하는 방법 hint) 거북이와 토끼의 경주에서 산꼭대기를 향해서 뛰어가지 않고, 트랙을 돌고 있다면? 답) 거북이와 토끼는 처음 만나서 경주를 하게 됩니다. 토끼는 육상 선수여서 그런지 엄청빠른 속도로 달릴 수가 있지요. 그에 비해 거북이는 엉그적 엉그적 느리게 걸어갑니다. 출발 소리를 들리고 토끼가 잽싸게 뛰쳐 나가죠. 이 놈의 속도를 측정하니 거북이의 두배나 빨랍답니다. 이에 비해서 거북이는 세월아 내월아 천천히 걸어가고 있었어요. 그런데 사실 토끼와 거북이의 경주는 산을 향해서 달리고 있었던게 아니었어요. 산꼭대기로 난 길이라고 생각했지만 산 주위를 계속 돌고 있는 길이었죠. 기억력이 나쁜 토끼는 자신이 산 주위..

Passion/Algorithm 2006.11.22