본문 바로가기

전체 글

SVM (Support Vector Macine, 서포트 벡터 머신) SVM(서포트 벡터 머신) 이란? SVM(서포트 벡터 머신)은 통계적 분류 알고리즘 중 하나로 '여백'이라는 개념을 적용한 알고리즘입니다. 두 집단이 존재할때 두 집단 사이의 여백을 최대화하여 일반화 능력을 극대화하는 것이 해당 알고리즘입니다. 자세한 설명은 아래에서 이어나가겠습니다. 아래와 같은 집단이 존재한다고 가정하겠습니다. 물론 실제 데이터를 다루다 보면 아래와 같은 이상적인 형태의 데이터는 거의 없을겁니다. 위의 집단을 나누는 직선은 아래와 같이 여러 경우가 있을 것입니다. 1번 직선의 경우 파란색 집단을 가로지르고 있으므로 두 집단을 제대로 분리한다고 볼 수 없습니다. 2번, 3번 직선의 경우 오류 없이 두 집단을 잘 분리 했다고 볼 수 있습니다. 여기서 신경망 학습 알고리즘은 초기값으로 1번.. 더보기
Dubins path 알고리즘 오늘은 지난 포스팅에서 다뤘던 A*알고리즘에 이어서 Dubins path 알고리즘에 대해서 알아보겠습니다. Dubins path란? Dubins path는 시작지점에서 목적지점으로 가기 위한 방향, 곡선 경로를 생성하는 알고리즘입니다. 앞서 설명드린 Dijkstra, A* 알고리즘은 직선 경로 생성만 가능했으며 뱡향에 대한 개념을 다루고 있지 않았습니다. 즉, 벡터가 아닌 스칼라 값을 다루고 있습니다. 여기서 벡터 경로를 생성하기 위한 알고리즘중 하나가 Dubins path 알고리즘입니다. Dubins path는 시작지점과 목적지점의 좌표 및 방향을 입력 받고 로봇의 회전반경을 기반으로 곡전 및 직선 경로를 생성합니다. - 시작지점 좌표 - 시작지점에서의 방향 - 목적지점 좌표 - 목적지.. 더보기
A*(astar) 알고리즘 오늘은 지난 포스팅에 이어서 A* 알고리즘에 대해 알아보겠습니다. A* 알고리즘이란? A* 알고리즘은 가장 많이 사용되는 경로 알고리즘 중 하나이며 최적의 경로를 찾아내는 그리드 기반 탐색 알고리즘입니다. 주어진 장애물 맵을 기반으로 출발점에서부터 목적지점까지의 장애물을 회피하는 최적의 경로를 생성합니다. 위의 알고리즘은 전역경로 계획(Global path planning)에 자주 사용됩니다. 이전 포스팅에서 설명했던 Dijkstra(다익스트라)알고리즘과의 차이점은 휴리스틱이라는 개념이 사용된다는 점입니다. 휴리스틱이란? 위의 설명에서 언급했던 휴리스틱에 대해 알아보겠습니다. 본인이 눈을 감은 상태로 처음가보는 장소에 서있다고 가정해 봅시다. 처음 가보는 장소이기때문에 주변 환경에 대해서 아는 정보가 전.. 더보기
Dijkstra(다익스트라) 알고리즘 Dijkstra(다익스트라) 알고리즘은 경로 알고리즘의 가장 기초가 되는 알고리즘이며 대표적인 최단 경로 탐색 알고리즘 중 하나입니다. 경로생성에 정답은 없겠지만 요즘 나와있는 대부분의 경로 생성 알고리즘들의 근간이 되는 알고리즘입니다. 다익스트라 알고리즘은 특정 노드(좌표)에서 갈 수 있는 모든 노드(좌표)로의 최단 경로를 계산해 줍니다. 위의 그림은 다익스트라의 구조를 설명할 때 주로 드는 예시입니다. 다익스트라의 가장 큰 특징은 앞서 말했듯이 특정 노드에서부터 방문할 수 있는 모든 노드까지의 최단 거리를 구하는 것입니다. 만약 1번 노드를 현재 노드(좌표)로 설정했다고 가정해 봅시다. 1번 노드에서 방문할 수 있는 노드는 2, 3, 4번 노드입니다. 이때 2,3,4번 각각의 노드를 방문할 때 드는 .. 더보기