julia coding story
머신러닝 기초 개념-01. 머신러닝의 정의 (1) 본문
728x90
💡 머신러닝(Machine Learning) :
Definition (from Wiki)
“A Computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E.”
- 머신러닝이란, 경험 E를 통해서 주어진 T에 대해 P로 측정한 값이 향상되는 프로그램
- 우리가 공부한 것과 비슷함. 특정 과목 기말고사에서 주어진 족보를 풀어 기말고사 점수가 향상되는 과정을 학습이라고 함.
- 이 과정을 수학적으로 주어진 입력(X)와 찾으려는 값(y) 사이의 관계 f를 찾는 문제로 정의
- 이 때, f는 function이며 어떤 수식으로 표현되는 함수보다는 데이터와 데이터 사이의 관계임
Machine Learning Tasks
- Supervised Learning→ 입력데이터(X)와 그에 해당하는 정답(y)가 함께 학습에 사용되는 방법론
- Classification-주어진 데이터(X)를 몇 가지 종류(category, y)로 나누는 방법
- Regression-주어진 데이터(X)와 관련이 있다고 생각하는 값(y) 사이의 관계를 찾는 방법
- Unsupervised Learning→ 입력 데이터(X)만 학습되는 방법론(y가 주어지지 않음)
- Clustering-주어진 데이터(X)를 몇가지 그룹(subset of X)로 나누는 방법
- Dimensionality Reduction-주어진 데이터(X)의 중요한 정보들을 뽑아내는 방법
- Reinforcement Learning→ 행동의 대상(agent)와 환경(environment) 사이의 interaction을 통해서 목표를 최대화(reward maximization)하는 학습 방법론.
- Real-time decisions-주어진 환경에 대해서 reaction을 하면서, 최적화가 필요한 방법론
- Game AI-AlphaGo(바둑), DeepBlue(체스), AlphaSatr(Starcraft2)
- ML workflow에서 애기했던것 처럼 MLmodel은 어떤 데이터로 어떤 문제를 푸느냐 따라 적절한 모델을 사용함
- ML을 사용하는 문제 정의가 굉장히 중요
- 굳이 ML을 사용할 필요가 없는 경우에는 다른 방법론들로도 충분함
- eg. 통계모델, EDA, A/B test, ….
Hands-on
- Classification 방법에 해당하는 머신러닝 모델이 어떤게 있는지 2가지 이상 찾아보세요.
- 로지스틱 회귀(Logistic Regression): 로지스틱 회귀는 입력 변수와 출력 변수 사이의 관계를 모델링하기 위해 사용되는 통계 기반 분류 알고리즘입니다. 주로 이진 분류 문제에 적용되며, 입력 변수의 선형 결합을 로지스틱 함수에 적용하여 결과를 예측합니다.
- 결정 트리(Decision Trees): 결정 트리는 입력 변수를 이용하여 데이터를 분할하고, 데이터의 특징에 따라 분류 또는 예측을 수행하는 모델입니다. 트리의 노드는 입력 변수의 조건에 따라 분할되며, 리프 노드에서는 분류 또는 예측 결과가 반환됩니다. 결정 트리는 직관적이고 해석이 가능하며, 범주형 및 수치형 변수를 처리할 수 있습니다.
- Regression 방법에 해당하는 머신러닝 모델이 어떤게 있는지 2가지 이상 찾아보세요.
- 선형 회귀(Linear Regression): 선형 회귀는 입력 변수와 출력 변수 간의 선형 관계를 모델링하는 회귀 분석 기법입니다. 주어진 입력 변수에 대해 최적의 선형 함수를 학습하여 출력 변수를 예측합니다. 선형 회귀는 오차 제곱합을 최소화하는 최소제곱법 등의 방법을 사용하여 모델을 훈련합니다.
- 서포트 벡터 머신(Support Vector Machine, SVM): SVM은 주어진 데이터를 바탕으로 분류 또는 회귀 모델을 생성하는 지도 학습 알고리즘입니다. SVM은 데이터를 고차원 공간으로 매핑하여 클래스 간의 최대 마진을 찾는 방식으로 작동합니다. 회귀 분석에서는 SVM을 사용하여 연속적인 출력 변수를 예측하는데 활용할 수 있습니다.
- Clustering 방법에 해당하는 머신러닝 모델이 어떤게 있는지 2가지 이상 찾아보세요.
- K-평균 군집화(K-Means Clustering): K-평균은 입력 데이터를 k개의 클러스터로 그룹화하는 비지도 학습 알고리즘입니다. 알고리즘은 각 클러스터의 중심(centroid)을 기준으로 데이터 포인트 간의 거리를 최소화하면서 클러스터를 형성합니다. K-평균은 데이터의 분포가 유사한 그룹을 찾는데 효과적이며, 클러스터 개수 k를 사용자가 지정해야 합니다.
- 머신러닝이란, 경험 E를 통해서 주어진 T에 대해 P로 측정한 값이 향상되는 프로그램
- 우리가 공부한 것과 비슷함. 특정 과목 기말고사에서 주어진 족보를 풀어 기말고사 점수가 향상되는 과정을 학습이라고 함.
- 이 과정을 수학적으로 주어진 입력(X)와 찾으려는 값(y) 사이의 관계 f를 찾는 문제로 정의
- 이 때, f는 function이며 어떤 수식으로 표현되는 함수보다는 데이터와 데이터 사이의 관계임DBSCAN (Density-Based Spatial Clustering of Applications with Noise): DBSCAN은 데이터의 밀도를 기반으로 클러스터를 찾는 밀도 기반 군집화 알고리즘입니다. 주어진 데이터 공간에서 데이터 포인트의 밀도를 계산하고, 밀도가 일정 값 이상인 데이터를 핵심 포인트로 간주합니다. 핵심 포인트를 중심으로 밀도에 기반하여 클러스터를 형성하고, 잡음 데이터는 클러스터에 속하지 않는 것으로 처리합니다. DBSCAN은 클러스터의 모양과 개수에 민감하지 않으며, 자동으로 클러스터의 개수를 결정할 수 있습니다.
- “A Computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E.”
- Supervised Learning→ 입력데이터(X)와 그에 해당하는 정답(y)가 함께 학습에 사용되는 방법론
- Classification-주어진 데이터(X)를 몇 가지 종류(category, y)로 나누는 방법
- Regression-주어진 데이터(X)와 관련이 있다고 생각하는 값(y) 사이의 관계를 찾는 방법
- Unsupervised Learning→ 입력 데이터(X)만 학습되는 방법론(y가 주어지지 않음)
- Clustering-주어진 데이터(X)를 몇가지 그룹(subset of X)로 나누는 방법
- Dimensionality Reduction-주어진 데이터(X)의 중요한 정보들을 뽑아내는 방법
- Reinforcement Learning→ 행동의 대상(agent)와 환경(environment) 사이의 interaction을 통해서 목표를 최대화(reward maximization)하는 학습 방법론.
- Real-time decisions-주어진 환경에 대해서 reaction을 하면서, 최적화가 필요한 방법론(계속해서 피드백을 줘서 수정함)
- Game AI-AlphaGo(바둑), DeepBlue(체스), AlphaSatr(Starcraft2)
- ML workflow에서 애기했던것 처럼 MLmodel은 어떤 데이터로 어떤 문제를 푸느냐 따라 적절한 모델을 사용함
- ML을 사용하는 문제 정의가 굉장히 중요
- 굳이 ML을 사용할 필요가 없는 경우에는 다른 방법론들로도 충분함
- eg. 통계모델, EDA, A/B test, ….
Hands-on- Classification 방법에 해당하는 머신러닝 모델이 어떤게 있는지 2가지 이상 찾아보세요.
- 로지스틱 회귀(Logistic Regression): 로지스틱 회귀는 입력 변수와 출력 변수 사이의 관계를 모델링하기 위해 사용되는 통계 기반 분류 알고리즘입니다. 주로 이진 분류 문제에 적용되며, 입력 변수의 선형 결합을 로지스틱 함수에 적용하여 결과를 예측합니다.
- 결정 트리(Decision Trees): 결정 트리는 입력 변수를 이용하여 데이터를 분할하고, 데이터의 특징에 따라 분류 또는 예측을 수행하는 모델입니다. 트리의 노드는 입력 변수의 조건에 따라 분할되며, 리프 노드에서는 분류 또는 예측 결과가 반환됩니다. 결정 트리는 직관적이고 해석이 가능하며, 범주형 및 수치형 변수를 처리할 수 있습니다.
- Regression 방법에 해당하는 머신러닝 모델이 어떤게 있는지 2가지 이상 찾아보세요.
- 선형 회귀(Linear Regression): 선형 회귀는 입력 변수와 출력 변수 간의 선형 관계를 모델링하는 회귀 분석 기법입니다. 주어진 입력 변수에 대해 최적의 선형 함수를 학습하여 출력 변수를 예측합니다. 선형 회귀는 오차 제곱합을 최소화하는 최소제곱법 등의 방법을 사용하여 모델을 훈련합니다.
- 서포트 벡터 머신(Support Vector Machine, SVM): SVM은 주어진 데이터를 바탕으로 분류 또는 회귀 모델을 생성하는 지도 학습 알고리즘입니다. SVM은 데이터를 고차원 공간으로 매핑하여 클래스 간의 최대 마진을 찾는 방식으로 작동합니다. 회귀 분석에서는 SVM을 사용하여 연속적인 출력 변수를 예측하는데 활용할 수 있습니다.
- Clustering 방법에 해당하는 머신러닝 모델이 어떤게 있는지 2가지 이상 찾아보세요.
- K-평균 군집화(K-Means Clustering): K-평균은 입력 데이터를 k개의 클러스터로 그룹화하는 비지도 학습 알고리즘입니다. 알고리즘은 각 클러스터의 중심(centroid)을 기준으로 데이터 포인트 간의 거리를 최소화하면서 클러스터를 형성합니다. K-평균은 데이터의 분포가 유사한 그룹을 찾는데 효과적이며, 클러스터 개수 k를 사용자가 지정해야 합니다.
- DBSCAN (Density-Based Spatial Clustering of Applications with Noise): DBSCAN은 데이터의 밀도를 기반으로 클러스터를 찾는 밀도 기반 군집화 알고리즘입니다. 주어진 데이터 공간에서 데이터 포인트의 밀도를 계산하고, 밀도가 일정 값 이상인 데이터를 핵심 포인트로 간주합니다. 핵심 포인트를 중심으로 밀도에 기반하여 클러스터를 형성하고, 잡음 데이터는 클러스터에 속하지 않는 것으로 처리합니다. DBSCAN은 클러스터의 모양과 개수에 민감하지 않으며, 자동으로 클러스터의 개수를 결정할 수 있습니다
- Classification 방법에 해당하는 머신러닝 모델이 어떤게 있는지 2가지 이상 찾아보세요.
- K-평균 군집화(K-Means Clustering): K-평균은 입력 데이터를 k개의 클러스터로 그룹화하는 비지도 학습 알고리즘입니다. 알고리즘은 각 클러스터의 중심(centroid)을 기준으로 데이터 포인트 간의 거리를 최소화하면서 클러스터를 형성합니다. K-평균은 데이터의 분포가 유사한 그룹을 찾는데 효과적이며, 클러스터 개수 k를 사용자가 지정해야 합니다.