[Python]머신러닝 용어 정리 supervised, unsupervised 차이점, 종류
머신러닝은 주로 지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning)으로 나뉜니다.
Supervised
지도학습(Supervised Learning)은 머신러닝의 한 분야로, 입력 데이터와 그에 대응하는 정답 데이터(레이블)를 사용하여 모델을 학습하는 방법이다. 이 방법은 입력과 출력 사이의 매핑을 학습하여 주어진 입력에 대한 적절한 출력을 예측할 수 있도록 한다.
지도학습은 다음과 같은 특징을 가지고 있다:
- 학습 데이터에 레이블이 존재: 지도학습에서는 학습을 위한 데이터에 레이블이 포함되어 있다. 이 레이블은 우리가 원하는 출력값을 나타낸다. 예를 들어, 스팸 메일 필터링을 학습하기 위한 데이터셋에서는 각 이메일이 스팸인지 햄(정상 메일)인지를 나타내는 레이블이 포함된다.
레이블(Label) : 지도학습에서 입력 데이터와 대응하는 출력값 또는 정답을 나타내는 것. 각각의 입력 데이터에 해당하는 출력값이나 정답을 레이블이라고 한다. - 모델의 학습: 지도학습에서는 입력과 그에 해당하는 출력 사이의 관계를 모델링하는 과정이 진행된다. 이를 위해 다양한 머신러닝 알고리즘이 사용된다. 예를 들어, 선형 회귀, 의사결정 트리, 신경망 등이 있다다.
- 모델의 평가: 학습된 모델은 이후에 새로운 입력 데이터에 대해 예측을 수행할 수 있다. 이때 모델의 성능을 평가하기 위해 테스트 데이터를 사용하여 예측 성능을 평가한다.
- 활용 사례: 지도학습은 다양한 분야에서 활용된다. 텍스트 분류, 이미지 인식, 음성 인식, 주가 예측 등 다양한 영역에서 지도학습 알고리즘들이 적용되어 왔다.
- 회귀(Regression) 와 분류(Classification): 지도학습은 주로 분류와 회귀 두 가지 유형의 작업으로 나뉜다.
- 분류: 입력을 미리 정의된 클래스 또는 범주로 분류하는 작업이다. 이진 분류(두 개의 클래스)와 다중 분류(여러 개의 클래스)로 나뉜다.
- 회귀: 연속적인 값을 예측하는 작업으로, 주로 수치 예측에 사용된다.
prediction , Regression
- 회귀(Regression):
- 회귀는 주어진 입력 변수와 연속적인 출력 변수 간의 관계를 모델링하는 머신러닝 기법이다.
- 주로 연속형 데이터를 예측하는 데 사용된다. 예를 들어, 주택의 크기, 위치, 방의 개수 등의 특성을 사용하여 주택 가격을 예측하는 것이 회귀 문제의 한 예 이다.
- 회귀는 데이터 간의 상관 관계를 모델링하고, 이를 사용하여 새로운 입력 값에 대한 출력 값을 예측한다.
- 예측(Prediction):
- 예측은 주어진 데이터나 정보를 사용하여 미래에 발생할 사건이나 결과를 추측하는 것이다.
- 예측은 회귀를 포함한 다양한 머신러닝 기법을 사용하여 수행될 수 있다. 회귀는 연속적인 값을 예측하는 데 사용되는 머신러닝 기법 중 하나이다.
- 따라서 회귀는 예측의 하위 범주 중 하나로 볼 수 있다.
요약하면, 회귀는 주어진 데이터를 사용하여 연속형 출력 변수를 예측하는 머신러닝 기법이며, 예측은 주어진 데이터를 사용하여 미래에 발생할 사건이나 결과를 추측하는 것을 의미한다.
classfication
분류(Classification)는 지도학습의 한 유형으로, 주어진 입력 데이터를 여러 개의 클래스 또는 범주 중 하나로 분류하는 작업을 말한다. 이를 통해 입력 데이터의 패턴을 파악하고, 새로운 데이터가 어떤 클래스에 속하는지를 예측할 수 있다.
- 레이블(Label)을 사용: 분류 작업에서는 각각의 입력 데이터에 대응하는 출력 값이 미리 정의된 클래스 또는 범주로 주어진다. 이러한 출력 값들을 레이블이라고 한다. 모델은 주어진 입력에 대해 이러한 레이블을 예측하려고 한다.
- 이진 분류(Binary Classification)와 다중 분류(Multiclass Classification):
- 이진 분류: 두 개의 클래스 중 하나로 분류하는 작업이다. 예를 들어, 스팸 메일과 햄(정상 메일)을 구분하는 작업이 이진 분류의 한 예 이다.
- 다중 분류: 세 개 이상의 클래스 중 하나로 분류하는 작업이다. 예를 들어, 손으로 쓴 숫자를 인식하여 각 숫자에 해당하는 클래스로 분류하는 작업이 다중 분류의 한 예 이다.
- 모델의 평가: 학습된 분류 모델은 이후에 새로운 데이터에 대한 예측을 수행할 수 있다. 이때 모델의 성능을 평가하기 위해 테스트 데이터를 사용하여 정확도, 정밀도, 재현율 등의 지표를 계산한다.
- 활용 사례: 분류는 다양한 분야에서 활용된니다. 텍스트 분류, 이미지 분류, 음성 인식, 암 진단 등 다양한 영역에서 분류 알고리즘들이 적용되어 왔다.
- 모델의 학습: 분류 모델은 주어진 학습 데이터를 사용하여 각 클래스에 대한 패턴을 학습한다. 이를 위해 다양한 머신러닝 알고리즘이 사용된다. 대표적인 알고리즘으로는 로지스틱 회귀, 결정 트리, 랜덤 포레스트, 신경망 등이 있습니다.
요약하면, 분류(Classification)는 입력 데이터를 여러 개의 클래스 또는 범주 중 하나로 분류하는 지도학습의 한 유형으로, 입력과 해당하는 클래스 간의 관계를 모델링하여 새로운 데이터의 클래스를 예측한다.
분류 문제에서의, 성능 평가방법 : confusion Matrix
혼동 행렬(Confusion Matrix)은 분류(Classification) 문제에서 모델의 성능을 평가하기 위해 사용되는 행렬입니다. 이 행렬은 모델이 예측한 결과와 실제 결과 간의 관계를 나타낸다.
unsupervised
비지도 학습(Unsupervised Learning)은 지도학습과 달리 레이블이나 명시적인 정답이 주어지지 않은 데이터를 다루는 머신러닝의 한 분야이다. 비지도 학습은 데이터 간의 패턴이나 구조를 발견하고 이해하기 위해 사용된다.
비지도 학습의 주요 특징은 다음과 같다:
- 데이터에서 숨겨진 구조 탐색: 비지도 학습은 주어진 데이터에서 숨겨진 패턴이나 구조를 발견하고 이해하는 것을 목표로 한다. 이를 통해 데이터에 내재된 특성이나 클러스터를 발견할 수 있다.
- 레이블이 없는 데이터: 비지도 학습에서는 입력 데이터에 대한 레이블이나 명시적인 정답이 주어지지 않는다. 따라서 모델은 데이터의 내재된 구조를 발견하기 위해 노력해야 한다.
- 차원 축소(Dimensionality Reduction): 비지도 학습은 데이터의 차원을 줄이는 데도 사용된다. 차원 축소 기법은 데이터를 고차원 공간에서 저차원 공간으로 변환하여 데이터의 주요 특징을 보존하는 데 사용된다.
- 데이터 시각화: 비지도 학습은 데이터를 시각화하고 이해하는 데 유용하다. 데이터를 저차원 공간으로 변환하고 그림으로 그려서 데이터의 구조와 패턴을 시각적으로 파악할 수 있다.
비지도 학습은 다양한 분야에서 활용되며, 데이터 간의 패턴을 발견하고 이해하는 데 중요한 도구로 사용다. 클러스터링, 이상 탐지, 특이치 탐지 등의 작업에서 비지도 학습 알고리즘이 효과적으로 활용된다.
Clustering
클러스터링(Clustering)은 비지도 학습의 한 종류로, 주어진 데이터를 비슷한 특성이나 속성을 가진 그룹으로 묶는 작업을 의미한다. 이러한 그룹을 클러스터(cluster)라고 한다. 클러스터링은 데이터 간의 유사성을 기반으로 하여 유사한 데이터들을 하나의 클러스터로 묶어준다. 이때, 각 클러스터는 서로 다른 클러스터와는 구분되는 특징이나 속성을 가지고 있다.
클러스터링의 주요 특징은 다음과 같다:
- 비슷한 특성을 가진 데이터를 그룹화: 클러스터링은 주어진 데이터의 유사성을 기준으로 데이터를 그룹화한다. 데이터 간의 거리나 유사성을 측정하여 유사한 데이터들을 하나의 그룹으로 묶는다.
- 레이블이 없는 데이터에 적용: 클러스터링은 주어진 데이터에 대한 레이블이나 명시적인 정답이 주어지지 않은 상황에서 사용된다. 따라서 모델은 데이터 간의 유사성을 파악하여 클러스터를 형성해야 한다.
- 클러스터링 알고리즘: 다양한 클러스터링 알고리즘이 존재하며, 각 알고리즘은 다양한 방식으로 데이터를 그룹화한다.
- 응용 분야: 클러스터링은 다양한 분야에서 활용된다. 예를 들어, 고객 세분화(Customer Segmentation), 이미지 분할(Image Segmentation), 이상 탐지(Anomaly Detection) 등의 작업에서 클러스터링 알고리즘이 효과적으로 사용된다.
클러스터링은 데이터를 이해하고 구조화하는 데 유용하며, 데이터 간의 패턴을 발견하고 유사한 그룹을 형성하는 데 중요한 역할을 한다.