Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
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
Tags
more
Archives
Today
Total
관리 메뉴

medical image & AI

Pattern recognition and Machine learning - Introduction 본문

머신러닝

Pattern recognition and Machine learning - Introduction

hyunwooLee 2020. 6. 19. 18:23

Chapter 1. Introduction

 

- Machine perception

    

  • Major objecive : machine들이 어떠한 패턴들을 인식할 수 있도록 디자인하고, 설계하는 것
  • Example :
    • Speech recognition (음성인식)
    • Fingerprint identification (지문인식)
    • Character recognition (인물인식)
    • DNA sequence identification (DNA 시퀀스)
    • ECG abnormal beat detection (ECG에서 비정상 신호 인식)
    • Brain-machine interface (뇌-기계 인터페이스)
    • etc

- Pattern recognition system

패턴인식의 전체적인 시스템

                 

* Measurement vector --> 어떠한 신호를 숫자로 이루어진 신호로 변환 (전체정보)

* Feature vector --> 패턴인식에 도움이되는 정보 (요즘의 DNN은, feature extractor와 classifier가 같이 있는 형태가 많다.) 

* priori information --> 사전지식을 통하여 finetuning을 한다. 

* Training --> Neural Network의 세부 파라미터를 결정하는 일이 된다.

 

- Ex. Bass or Salmon

<Ref : Duda, Hart, Pattern classification, 2nd edition>

 

 

* 이미자 한장한장마다 Bass 인지 Salmon인지에 대한 사전지식과, 각 이미지마다의 feature(ex. length or lightness) extraction 하게되면 위와같이 historam을 plot할 수 있게된다. 이를통해 우리는 패턴인식이 가능해지는 것이다

 

* 하지만 하나의 threshold value로는 두 class를 완벽히 분류를 해낼 수가 없다.

 

 

- Patterns and features

* Objects are represented by set of measurements (Object(input)들은 어떠한 measurement에 의해서 나타내진다.) --> measurement : image, waveform(signal) 등..

 

* Pattern :

    - A set of measurements

    - A vector in an n-dimensional or multi-dimentional or hyper space

    - A point in hyperspace

    - 위 세가지로 말할 수 있다.

 

* Feature vector :

    - Pattern으로 부터 추출해낸 결과

    - 따라서 기존 pattern보다 훨씬 낮은차원을 갖게된다.

 

 

- Feature vectors in hyperspace

<Ref : Duda, Hart, Pattern classification, 2nd edition>

 

* 3차원 이상이되면 feature vector를 시각화 할 수는 없지만 개념적으로 표현할 수 있다.

 

 

- Bass or salmon? : using 2-D feature vector

 

(1)

<Ref : Duda, Hart, Pattern classification, 2nd edition>

 

* 앞서서, 1D feature를 이용하여 만든 histogram보다 더 정확한 boundary를 만들 수 있게 된다. 하지만 꼭 직선으로 만들어야 하는 것일까??

 

(2)

<Ref : Duda, Hart, Pattern classification, 2nd edition>

 

* 복잡한 decision boundary가 완벽히 classification을 하는 것 같지만 이 decision boundary를 만들때에 사용되지 않은 "새로운 데이터"(future pattern)를 적용시킬때 잘 작동할 것인가? 가 문제이다. --> 성능이 많이 떨어질 가능성이 높다.

 

(3)

Ref : Duda, Hart, Pattern classification, 2nd edition>

 

* 이전보다는 완만하게 decision boundary가 형성된다면, "generalization"(일반화)이 잘 된다고 생각할 수 있다. 다시말해, 새로운 데이터(future pattern)에 대하여 잘 작동할 가능성이 높다.

 

 

- Typical structure of pattern recognition system

 

* 위에 나와있는 pattern recognition system에 대한 순서도를 다시 나타낸 것이다.

 

* Segmentation : preprocessing - 중요한 부분만 잘라내는 부분 (실제로 이 segementation과정은 매우 어려운 경우가 많다. ex : noise, overlapping) --> 일종의 신호처리 과정

 

* Sensor : inputs --> signal data (다른말로 transducer ex. camera, microphone, electrode..)

 

* Post-processor : 다른 고려사항(context, cost of errors...)들을 고려하여 적절한 action을 결정한다. 

 

#Feature extraction

* feature extractor와 classifier의 구분이 어려운 경우도 있다.

* Very similar for objects in the same category

* Very different for the objects in different categories

* 목적 : distinguishing feature들을 찾아내는 것 (분류하기 좋은 feature들)

 

#Classification

* feature vector를 이용하여 어떠한 object를 한 카테고리로 분류시킨다. (어떠한 feature vector 공간을 분할한다)

* domain-independent하게 이론설정이 가능하다 (음성, 이미지 등등)

* claissfication의 난이도(difficulty)는 (1) Within-cluster variability  (2) between-cluster variability 두가지에 의하여 결정된다.

* classification을 방해하는 요인 2가지 1. problem complexity(문제 자체의 복잡성), 2 Noise 는 모두 Varialbility를 classification에 불리한 방향으로 이끌어간다. 

 

#Post-processing

* classification 이후에 다른 상황들을 고려하여야한다...? --> 이를통해 더 효율적인 classification이 될 수 있다.

 

 

- Design of pattern recognition system

* 패턴인식 시스템을 설계하는 과정

 

* 1. 데이터 모으기 (전문지식 필요) / 2. feature 추출 (전문지식 필요) / 3. choose model (다항식, NN, 확률밀도함수 등등) / 4. train classifier / 5. evaluate calssifier  

 

 

#Learning and adaptation (Training)

* training data를 이용하여 pattern classifier의 parameter를 정하는 과정

* Supervised training : "Category label" (입력 데이터마다 가지고있다.) --> 주로사용된다

* Unsupervised : no explicit teacher.... 따라서 주로 grouping을 많이한다.