티스토리 뷰

SLAM

[SLAM] 양정연 교수 SLAM 강의 22강. Non Parametric Method

무엇보다_빛나는_샤트 2022. 2. 21. 21:21

2021. 10. 6. 16:21

 

안녕하세요

프로그래밍을 배우는 빛나는 샤트입니다. 

 

SLAM 강의 22강. Non Parametric Method


*이 포스팅은 목원대학교 양정연 교수님의 SLAM강의 유튜브 영상을 보고 제작되었음을 밝힙니다.

출처: 22강. Non Parametric Method

22강. Non Parametric Method

🎉강의요약

1. 칼만 필터(선형)와 파티클 필터(비선형)

2. 베이지안 분류기는 파라미터 기반이지만 우리가 배울 것은 Non 파라메틱

3. KNN: K개의 가장 가까운 이웃을 이용해 인식(얼굴 인식 등)

4. K Means Clustering: K개의 중심을 이용해 데이터를 Cluestring

 

<SLAM with Kalmann Filter or Particle Filter>

Kalmann Filter: 선형 시스템(기본적으로 선형이나 비선형도 사용)
Particle Filter: 비선형 시스템

z는 관측.

칼만 필터는 예전에 사용(속도가 느리다)

가정: 센서 정보는 부정확하다. 그러니 확률적인 접근이 필요.
예시: 관측결과가 흔들리는 현상(vk)
> 모델링하지 않고 확률적인 해법으로 접근한다.

실제 공간에서는 값이 달라지는 경우가 흔하다.(x=3이 항상 성립하지 않는다)

 

<Why Probabilistic Approach?>

[Mapping]
3층 -> 1층으로 갈 때의 경로를 생각할 때 거리는 모르지만 관측을 토대로 잘 돌아다닐 수 있다. 정확한 거리나 보폭, 시간 등을 모르지만 잘 갈 수 있다 -> 확률적인 세계관. 불확실한 정보를 종합해 행동
이는 즉, 확률 분포를 가지고 있기 때문!

 

<Analogy: Sample (or Particle) is Probability)>

Particle은 점?!
하지만 샘플이라는 표현은 익숙.
샘플을 토대로 확률을 계산할 수 있다. 이 때 샘플을 하나를 Particle

 

<Non Parametric Method>

베이지안 분류기: 확률 분포를 가지고 있음을 나타냄.
평균과 표준편차를 이용해 표현.
> 파라미터 기반 추정

하지만 파라미터가 없은 방법
>> KNN

 

<Kth Nearest Neighbor>

근접한 이웃 찾기 (K개)
굉장히 직관적이고 이해하기 쉽다.

 

<In case of Bayesian Classifier>

가우시안 형태로 분포를 나타냄.

 

<Nearest Neighbor>

특정 데이터가 키가 클까 작을까
주변의 데이터를 보면 큰 것이 많다면 > 키가 크다!
가장 가까운 것만 찾게 되면 NN

 

<Kth Nearest Neighbor>

x주변에 K개 만큼 데이터를 확인 후 >> 키카 크다 작다 알 수 있다.
> 굉장히 간편한 인식기를 만들 수 있다.
데이터만 많다면 꽤 좋은 결과

 

<Hand Writing Recognition>

현장에서 빠르게 활용할 수 있다.
우수해보이지만 1/2베이지안<KNN<베이지안 수준이다.
KNN을 아무리 좋게 해도 베이지안 분류기보다 좋지 않다.
문자 인식기를 만들려고 할 때 KNN을 사용하면 나쁘지 않은 성능이 나온다.
얼굴인식에서도 KNN을 사용하게 되면 3천차원 이상 되지만 인식이 잘 되지만 그래도 베이지안 분류기보다는 낮다

 

<Features of KNN>

NN은 물어보면 그때 학습한다 (Lazy learning)
데이터가 많을수록 시간이 많이 든다.
(차원이 늘어날수록)
고차원 문제에 적용할 수 있다는 장점은 있지만 인식률이 높이기 위해선 비용이 많이 든다. 실제 적용은 어렵다.

 

<Why KNN rather than 1-NN?>

데이터가 최악으로 분포할 수 있다.
만약 NN이라면 가장 가까운 녀석을 찾게 되면 오류가 발생할 수 있다.
> 이를 해결하기위해 개수를 많이 뽑는다.
>> 오버 피팅 문제 발생(너무 샘플에 국한되서 문제를 보는 것)

 

 

<Distance of KNN>

거리를 구하기 위해 벡터 놈 사용
차원이 많다면 맨 아래 식 Distance를 이용

 

<Discrete Problems for KNN>

거리가 딱 떨어지는 문제는 인식률이 낮다. 너무 비슷한 결과가 나오기 때문.
하지만 왼쪽처럼 continuous같은 데이터는 결과가 정확

 

<Clustering Methond find how many clusters are there>

그림처럼 다양한 데이터가 있을때 Centroid를 설정하면 데이터가 가까운 쪽으로 이동하게 된다. 오른쪽 그래프와 같이 파란점과 빨간점이 점점 가까운 Centroid로 이동해 clustering이 된다.

 

<Example) K means Clustering Centroid comes close to mean value>

K개만큼 찾아서 평균지점으로 이동을 반복해 Clustering
그림에서 보면 파란 군집과 빨간 군집의 굵은 점이 이동이 멈춘 것(중앙점)

 

<Centroid of Cluester. What is it?>

> K means Cluster는 많이 사용되고 있다. 클러스터 기법이기 때문에 영상 데이터, 포인트 클라우드 들을 세그멘이션.

>> KNN은 인식기, K mean Cluster은 두 개의 서로 다른 데이터를 쪼개는 클러스터 기법

 

 

피드백은 언제나 환영합니다.😊

틀린 부분 있다면 지적해주시고 도움이 되었다면 댓글 공감 눌러주세요

 

LIST
댓글