개요
머신러닝의 종류 중 비지도학습이 존재합니다. 이번 개시물에서는 비지도학습이 무엇인지 간략하게 알아보고, 알고리즘의 몇몇 종류에 대해서 알아보겠습니다.
목차
1. 비지도학습(Unsupervised Learning)
1-1. 클러스터링(Clustering)
1-2. 데이터 압축(Dimensionality reduction)
1. 비지도학습(Unsupervised Learning)
비지도학습(Unsupervised Learning)은 라벨화 되어있지 않는 데이터들을 여러 특징에 의해 군집화 하는 것으로, 여러 종류가 있으며 그중에 비슷한 연관성을 지닌 것들 끼리 묶어서 나타내는 것을 클러스터링(Clustering)이라고 하며, 다차원의 데이터를 저차원의 데이터로 축소하는 데이터 압축(Dimensionality reduction)이 있습니다.
1-1. 클러스터링(Clustering)
지도학습(Supervised Learning)에서 K-최근접 이웃(K-Nearest Neighbors) 알고리즘에서는 데이터 속성간에 절정 결계(Decision Boundary) 를 통하여 데이터를 나누었습니다. 비지도학습(Unsupervised Learning) 의 클러스터링(Clustering)에도 이와 비슷한 K-평균 알고리즘(K-means clustering)이 있습니다.
K-평균 알고리즘(K-means clustering)은 크게 2가지 단계를 거치게 됩니다. 클러스터(Cluster)의 중심점을 알맞은 자리에 이동시키고, 각각 cluster의 중심점을 바탕으로 데이터를 군집화 하는 것입니다.
우선 녹색으로 표기된 점들이 데이터라고 하고, 두개의 X를 cluster centroid라고 합시다. 이 둘은 clustering의 중심점으로서 역할을 수행하게 됩니다. 우선 이 두개의 cluster centroid를 중심으로 데이터들을 색으로 구분해보면,
두 개의 X를 중심으로 데이터들이 구분된 것을 확인 할 수 있습니다. 이 상태에서 cluster centroid들을 조금씩 움직여 가면서 데이터들의 구분되는 정도를 계속 확인하고, 이 중 최적으로 나누어지는 지점을 찾는 것이 K-means clustering의 특징입니다.
1-2. 데이터 압축(Dimensionality reduction)
클러스터링에 이어서 비지도 학습에는 데이터 압축(Dimensionality reduction)이라는 방법이 존재합니다. 이는 실제로 데이터를 압축하는 것은 아니고, 다차원의 데이터를 한 단계 낮은 차원의 데이터로 축소하는 방법을 말합니다. 이런 행위의 가장 큰 장점으로는 머신이 학습하는 시간을 단축할 수 있으며, 이로 인해 더 빠른, 성능이 좋은 시스템을 구축할 수 있게 됩니다.
2차원의 데이터를 1차원의 데이터로 낮추는 예시에 대해 알아보겠습니다. 우선 알고리즘에 따라 각 점은 (x1, y1), (x2, y2), ... 등 2가지의 데이터를 가집니다. 따라서 점들은 좌표평면상의 여러 점들로 표현 할 수 있습니다. 여기서, 이 점들을 평균적으로 지나는 벡터 z가 있다고 가정한 후 z벡터를 좌표축이라고 생각해 보면, 2가지 데이터를 가졌던 점들이 1차원적 배열을 형성하는 것을 알 수 있습니다. 이를 통해 각 점들 사이의 관계를 한 단계 낮은 차원의 데이터로 표현 가능합니다.
이와 비슷한 맥락으로 3차원 데이터는 2차원 데이터인 평면으로, 4차원은 3차원으로, 수없이 많은 데이터의 차원을 낮출 수 있으며, 이는 성능에 직결되는 긍정적인 영향을 끼칩니다.
'python' 카테고리의 다른 글
1. python 작은 팁 모음! (추가 예정) (0) | 2021.01.13 |
---|---|
4.머신러닝의 종류, 강화학습(Reinforcement Learning) (0) | 2021.01.07 |
2. 머신러닝의 종류, 지도학습(Supervised Learning) (0) | 2021.01.07 |
1. 머신러닝이란?(정의, 문제 해결 과정, 종류) (0) | 2021.01.06 |
[python]Visual Studio Code 추천 extension 모음 (0) | 2021.01.05 |
댓글