카테고리 없음

[컴퓨터 비전] 이미지 분류

외손잡이 2024. 9. 3. 21:13
작성자 장원준
일 시 2024. 9. 3  (목) 18:00 ~ 21:00
장 소 미래관 429호 자율주행스튜디오
참가자 명단 임혜진, 이재영, 성창민, 김명원, 장원준
 사 진

 

 

1 데이터 기반 방법 

  데이터 기반 방식에는 Nearest Neighbor Classifier, K-Nearest Neighbor Classifier 두가지 방식이 있습니다

 

1-1 Nearest Neighbor Classifier

  Nearest Neighbor(NN)은 컨볼루션 신경망 방법과는 아무 상관이 없고 실제 문제를 풀 때 자주 사용되지는 않지만, 이미지 분류 문제에 대한 기본적인 접근 방법을 알 수 있도록 합니다.

예측 단계에서는 투입된 이미지와 가장 가까운 데이터의 레이블을 통해 예측 하는 방법

1-2 K-Nearest Neighbor Classifier

신경망(NN)은 단점이 많은 알고리즘입니다. 첫째, NN은 예측 시 단 하나의 레이블만을 고려하기 때문에 결과의 안정성이 떨어질 수 있습니다. 이러한 단점을 보완하기 위해 k-최근접 이웃(KNN) 알고리즘을 사용할 수 있습니다. KNN은 예측 과정에서 입력 데이터와 가장 가까운 k개의 데이터 레이블을 확인한 뒤, 가장 많이 등장하는 레이블을 예측 결과로 선택하는 방식입니다. 이렇게 여러 데이터로부터 가장 빈번하게 나타나는 결과를 선택하는 과정을 머신러닝에서는 '투표(voting)'라고 합니다.

 

KNN은 학습 데이터셋에서 가장 가까운 하나의 이미지만을 찾는 것이 아니라, 가장 가까운 k 개의 이미지를 찾아서 테스트 이미지의 라벨에 대해 투표하도록 하는 것입니다. k = 1 인 경우, 원래의 Nearest Neighbor 분류기가 됩니다. 직관적으로 k 값이 커질수록 분류기는 이상점(outlier)에 더 강인하고, 분류 경계가 부드러워지는 효과가 있습니다.

 

1-3 Bayesian Classifier

  베이지안 분류기는 이 베이즈 정리를 이용하여 입력 데이터가 특정 카테고리에 속하는 지 분류합니다.

 

2 규칙 기반 방법(Rule-Driven Approach)

규칙 기반 학습 방법은 if-then 방식으로 입력에 대한 결과를 도출하며, 예제에 대해 가설을 세우고 결과를 유도하는 귀납적 사고 방식입니다. 대표적인 알고리즘으로는 Find-S 알고리즘과 Version space/Candidate 알고리즘이 있습니다. 

규칙 기반 학습이 타당하려면 다음의 가정이 필요합니다:
1. 관측 오차가 없다.
2. 일관성 없는 관측이 존재하지 않는다.
3. 확률적 요소가 없다.
4. 관측된 정보가 시스템의 모든 정보를 포함한다.

이러한 가정을 모두 만족하는 경우를 "완벽한 세계"라 하며, 규칙 기반 학습은 이러한 완벽한 세계에서 유효합니다.

 

2-1 Find-S 알고리즘

Find-S 알고리즘은 가장 구체적인 가설에서 시작하여 점점 General한 가설을 찾아내는 방법입니다. 가장 중요한 점은 예제 중 positive training example 만 선별한다는 것입니다. 특정 예제로부터 도출된 결과를 다른 예제들에 반복하여 적용하여 변경된 부분만 don't care condition으로 설정하고 최종적인 가설을 만들어 냅니다.

 

이 예제에서는 하늘, 날씨, 바람 등의 요소를 기반으로 운동을 즐길 수 있는지 여부를 판단합니다. "Enjoy Sport"가 "Yes"인 경우가 positive example입니다. 우리의 목표는 운동을 즐길 수 있는 조건에 대한 일반적인 가설을 세우는 것입니다.  

Find-S 알고리즘 과정:

1. 첫 번째 행에서 모든 조건이 만족(Sunny, Warm, Normal, Strong, Warm, Same)하면 positive입니다.
2. 두 번째 행은 Humid를 제외하고 첫 번째 행과 동일하며, 역시 positive입니다. 따라서 Humid를 'i don't care' 조건으로 설정하여 가설을 일반화할 수 있습니다.
3. 세 번째 행은 negative이므로 무시합니다.
4. 네 번째 행에서 water와 forecast가 다르지만, 여전히 positive입니다. 따라서 이 두 컬럼도 'i don't care'로 설정합니다.
5. 최종적으로 Sky = Sunny, Temp = Warm, Wind = Strong인 경우에 운동을 즐길 수 있다는 일반화된 가설을 얻습니다.

한계점:

Find-S 알고리즘은 현실에서 사용하기에 한계가 있습니다. 세상이 그렇게 단순하지 않으며, 고려해야 할 요소가 더 많습니다. 또한, 알고리즘은 단 하나의 일반화된 가설만 도출하기 때문에, 다양한 가설의 집합을 고려하지 않습니다. 예를 들어, 맑은 하늘에서 따뜻하고 바람이 강하거나, 춥지만 바람이 약할 때 운동을 즐길 수 있는 경우가 있을 수 있지만, Find-S 알고리즘은 이를 모두 포함하는 하나의 일반화된 가설만 도출합니다.

 

2-2 Candidate Algorithm

 하나의 일반적인 가설을 도출하는 Find-S 알고리즘에서 발전된 형태로, 예제에 일치하는 모든 가설의 집합(version space) 를 도출하는 알고리즘입니다.

 

 

위 구조에서 G는 매우 일반적인(general) 가설에서 시작하고, S는 매우 구체적인(specific) 가설에서 시작합니다. G는 negative 예제, S는 positive 예제로 볼 수 있습니다. 두 가설은 각각 조건을 추가하거나 제거해 나가면서 점점 더 가까워지는데, 이들이 만나는 지점이 바로 모든 가설의 집합인 Version Space가 됩니다.

예시에서 S는 3개의 컬럼을 갖는 하나의 요소가 남았고, G는 1개의 컬럼을 갖는 두 개의 요소가 남았습니다. 이를 통해 총 6개의 가설을 도출할 수 있습니다:

1. Sunny & Strong  
2. Sunny & Warm  
3. Warm & Strong  
4. Sunny  
5. Warm  
6. Sunny & Warm & Strong  

이 6개의 후보 가설을 도출해내는 **Candidate 방법**은 여러 상황을 고려할 수 있다는 점에서 Find-S 알고리즘보다 더 타당하지만, 여전히 어떤 가설이 정확한지 명확히 알 수 없기 때문에 현실 세계에서는 사용하기 어렵습니다.

 

 

 

 

2학기 첫 모각코를 통해 이번학기 수업을 듣는 컴퓨터 비전에 대해서 공부 할 수 있어서 좋았다