분류 전체보기 155

서포트 벡터 머신(Support Vector Machine)

서포트 벡터 머신(Support Vector Machine 또는 SVM)은 지도 학습 알고리즘 중 하나로, 분류와 회귀 분석에 모두 사용됩니다. 주로 분류 문제에 사용되며, 결정 경계(decision boundary)를 찾아 데이터를 분류하는 데 사용됩니다. SVM은 데이터를 분류하는 결정 경계를 찾기 위해 수행됩니다. 이 때, SVM은 최적의 결정 경계를 찾기 위해 최대 마진(margin)을 지니는 초평면(hyperplane)을 찾습니다. 여기서 마진이란 결정 경계와 가장 가까운 데이터 간의 거리를 의미합니다. SVM은 결정 경계를 찾을 때, 서포트 벡터(support vector)라는 개념을 사용합니다. 서포트 벡터는 결정 경계와 가장 가까이 위치한 데이터 포인트를 의미하며, 결정 경계를 찾는 데 있..

머신러닝 2023.03.28

나이브 베이즈 (naïve bayes)

나이브 베이즈 (Naive Bayes)는 베이즈 이론을 기반으로 하는 확률 분류 모델 중 하나입니다. 이 모델은 데이터의 특성 간 독립적인 가정을 하고, 이를 통해 간단하고 효과적인 분류 모델을 만들 수 있습니다. 출처 나이브 베이즈는 주어진 입력 변수(x)와 출력 변수(y) 사이의 조건부 확률인 P(y|x)를 추정하는데 사용됩니다. 이 모델은 베이즈 정리를 사용하여 이 확률을 추정합니다. P(y|x) = P(x|y) * P(y) / P(x) 여기서 P(y|x)는 입력 변수 x가 주어졌을 때 출력 변수 y가 발생할 확률입니다. P(x|y)는 출력 변수 y가 주어졌을 때 입력 변수 x가 발생할 확률입니다. P(y)는 출력 변수 y의 사전 확률이며, P(x)는 입력 변수 x의 확률입니다. 나이브 베이즈 모델..

머신러닝 2023.03.28

파이썬 라이브러리를 활용한 머신러닝 (1/3)

본 페이지는 "파이썬 라이브러리를 활용한 머신러닝"의 데이터와 코드 이해를 돕고자 작성한 페이지 입니다. 책을 구매해 주시면 감사하겠습니다. 머신러닝을 위한 질문 어떤 정보를 얻기 위해 질문을 하고 있나요? 그 정보는 제공 가능한 데이터로부터 추론될 수 있나요? 머신러닝의 관점에서, 내가 가진 문제를 가장 잘 기술하는 방법은 무엇일까요? 문제를 해결하는 데 필요한 데이터는 충분히 수집되었나요? 수집한 데이터의 특성은 무엇이며, 좋은 예측 결과를 만들어낼 수 있을까요? 머신러닝 모델의 성능을 어떻게 측정할 수 있나요? 머신러닝 솔루션이 다른 연구나 제품과 어떻게 상호작용할 수 있을까요? 머신러닝으로 해결할 수 있는 문제 예시: 지도 학습: 손으로 쓴 우편번호 숫자 인식 의료 영상을 기반으로 한 종양 판단 ..

머신러닝 2023.03.24

앙상블 기법(Ensemble Technique)

앙상블 기법(Ensemble Technique) 앙상블 기법은 무엇인가요? 앙상블 기법은 여러 개의 기본 모델을 결합하여 하나의 최적 예측 모델을 만드는 머신러닝 기법입니다. 앙상블 기법은 단일 모델보다 높은 예측 성능을 보일 수 있으며, 일반적으로 모델의 안정성과 성능을 향상시킵니다. 의사결정나무 (decision tree)는 조건에 기반하여 예측 값을 결정합니다. 예를 들어, 위의 의사결정나무 예시는 개인이 외출을 해야 할 지 여부를 결정합니다. 여러 날씨 요소를 고려하며 결정하거나 다른 질문으로 넘어갑니다. 여기서는 날씨가 흐릴 때마다 외출할 것입니다. 그러나 비가 오는경우엔, 바람이 불었는지 확인해야 합니다. 바람이 불면 외출하지 않을 것이고 바람이 불지 않는다면 외출 준비를 하면 됩니다. 의사결..

머신러닝 2023.03.23

정규화 (Normalization)

Normalization은 데이터셋의 값을 표준화하여 더 효율적인 분석을 가능하게 하는 데이터 전처리 기법입니다. 일반적으로 정규화는 모든 feature의 값을 0과 1 사이로 조정하는 것을 말합니다. 데이터 분석에서는 일반적으로 다른 feature들과 크기나 단위가 다른 feature이 있을 경우, 그 값들이 분석에 미치는 영향력이 커지고 정확한 예측이 어려울 수 있습니다. 이러한 문제를 해결하기 위해 normalization을 사용합니다. Normalization의 장점 데이터 분포를 표준화하여 데이터 분석에서 좀 더 안정적인 결과를 얻을 수 있습니다. 서로 다른 scale을 가진 feature들을 비교할 수 있습니다. Outlier의 영향을 줄일 수 있습니다. 학습 시 더 빠르게 수렴할 수 있습니다..

머신러닝 2023.03.21

Pandas library

Pandas는 파이썬 라이브러리 중 하나로, 데이터를 쉽고 빠르게 정리하고 분석할 수 있는 도구입니다. Pandas와 함께 자주 사용되는 라이브러리인 NumPy는 다차원 배열 객체를 제공하는 반면, Pandas는 표 형식의 데이터 작업을 위해 설계된 DataFrame 객체를 사용합니다. Series는 Pandas의 1차원 배열 객체로, 데이터 값과 해당 값의 위치를 대표하는 인덱스로 구성됩니다. 시리즈는 1차원 배열 객체이며 데이터 값(value)와 그 값의 위치를 대표하는 인덱스(index)로 이루어져 있습니다. 예시는 아래 코드 예시를 확인하실 수 있습니다. DataFrame은 2차원 자료 구조로, 행과 열이 있는 테이블 형식을 띄며, 각 열은 서로 다른 값 유형을 가질 수 있습니다. 각 열과 행은 ..

정규화 (Regularization)

회귀분석에서 regularization은 모델이 과적합(overfitting)되지 않도록 하기 위해 모델의 복잡도를 제한하는 기법입니다. Regularization은 모델이 예측할 때 사용되는 변수의 개수를 줄이는 것으로, 모델의 복잡도를 줄여서 일반화 성능을 높이는 것을 목적으로 합니다. Regularization은 주로 선형 회귀 모델에서 사용됩니다. 일반적으로 선형 회귀 모델에서 가중치(w)의 크기가 큰 경우, 모델은 과적합될 가능성이 높아집니다. 따라서 regularization은 가중치의 크기를 제한하는 방법으로 모델의 과적합을 방지합니다. 선형 회귀 모델에서는 주로 L1 regularization(Lasso)과 L2 regularization(Ridge)이 사용됩니다. L1 regulariza..

선형회귀(Linear Regression)

선형 회귀는 통계학에서 가장 기본적인 회귀 분석 기법 중 하나로, 하나의 독립 변수와 하나의 종속 변수 간의 선형적인 관계를 모델링하는 것입니다. 선형 회귀 모델은 종속 변수(y)와 독립 변수(x) 사이의 선형 관계를 설명하기 위해 일차 함수의 형태를 사용합니다. 즉, y = mx + b 형태의 방정식으로 표현됩니다. 여기서 m은 기울기(coefficient)를 의미하고, b는 y 절편(intercept)을 나타냅니다. 선형 회귀는 다음과 같은 단계로 수행됩니다. 데이터 수집: 종속 변수와 독립 변수를 포함하는 데이터를 수집합니다. 데이터 전처리: 데이터를 정제하고 결측치를 처리합니다. 모델링: 선형 회귀 모델을 적용하여 종속 변수와 독립 변수 간의 관계를 모델링합니다. 모델 평가: 모델의 성능을 평가하..

과대적합(Overfitting)과 과소적합(Underfitting)

과대적합(Overfitting)과 과소적합(Underfitting)은 머신러닝에서 모델의 성능과 관련된 중요한 개념입니다. 과대적합은 모델이 학습 데이터에 지나치게 맞추어져 새로운 데이터에 대해서는 일반화(generalization) 능력이 부족한 상태를 의미합니다. 즉, 모델이 훈련 데이터에 대해서는 높은 정확도를 보이지만, 새로운 데이터에 대해서는 성능이 낮아지는 현상입니다. 과대적합이 발생하면 모델은 훈련 데이터에 너무 적합화되어 새로운 데이터를 처리할 때 예측력이 떨어지는 경우가 많습니다. 과소적합은 반대로 모델이 학습 데이터를 제대로 학습하지 못하여, 훈련 데이터에 대한 정확도가 낮은 상태를 의미합니다. 이 경우에는 새로운 데이터나 실제 데이터에서도 성능이 저하될 가능성이 높습니다. 모델의 총 ..

머신러닝 2023.03.20

K-최근접 이웃(K-NN) 알고리즘

KNN(K-Nearest Neighbors, 최근접 이웃)은 지도학습(supervised learning)에서 사용되는 분류(classification) 및 회귀(regression) 알고리즘 중 하나입니다. 여기서 말하는 분류(Classification) 알고리즘은 지도학습(Supervised Learning)의 일종으로, 입력 데이터(input)를 미리 정의된 카테고리 또는 클래스(class) 중 하나로 분류하는 모델을 학습하는 알고리즘입니다. 분류 알고리즘은 다양한 분야에서 활용되며, 예를 들어 스팸 메일 필터링, 질병 진단, 이미지 분류 등 다양한 분야에서 사용됩니다. KNN 알고리즘은 새로운 데이터가 주어졌을 때, 이 데이터와 가장 가까운 K개의 이웃 데이터들을 찾아서 이 데이터의 클래스 또는 ..