machine-learning
감독 학습
수색…
분류
시스템이 과일 바구니에 사과 와 오렌지 를 감지하려고한다고 가정 해보십시오. 시스템은 과일을 골라서 과일의 무게를 추출 할 수 있습니다.
시스템에 교사가 있다고 가정 해보십시오! 그것은 사과 와 오렌지 가 대상이되는 시스템을 가르칩니다. 이것은 감독 된 분류 문제의 한 예입니다. 우리가 예제를 분류했기 때문에 그것은 감독됩니다. 출력은 우리 객체가 속한 클래스의 예측이기 때문에 분류입니다.
이 예제에서는 3 개의 피쳐 (속성 / 설명 변수)를 고려합니다.
- 선택한 과일의 무게가 .5 그램을 초과합니다.
- 10cm보다 큰 크기입니다.
- 붉은 색이다.
(0은 아니오, 1은 예를 의미)
사과 / 오렌지를 나타 내기 위해 3 개의 속성 (종종 특성 벡터라고 부름)의 계열 (벡터라고 함)이 있습니다.
(예 : [0,0,1]은이 과일 무게가 0.5 그램보다 크지 않으며 그 크기가 10cm보다 크지 않고 그 색깔이 적색임을 의미합니다)
그래서 우리는 무작위로 열매를 뽑아서 그 특성을 측정합니다. 선생님 (인간)은 각 과일에 사과 => [1] 또는 오렌지색>> [2]라고 수동으로 표시합니다.
예) 선생님은 사과 인 열매를 선택합니다. 이 사과의 시스템 표현은 다음과 같을 수 있습니다 : [1, 1, 1] => [1] 즉,이 과일은 1. 무게 가 0.5보다 크고 , 2. 크기가 10cm보다 크고 3입니다. 이 과일의 색깔은 빨갛고 마침내 사과 (=> [1])입니다.
따라서 10 가지 과일 모두에 대해 선생님은 각 과일에 사과 (=> 1) 또는 오렌지색 (= 2)이라고 표시하고 시스템은 그 특성을 발견했습니다. 여러분이 생각하기에 우리는 전체 10 개의 과일을 나타내는 일련의 벡터 (매트릭스라고 함)를 가지고 있습니다.
과일 분류
이 예에서 모델은 교육용 레이블 을 사용하여 특정 기능이 지정된 과일을 분류하는 방법을 학습합니다.
무게 | 색깔 | 상표 |
---|---|---|
0.5 | 녹색 | 사과 |
0.6 | 자 | 자두 |
삼 | 녹색 | 수박 |
0.1 | 빨간 | 체리 |
0.5 | 빨간 | 사과 |
여기서 모델은 라벨을 예측하는 기능으로 가중치 및 색상 을 사용합니다. 예를 들어 [0.15, 'red']는 '체리'예측을 가져와야합니다.
감독 학습에 대한 소개
엄청나게 많은 양의 데이터가 있고 몇 가지 알려진 클래스 중 하나에 객체를 분류해야하는 많은 상황이 있습니다. 다음 상황을 고려하십시오.
은행 업무 : 은행이 고객으로부터 은행 카드 요청을 받으면 은행은 신용 기록이있는 카드를 이미 즐기고있는 고객의 특성에 따라 은행 카드를 발행할지 여부를 결정해야합니다.
의학 : 관찰 된 증상과 그 환자에 대해 수행 된 의학 검사에 근거하여 환자가 특정 질병을 앓고 있는지 여부를 진단하는 의료 시스템을 개발하는 데 관심이있을 수 있습니다.
금융 : 금융 컨설팅 회사는 가격 움직임을 통제하는 몇 가지 기술적 특징을 기반으로 상향, 하향 또는 동향으로 분류 될 수있는 주식 가격의 추세를 예측하고자합니다.
유전자 발현 : 유전자 발현 데이터를 분석 한 과학자는 건강한 환자와 유방암 환자를 분리하기 위해 유방암과 관련된 가장 관련있는 유전자와 위험 인자를 확인하고자한다.
위의 모든 예에서 객체는 여러 클래스의 객체를 식별 할 수있는 여러 특성에 대한 측정을 기반으로 여러 알려진 클래스 중 하나로 분류됩니다. 이 변수를 예측 변수라고하고 클래스 레이블을 종속 변수라고합니다. 위의 모든 예에서 종속 변수는 범주 형 입니다.
분류 문제에 대한 모델을 개발하기 위해서는 각 객체에 대해 객체가 속한 클래스 레이블과 함께 일련의 규정 된 특성에 대한 데이터가 필요합니다. 데이터 세트는 규정 된 비율로 두 세트로 나누어집니다. 이러한 데이터 세트 중 큰 것을 학습 데이터 세트라고하고 다른 데이터 세트를 테스트 데이터 세트라고합니다. 교육 데이터 세트는 모델 개발에 사용됩니다. 모델은 클래스 레이블이 알려진 관측치를 사용하여 개발되므로 감독 된 학습 모델이라고합니다.
모델을 개발 한 후, 모델은 테스트 데이터 세트를 사용하여 성능을 평가합니다. 분류 모델의 목적은 보이지 않는 관측에서 잘못 분류 될 가능성을 최소화하는 것이다. 모델 개발에 사용되지 않은 관측치는 보이지 않는 관측으로 알려져 있습니다.
의사 결정 트리 유도 는 분류 모델 작성 기술 중 하나입니다. 범주 형 종속 변수에 대해 작성된 의사 결정 트리 모델을 분류 트리 라고합니다. 종속 변수는 특정 문제점에서 숫자 일 수 있습니다. 수치 종속 변수를 위해 개발 된 의사 결정 트리 모델을 회귀 트리 라고합니다.
선형 회귀
감독 학습 은 주어진 예측 자 세트 (독립 변수)로부터 예측 될 목표 변수 또는 결과 변수 (또는 종속 변수)로 구성되기 때문에. 이 변수 세트를 사용하여 입력을 원하는 출력에 매핑하는 함수를 생성합니다. 교육 프로세스는 모델이 교육 데이터에서 원하는 수준의 정확성을 얻을 때까지 계속됩니다.
그러므로 감독 학습 알고리즘에 대한 많은 예가 있으므로이 경우 선형 회귀 분석 에 초점을 맞추고 싶습니다.
선형 회귀 연속 변수를 기반으로 실제 가치 (주택 비용, 통화 수, 총 판매액 등)를 추정하는 데 사용됩니다. 여기서는 최적의 선을 맞추어 독립 변수와 종속 변수 간 관계를 설정합니다. 이 최적 곡선은 회귀 직선으로 알려져 있으며 선형 방정식 Y = a * X + b로 나타냅니다.
선형 회귀를 이해하는 가장 좋은 방법은 어린 시절의 경험을 재현하는 것입니다. 다섯 살짜리 아이에게 자신의 몸무게를 묻지 않고 몸무게를 늘려서 수업에 사람들을 배치 해달라고 부탁하십시오. 아이가 무엇을 할 것이라고 생각하니? 그 / 그녀는 사람들의 높이와 건축물을 (시각적으로) 분석하고 이러한 가시적 인 매개 변수를 조합하여 배치 할 것입니다.
이것은 실생활에서 선형 회귀입니다! 아이는 실제로 높이와 빌드가 위의 방정식과 같은 관계에 의해 가중치와 상관 관계가 있다는 것을 알아 냈습니다.
이 방정식에서 :
Y – Dependent Variable
a – Slope
X – Independent variable
b – Intercept
이들 계수 a 및 b는 데이터 포인트와 회귀선 사이의 거리 차의 제곱의 합을 최소화하는 것에 기초하여 유도된다.
아래의 예를보십시오. 여기서 우리는 선형 방정식 y = 0.2811x + 13.9를 갖는 가장 적합한 라인을 확인했습니다. 이제이 방정식을 사용하여 사람의 키를 알고 체중을 확인할 수 있습니다.
선형 회귀 분석은 주로 두 가지 유형이 있습니다 : 단순 선형 회귀 및 다중 선형 회귀. 단순 선형 회귀 분석은 하나의 독립 변수를 특징으로합니다. 그리고 다중 회귀 분석 (이름에서 알 수 있듯이)은 여러 개의 독립 변수로 특징 지어집니다. 가장 잘 맞는 선을 찾는 동안 다항식 또는 곡선 회귀를 맞출 수 있습니다. 그리고 이것을 다항식 또는 곡선 회귀라고합니다.
파이썬에서 선형 회귀를 구현하기위한 힌트
#Import Library
#Import other necessary libraries like pandas, numpy...
from sklearn import linear_model
#Load Train and Test datasets
#Identify feature and response variable(s) and values must be numeric and numpy arrays
x_train=input_variables_values_training_datasets
y_train=target_variables_values_training_datasets
x_test=input_variables_values_test_datasets
# Create linear regression object
linear = linear_model.LinearRegression()
# Train the model using the training sets and check score
linear.fit(x_train, y_train)
linear.score(x_train, y_train)
#Equation coefficient and Intercept
print('Coefficient: \n', linear.coef_)
print('Intercept: \n', linear.intercept_)
#Predict Output
predicted= linear.predict(x_test)
필자는 감독 학습이 선형 회귀 분석 알고리즘을 파이썬 코드 스 니펫 (snippet)과 함께 이해하는 것을 엿볼 수 있습니다.