이 발표에서는 위상학적 자료 분석(Topological Data Analysis)을 어떻게 하고, 그에 대한 통계적 추정을 어떻게 하는지 간단하게 소개한다. 위상학적 자료 분석은 포괄적으로는 자료에서 위상학적인 특성을 추출하는 분석 방법을 아우르는데, 대표적으로 persistent homology와 군집 나무(cluster tree) 등이 있다.
persistent homology는 자료를 여러 해상에서 관측하고 지속성 있게 나타나는 위상 특성을 추려냄으로써 분석하고, 군집 나무는 자료의 레벨 군집이 어떤 계층 구조를 생성하는지 봄으로써 자료를 분석한다. 자료로부터 추정된 persistent homology와 군집 나무는 자료 분포의 임의성에 의해 오차가 생기는데, 이를 통계적으로 정량화할 수 있다.
이 발표에서는 persistent homology와 군집 나무의 오차를 정량화함으로써 어떻게 통계적으로 유효한 신뢰 집합을 얻을 수 있는지 제시하고, 실제로 계산하는 방법도 알아본다.
이 발표에서는 위상학적 자료 분석(Topological Data Analysis)을 어떻게 하고, 그에 대한 통계적 추정을 어떻게 하는지 간단하게 소개한다. 위상학적 자료 분석은 포괄적으로는 자료에서 위상학적인 특성을 추출하는 분석 방법을 아우르는데, 대표적으로 persistent homology와 군집 나무(cluster tree) 등이 있다.
persistent homology는 자료를 여러 해상에서 관측하고 지속성 있게 나타나는 위상 특성을 추려냄으로써 분석하고, 군집 나무는 자료의 레벨 군집이 어떤 계층 구조를 생성하는지 봄으로써 자료를 분석한다. 자료로부터 추정된 persistent homology와 군집 나무는 자료 분포의 임의성에 의해 오차가 생기는데, 이를 통계적으로 정량화할 수 있다.
이 발표에서는 persistent homology와 군집 나무의 오차를 정량화함으로써 어떻게 통계적으로 유효한 신뢰 집합을 얻을 수 있는지 제시하고, 실제로 계산하는 방법도 알아본다.
26. 예제 35 "모든 컴퓨터는 직렬 인터페이스 포트를 가졌다. 어떤 마이크로 컴퓨터들은 병렬 포트를 가졌다. 따라서 어떤 마이크로 컴퓨터들은 직렬 포트와 병렬 포트 두가지를 다 갖는다.“ M(x): x는 마이크로 컴퓨터이다. S(x) : x는 직렬 포트를 갖는다. P(x) : x는 병렬 포트를 갖는다.
35. is(animal(rabbit)) yes is(eat(wildcat, grass)) no which(x: eat (x, fish)) bear raccoon which(x, y: eat(x, y) and plant(y)) little-fish algae rabbit grass deer grass which(x:prey(x)) fish little-fish fish raccoon fox rabbit deer deer
36. 재귀 예제 39의 생태학 데이터베이스에서 “y는 x의 먹이 사슬에 있다.” In-food-chain(x, y) x가 y를 직접적으로 먹는다. X가 어떤 거을 먹고 그것은 어떤 것을 먹고 그것은 어떤것을 먹고…. 그거은y를 먹는다. 다시 말하면 2’. X는 z를 먹고 y는 z의먹이 사슬에 있다.
37. 먹이 사슬에 대해 Prolog 규칙은 In-food-chain(x, y) if eat(x, y) In-food-chain(x, y) if eat(x, z) and in-food-chain(z, y)
38. 예제 40 Which (y: in-food-chain (bear, y)) 1. Fish 2. Raccoon 3. Fox 4. Deer 5. Little-fish 6. Algae 7. Fish 8. Little-fish 9. Algae 10. Rabbit 11. Grass 12. Grass In-food-chain (bear, y) if eat(bear, y)
39. 1 부터 4까지는바로 얻어낼수 있다. 재귀적 경우로 이동하면, in-food-chain(bear, y) if eat(bear, z) and in-food-chain(z, y) z를 “fish”일 때 재귀가 발생한다. (75p참고)
45. 예제 42 {x – 1 > 0} X = x – 1 {x > 0} {x -1 > 0}x = x – 1{x > 0} 에서 사후 조건은 x > 0이다. 사후 조건을 통해 x – 1을 x로 치환하면 사전 조건은 X – 1 > 0 또는 x > 1이 된다.
46. 예제 43 X와 y의 교환하는 다음 프로그램 세그먼트의 정확성을 검증하라 Temp = x X = y Y = temp
47. {y = 1b, x = a} Temp = x {y = b, temp = a} X = y {x = b, temp = a} Y = temp {x = b, y = a}
48. 조건부 규칙 조건부 서술(conditional statement) If condition B then P1 else P2 End if
49. 예제 45 {n = 5} If n >= 10 then Y = 100 Else Y = n + 1 End if {y = 6} {n = 5 그리고 n < 10} y = n + 1 {y = 6}
50. 예제 46 Max(x, y) 두개의 값 x와 y중 최대값을 구하는 다음의 프로그램 세그먼트의 정확성을 검증하라 {x != y} If x > y then Max = x Else Max = y End if
51. {x != y and x >= y} max = x {(x > y and max = x) or (x < y and max = y)} {x != y and x < y} max = y {(x > y and max = x) or (x < y and max = y)} (x > y ∧ x = x) ∨ (x < y ∧ x = y) 두번째 논리합은 항상 거짓이기 때문에 이것은 (x > y ∧ x = x) 와 동치이다.