Skip to content

(07.13) W02_L02_RuleBasedIntro

Dae Ha Kim edited this page Jul 13, 2018 · 7 revisions

https://www.youtube.com/watch?v=gmKvXBBawmk&index=7&list=PLt9QR0WkC4WVszuogbmIIHIIQ2RMI78RC


민규(2018.07.13): 이번 강의에서는 Rule Based learning에 사용되는 2가지 알고리즘을 배웠다. 첫 번째로, Find-S 알고리즘으로 Rule based 방법 중에서 가장 단순한 방법 중 하나일 것이다. 이 알고리즘의 구현은 너무 간단하지만 가장 큰 단점은 robust하지 않다. 내 생각에는 Find-S 알고리즘은 굉장히 specific한 경우밖에 못 만들 것 같다.

두번째는 Candidate Elimination 알고리즘이다. 이 알고리즘은 Version space라는 specific과 general의 중간정도 되는 hypothesis의 집합을 찾는 것이다. Specific 가설을 찾는 방법은 positive label에 대해서 적용하고, general 가설을 찾는 방법은 negative label에 대해 적용하는 것이다. specific 가설에 경우 각 요소가 AND조건을 만족하는 것 같고, general 가설들은 OR조건을 만족하는 방식으로 찾는다. 확실히 Find-S보다는 상대적으로 robust하게 작용할 것이다. 그러나 이 두 가지 알고리즘은 에러가 없는 완벽한 세상에서만 잘 동작하기 때문에 실제 세상에서는 약간의 노이즈가 와도 제대로 동작할 수 없다.


진구(2018.07.13):
rule-based 에서 rule은 hypothesis 였던 것 같다.
처음 find-S를 봤을 땐 딱 보고 노이즈에 취약하겠구나, 범위 설정 정도는 가능하겠네 라고 생각했는데 뒤에 바로 그 내용이 나왔다.
범위 설정하는 방법인 candidate elimination algorithm은 서로 대치 되지 않는 most general hypothesis 와 most specific hypothesis를 설정하고 좁혀나가는 방법이다.
그러면 절대 안 나가는 경우, 반드시 나가는 경우, 모르겠는 경우 정도를 답할 수 있다.

하지만 노이즈가 있는 상황에서는 true function c를 eliminate할 위험도 존재한다.
머신러닝이 무엇인지 이 알고리즘들을 보니 조금 더 알게 되었다.
포인트는 데이터로 하나의 알고리즘, 또는 기준을 만들어 줘서 그것을 기반으로 컴퓨터가 다시 판단을 하는 게 머신러닝이라고 생각한다.


성빈(2018.07.13): 이번 강의에서는 저번 Rule-based 앞부분에 이어서 Find-S 알고리즘을 배웠다. 모든 파라미터가 null 인 상태로 데이터의 참/거짓을 확인하여 하나의 h가 나오게 하는 방법이었다. 하지만 이런 방식으로 h 를 찾게되면 저번시간에 언급되었던 perfect world라는 가정이 없다면 결국에는 너무 general 하게 될 거라고 생각한다 그 다음에 배운 candidate elimination 방법이 이를 어느정도 해결해주는 알고리즘같다. 위 아래 경계를 000000 ?????? 하게 놓고 학습하면서 경계를 점점 좁혀가는 알고리즘이었다. 승관이형 지갑이 거덜나고있다.


대하(2018.07.13):

승관이형을 기다렸지만 올리지 않아서 먼저 올린다. 앞서 다른 연구원 분들이 언급하지 않은 부분만을 올린다. 나는 실제 데이터 학습에서는 고차원에 noise성 데이터도 많기 때문에 이렇게 간단한 알고리즘을 사용할 수 없다는 것은 동의하지만 반대로 고차원 데이터를 잘 가공하여 dimension reduction을 잘 수행한다면 (예를 들어, PCA, Auto-encoder, Singular Vector Decomposition etc) 간단한 hypothesis로도 충분이 generalize한 분류기를 만들어 낼 수 있다고 생각하였다.

Clone this wiki locally