기계 학습 알고리즘
기계 학습의 기반이 되는 수학 및 논리 소개
기계 학습 알고리즘이란?
기계 학습 알고리즘은 사용자가 복잡한 데이터 세트에서 의미를 탐색하고 분석하고 찾는 데 도움을 주는 코드 조각입니다. 각 알고리즘은 특정 목표를 달성하기 위해 머신이 따를 수 있는 명확한 단계별 지침의 한정된 세트입니다. 기계 학습 모델에서 목표는 사용자가 예측을 수행하거나 정보를 분류하는 데 사용할 수 있는 패턴을 설정하거나 검색하는 것입니다. 기계 학습은 무엇인가요?
기계 학습 알고리즘은 학습 데이터(더 큰 세트를 나타내는 데이터의 하위 세트)를 기반으로 하는 매개 변수를 사용합니다. 학습 데이터가 확장되어 세상을 더 사실적으로 표현하면 알고리즘은 더 정확한 결과를 계산합니다.
여러 알고리즘은 각각의 방식으로 데이터를 분석합니다. 알고리즘은 일반적으로 사용되는 기계 학습 기법(감독 학습, 자율 학습 및 강화 학습)으로 그룹화됩니다. 가장 일반적으로 사용되는 알고리즘은 회귀 및 분류를 사용하여 대상 범주를 예측하고 비정상적인 데이터 요소를 찾으며 값을 예측하고 유사성을 검색합니다.
기계 학습 기법
기계 학습 알고리즘에 대해 자세히 알아보면서, 기계 학습 알고리즘은 일반적으로 세 가지 기계 학습 기법 중 하나에 속한다는 사실을 알 수 있습니다.
감독 학습
감독 학습에서 알고리즘은 사용자가 제공하는 레이블이 지정된 예제 세트를 기반으로 예측을 수행합니다. 이 기법은 결과가 어떤 모습일지 알고 있는 경우에 유용합니다.
예를 들어 지난 100년 동안 연도별 도시 인구가 포함된 데이터 세트를 제공하고, 특정 도시의 인구가 지금으로부터 4년 후 얼마가 될지 알아보려고 합니다. 데이터 세트에 이미 있는 레이블(인구, 도시 및 연도)이 결과에 사용됩니다.
자율 학습
자율 학습에서는 데이터 요소에 레이블이 지정되지 않습니다. 이 알고리즘은 데이터를 구성하거나 구조를 설명하는 방식으로 레이블을 지정합니다. 이 기법은 결과가 어떤 모습일지 알지 못하는 경우에 유용합니다.
예를 들어 고객 데이터를 제공하고, 유사한 제품을 선호하는 고객의 세그먼트를 만들려고 합니다. 제공하는 데이터에는 레이블이 지정되지 않으며, 결과의 레이블은 데이터 요소 간에 검색된 유사성을 기준으로 생성됩니다.
강화 학습
강화 학습은 결과에서 학습하고 다음에 취할 조치를 결정하는 알고리즘을 사용합니다. 각 조치 후 알고리즘은 선택한 사항이 올바른 것이었는지, 중립적이었는지 또는 잘못되었는지 결정하는 데 도움이 되는 피드백을 받습니다. 사람의 지도 없이 작은 결정을 많이 해야 하는 자동화된 시스템에 사용하기 좋은 기법입니다.
예를 들어 자율주행 자동차를 설계하는데 자율주행 자동차가 법을 준수하고 사람들의 안전을 지키도록 하려 한다고 가정해 보겠습니다. 자동차가 경험과 시간의 흐름에 따른 강화를 얻게 되면서, 차선 내에 있는 상태를 유지하고 제한 속도를 지키며 보행자를 위해 브레이크를 밟는 방법을 학습합니다.
기계 학습 알고리즘을 사용하여 할 수 있는 일
기계 학습 알고리즘은 수동 분석을 통해 답변하기에 너무 복잡한 질문에 답변하는 데 도움이 됩니다. 아주 다양한 기계 학습 알고리즘 유형이 있지만 기계 학습 알고리즘의 사용 사례는 일반적으로 다음 범주 중 하나에 속합니다.
대상 범주 예측
2클래스(이진) 분류 알고리즘 은 데이터를 두 가지 범주로 나눕니다. 이 알고리즘은 상호 배타적인 가능한 답변이 두 개뿐인 질문(예/아니요 질문 포함)에 유용합니다. 다음 예시를 참조하세요.
- 이 타이어는 다음 1,000마일을 가는 동안 터질 것인가?(예 또는 아니요)
- 더 많은 추천을 받을 수 있는 선택지는 무엇인가?($10USD 크레딧 또는 15% 할인)
다중 클래스(다항) 분류 알고리즘 은 데이터를 셋 이상의 범주로 나눕니다. 이 알고리즘은 상호 배타적인 세 가지 이상의 가능한 답변이 있는 질문에 유용합니다. 다음 예시를 참조하세요.
- 대다수 여행객이 항공권을 구매하는 달은 언제인가?
- 이 사진의 사람은 어떤 감정을 보이는가?
비정상적인 데이터 요소 찾기
변칙 검색 알고리즘 은 “정상”적인 것에 대해 정의된 매개 변수 범위에 속하지 않는 데이터 요소를 식별합니다. 예를 들어 변칙 검색 알고리즘을 사용하여 다음과 같은 질문에 대답합니다.
- 이 배치에서 결함이 있는 부분은 어디인가?
- 어떤 신용 카드 구매가 사기성이 있을 수 있는가?
값 예측
회귀 알고리즘 은 기록 데이터를 기반으로 새 데이터 요소의 값을 예측합니다. 이 알고리즘을 다음과 같은 질문에 대답할 수 있습니다.
- 내년에 내가 사는 도시의 침실이 2개인 집의 평균 비용은 얼마가 될 것인가?
- 화요일에 병원을 방문하는 환자 수는 얼마인가?
값이 시간에 따라 어떻게 변경되는지 확인
시계열 알고리즘 은 지정된 값이 시간에 따라 어떻게 변경되는지 보여 줍니다. 시계열 분석 및 시계열 예측을 통해 데이터를 일정한 시간 간격으로 수집하고 해당 데이터를 사용하여 예측하고 추세, 계절성, 주기성, 불규칙성을 식별합니다. 시계열 알고리즘은 다음과 같은 질문에 대답하는 데 사용됩니다.
- 특정 주식의 가격이 내년에 올라갈까요, 내려갈까요?
- 내년에 경비는 얼마나 들까요?
유사성 검색
클러스터링 알고리즘 : 데이터 요소 간 유사성 수준을 확인하여 데이터를 여러 그룹으로 나눕니다. 클러스터링 알고리즘은 다음과 같은 질문에 대해 잘 작동합니다.
- 어떤 시청자들이 같은 종류의 영화를 좋아하는가?
- 어떤 프린터 모델에서 같은 방식으로 오류가 발생하는가?
분류
분류 알고리즘 : 예측 계산을 사용하여 미리 설정된 범주에 데이터를 할당합니다. 분류 알고리즘은 입력 데이터를 이용해 학습을 받고 다음과 같은 질문에 대답하는 데 사용됩니다.
- 스팸 메일인가요?
- 지정된 텍스트의 감정(긍정, 부정 또는 중립)은 무엇인가요?
기계 학습 라이브러리란?
기계 학습 라이브러리는 지정된 언어로 작성된 일련의 함수, 프레임워크, 모듈, 루틴입니다. 개발자는 복잡한 작업을 수행할 수 있는 기계 학습 솔루션을 만들기 위한 구성 요소로 기계 학습 라이브러리의 코드를 사용합니다. 개발자는 기계 학습 솔루션의 모든 알고리즘과 수식을 수동으로 코딩하는 대신, 사용 가능한 여러 ML 라이브러리 중 하나에서 필요한 함수 및 모듈을 찾아 요구 사항에 맞는 솔루션을 빌드하는 데 활용할 수 있습니다.
Azure Machine Learning으로 실험 시작
Azure Machine Learning을 사용하여 고유한 기계 학습 모델을 빌드 및 배포하여 다양한 알고리즘이 데이터를 분석하는 방법을 확인하세요.