웹사이트 검색

기계 학습 소개


소개

기계 학습은 인공 지능(AI)의 하위 분야입니다. 일반적으로 기계 학습의 목표는 데이터 구조를 이해하고 해당 데이터를 사람들이 이해하고 활용할 수 있는 모델에 맞추는 것입니다.

기계 학습은 컴퓨터 과학의 한 분야이지만 기존의 컴퓨팅 접근 방식과 다릅니다. 전통적인 컴퓨팅에서 알고리즘은 컴퓨터가 계산하거나 문제를 해결하는 데 사용하는 명시적으로 프로그래밍된 명령 집합입니다. 대신 기계 학습 알고리즘을 통해 컴퓨터는 데이터 입력에 대해 교육하고 통계 분석을 사용하여 특정 범위에 속하는 값을 출력할 수 있습니다. 이 때문에 기계 학습은 데이터 입력을 기반으로 의사 결정 프로세스를 자동화하기 위해 샘플 데이터에서 모델을 구축하는 컴퓨터를 용이하게 합니다.

오늘날 모든 기술 사용자는 머신 러닝의 이점을 누리고 있습니다. 얼굴 인식 기술을 사용하면 소셜 미디어 플랫폼을 통해 사용자가 친구의 사진을 태그하고 공유할 수 있습니다. 광학 문자 인식(OCR) 기술은 텍스트의 이미지를 움직이는 활자로 변환합니다. 기계 학습으로 구동되는 추천 엔진은 사용자 선호도에 따라 다음에 볼 영화 또는 TV 프로그램을 제안합니다. 탐색을 위해 기계 학습에 의존하는 자율 주행 자동차가 곧 소비자에게 제공될 수 있습니다.

기계 학습은 지속적으로 발전하는 분야입니다. 이 때문에 기계 학습 방법론으로 작업하거나 기계 학습 프로세스의 영향을 분석할 때 염두에 두어야 할 몇 가지 고려 사항이 있습니다.

이 자습서에서는 감독 및 비지도 학습의 일반적인 기계 학습 방법과 k-최근접 이웃 알고리즘, 결정 트리 학습 및 딥 러닝을 포함하여 기계 학습의 일반적인 알고리즘 접근 방식을 살펴봅니다. 기계 학습에서 가장 많이 사용되는 프로그래밍 언어를 살펴보고 각각의 긍정적인 속성과 부정적인 속성을 제공합니다. 또한 기계 학습 알고리즘에 의해 지속되는 편향에 대해 논의하고 알고리즘을 구축할 때 이러한 편향을 방지하기 위해 염두에 둘 수 있는 사항을 고려할 것입니다.

기계 학습 방법

기계 학습에서 작업은 일반적으로 광범위한 범주로 분류됩니다. 이러한 범주는 학습이 수신되는 방식 또는 학습에 대한 피드백이 개발된 시스템에 제공되는 방식을 기반으로 합니다.

가장 널리 채택된 두 가지 기계 학습 방법은 사람이 레이블을 지정한 예제 입력 및 출력 데이터를 기반으로 알고리즘을 훈련시키는 지도 학습과 알고리즘이 입력 내에서 구조를 찾을 수 있도록 레이블 데이터가 없는 알고리즘을 제공하는 비지도 학습입니다. 데이터. 이러한 방법을 더 자세히 살펴보겠습니다.

지도 학습

감독 학습에서 컴퓨터에는 원하는 출력으로 레이블이 지정된 예제 입력이 제공됩니다. 이 방법의 목적은 알고리즘이 실제 출력을 "가르친\ 출력과 비교하여 오류를 찾고 그에 따라 모델을 수정함으로써 \학습\할 수 있도록 하는 것입니다. 따라서 지도 학습은 패턴을 사용하여 레이블이 지정되지 않은 추가 데이터에서 레이블 값을 예측합니다.

예를 들어 지도 학습을 사용하면 알고리즘에 물고기 레이블이 지정된 상어 이미지와 레이블이 지정된 바다 이미지가 있는 데이터를 공급할 수 있습니다. 지도 학습 알고리즘은 이 데이터에 대한 훈련을 통해 나중에 레이블이 지정되지 않은 상어 이미지를 물고기로, 레이블이 지정되지 않은 바다 이미지를 로 식별할 수 있어야 합니다.

감독 학습의 일반적인 사용 사례는 과거 데이터를 사용하여 통계적으로 가능성이 있는 미래 이벤트를 예측하는 것입니다. 과거 주식 시장 정보를 사용하여 다가오는 변동을 예상하거나 스팸 이메일을 필터링하는 데 사용할 수 있습니다. 지도학습에서는 태깅된 강아지 사진을 입력 데이터로 사용하여 태그가 지정되지 않은 강아지 사진을 분류할 수 있습니다.

비지도 학습

비지도 학습에서는 데이터에 레이블이 지정되지 않으므로 학습 알고리즘은 입력 데이터 간의 공통점을 찾기 위해 남겨집니다. 레이블이 지정되지 않은 데이터가 레이블이 지정된 데이터보다 더 많기 때문에 비지도 학습을 용이하게 하는 기계 학습 방법이 특히 중요합니다.

비지도 학습의 목표는 데이터 세트 내에서 숨겨진 패턴을 발견하는 것만큼 간단할 수 있지만, 계산 기계가 원시 데이터를 분류하는 데 필요한 표현을 자동으로 발견할 수 있도록 하는 기능 학습의 목표도 가질 수 있습니다.

비지도 학습은 일반적으로 트랜잭션 데이터에 사용됩니다. 고객과 그들의 구매에 대한 대규모 데이터 세트가 있을 수 있지만 인간으로서 고객 프로필과 그들의 구매 유형에서 어떤 유사한 속성을 도출할 수 있는지 이해하지 못할 가능성이 높습니다. 이 데이터를 비지도 학습 알고리즘에 입력하면 무향 비누를 구매하는 특정 연령대의 여성이 임신할 가능성이 있다고 판단할 수 있으므로 임신 및 유아용품과 관련된 마케팅 캠페인을 이 대상에게 순서대로 타겟팅할 수 있습니다. 구매 수를 늘리기 위해.

\올바른\ 대답을 듣지 않고 비지도 학습 방법은 잠재적으로 의미 있는 방식으로 구성하기 위해 더 광범위하고 관련이 없는 것처럼 보이는 복잡한 데이터를 볼 수 있습니다. 비지도 학습은 사기성 신용 카드 구매, 비지도 학습에서는 태그가 지정되지 않은 강아지 사진을 알고리즘의 입력 데이터로 사용하여 유사점을 찾고 강아지 사진을 함께 분류할 수 있습니다.

구혼

기계학습은 한 분야로서 전산통계와 밀접한 관련이 있기 때문에 통계학에 대한 배경지식을 가지고 있으면 기계학습 알고리즘을 이해하고 활용하는 데 도움이 됩니다.

상관관계와 회귀분석은 정량적 변수 간의 관계를 조사하는 데 흔히 사용되는 기법이므로 통계학을 공부하지 않은 사람에게는 먼저 정의하는 것이 도움이 될 수 있습니다. 상관 관계는 종속 또는 독립으로 지정되지 않은 두 변수 사이의 연관 측정입니다. 기본 수준의 회귀는 하나의 종속 변수와 하나의 독립 변수 간의 관계를 조사하는 데 사용됩니다. 회귀 통계는 독립 변수를 알고 있을 때 종속 변수를 예상하는 데 사용할 수 있으므로 회귀를 통해 예측 기능을 사용할 수 있습니다.

기계 학습에 대한 접근 방식은 지속적으로 개발되고 있습니다. 우리의 목적을 위해, 우리는 글을 쓰는 시점에서 기계 학습에 사용되는 몇 가지 인기 있는 접근 방식을 살펴볼 것입니다.

k-최근접 이웃

k-최근접 이웃 알고리즘은 회귀뿐만 아니라 분류에도 사용할 수 있는 패턴 인식 모델입니다. 종종 k-NN으로 약칭되는 k-최근접 이웃의 k는 일반적으로 작은 양의 정수입니다. 분류 또는 회귀에서 입력은 공간 내에서 k개의 가장 가까운 교육 예제로 구성됩니다.

우리는 k-NN 분류에 초점을 맞출 것입니다. 이 메서드에서 출력은 클래스 멤버십입니다. 이렇게 하면 k개의 가장 가까운 이웃 중에서 가장 공통적인 클래스에 새 객체가 할당됩니다. k = 1인 경우 객체는 단일 최근접 이웃의 클래스에 할당됩니다.

k-최근접 이웃의 예를 살펴보겠습니다. 아래 다이어그램에는 파란색 다이아몬드 개체와 주황색 별 개체가 있습니다. 이들은 다이아몬드 등급과 별 등급의 두 가지 별도 등급에 속합니다.

새로운 객체가 공간에 추가되면(이 경우에는 녹색 하트) 기계 학습 알고리즘이 하트를 특정 클래스로 분류하기를 원할 것입니다.

k = 3을 선택하면 알고리즘은 다이아몬드 등급 또는 별 등급으로 분류하기 위해 녹색 하트의 가장 가까운 3개의 이웃을 찾습니다.

다이어그램에서 녹색 심장의 가장 가까운 세 이웃은 다이아몬드 하나와 별 두 개입니다. 따라서 알고리즘은 심장을 스타 클래스로 분류합니다.

가장 기본적인 기계 학습 알고리즘 중 k-최근접 이웃은 시스템에 질의를 할 때까지 훈련 데이터 이상의 일반화가 발생하지 않기 때문에 \게으른 학습\의 한 유형으로 간주됩니다.

의사 결정 트리 학습

일반적인 사용을 위해 결정 트리는 의사 결정을 시각적으로 나타내고 의사 결정을 표시하거나 알리기 위해 사용됩니다. 기계 학습 및 데이터 마이닝 작업을 할 때 결정 트리는 예측 모델로 사용됩니다. 이러한 모델은 데이터에 대한 관찰을 데이터의 목표 값에 대한 결론에 매핑합니다.

의사 결정 트리 학습의 목표는 입력 변수를 기반으로 대상의 값을 예측하는 모델을 만드는 것입니다.

예측 모델에서 관찰을 통해 결정된 데이터의 속성은 가지로 표시되고 데이터의 목표 값에 대한 결론은 잎으로 표시됩니다.

트리를 \학습\할 때 소스 데이터는 속성 값 테스트를 기반으로 하위 집합으로 나뉘며 파생된 각 하위 집합에서 재귀적으로 반복됩니다. 노드의 하위 집합이 대상 값과 동일한 값을 가지면 재귀 프로세스가 완료됩니다.

누군가가 낚시를 가야 하는지 여부를 결정할 수 있는 다양한 조건의 예를 살펴보겠습니다. 여기에는 기상 조건과 기압 조건이 포함됩니다.

위의 단순화된 의사 결정 트리에서 예제는 트리를 통해 적절한 리프 노드로 정렬하여 분류됩니다. 그런 다음 특정 잎과 관련된 분류를 반환합니다. 이 경우 또는 아니요입니다. 나무는 낚시하기에 적합한지 여부에 따라 하루의 조건을 분류합니다.

진정한 분류 트리 데이터 세트는 위에서 설명한 것보다 훨씬 더 많은 기능을 가지지만 관계는 쉽게 결정할 수 있어야 합니다. 의사 결정 트리 학습으로 작업할 때 선택할 기능, 분할에 사용할 조건, 의사 결정 트리가 명확한 결말에 도달한 시점을 이해하는 등 몇 가지 결정을 내려야 합니다.

딥 러닝

딥 러닝은 인간의 뇌가 빛과 소리 자극을 시각과 청각으로 처리하는 방법을 모방하려고 시도합니다. 딥 러닝 아키텍처는 생물학적 신경망에서 영감을 얻었으며 하드웨어와 GPU로 구성된 인공 신경망의 여러 계층으로 구성됩니다.

딥 러닝은 데이터의 특징(또는 표현)을 추출하거나 변환하기 위해 일련의 비선형 처리 장치 계층을 사용합니다. 한 레이어의 출력은 다음 레이어의 입력 역할을 합니다. 딥 러닝에서 알고리즘은 감독되고 데이터를 분류하는 역할을 하거나 감독되지 않고 패턴 분석을 수행할 수 있습니다.

현재 사용되고 개발되고 있는 기계 학습 알고리즘 중 딥 러닝은 가장 많은 데이터를 흡수하고 일부 인지 작업에서 인간을 능가할 수 있었습니다. 이러한 특성으로 인해 딥 러닝은 인공 지능 공간에서 상당한 잠재력을 가진 접근 방식이 되었습니다.

컴퓨터 비전과 음성 인식 모두 딥 러닝 접근 방식에서 상당한 발전을 이루었습니다. IBM Watson은 딥 러닝을 활용하는 시스템의 잘 알려진 예입니다.

프로그래밍 언어

기계 학습에 특화할 언어를 선택할 때 현재 구인 광고에 나열된 기술과 기계 학습 프로세스에 사용할 수 있는 다양한 언어로 제공되는 라이브러리를 고려할 수 있습니다.

Python은 Matplotlib를 포함하여 사용 가능한 많은 프레임워크로 인해 기계 학습 작업에 가장 많이 사용되는 언어 중 하나입니다.

Python을 시작하려면 \Python 3 및 PyTorch를 사용하여 신경 스타일 전송을 수행하는 방법\에 대한 자습서 시리즈를 읽을 수 있습니다.

Java는 엔터프라이즈 프로그래밍에서 널리 사용되며 일반적으로 엔터프라이즈 수준에서 기계 학습 작업을 수행하는 프런트 엔드 데스크톱 애플리케이션 개발자가 사용합니다. 일반적으로 기계 학습에 대해 배우고 싶은 프로그래밍을 처음 접하는 사람들에게는 첫 번째 선택이 아니지만 기계 학습에 적용하기 위해 Java 개발 배경이 있는 사람들이 선호합니다. 업계의 기계 학습 응용 프로그램 측면에서 Java는 사이버 공격 및 사기 탐지 사용 사례를 포함하여 네트워크 보안을 위해 Python보다 더 많이 사용되는 경향이 있습니다.

Java용 기계 학습 라이브러리 중에는 데이터 마이닝 작업에 사용할 기계 학습 알고리즘 모음인 Weka가 있습니다.

C++는 게임 또는 로봇 응용 프로그램(로봇 이동 포함)에서 기계 학습 및 인공 지능을 위해 선택한 언어입니다. 임베디드 컴퓨팅 하드웨어 개발자와 전자 엔지니어는 언어의 숙련도와 제어 수준으로 인해 기계 학습 응용 프로그램에서 C++ 또는 C를 선호할 가능성이 더 큽니다. C++에서 사용할 수 있는 일부 기계 학습 라이브러리에는 확장 가능한 Shark가 포함됩니다.

인간의 편견

데이터와 전산 분석으로 인해 객관적인 정보를 받고 있다고 생각할 수 있지만 그렇지 않습니다. 데이터를 기반으로 한다는 것이 기계 학습 결과가 중립적이라는 의미는 아닙니다. 인간의 편견은 데이터가 수집되고 구성되는 방식과 궁극적으로 기계 학습이 해당 데이터와 상호 작용하는 방식을 결정하는 알고리즘에서 역할을 합니다.

예를 들어, 사람들이 알고리즘 훈련을 위한 데이터로 \물고기\에 대한 이미지를 제공하고 있고 이 사람들이 금붕어 이미지를 압도적으로 선택한다면 컴퓨터는 상어를 물고기로 분류하지 않을 수 있습니다. 이것은 상어를 물고기로 보는 편견을 만들 것입니다. , 상어는 어류로 간주되지 않습니다.

과학자의 역사적 사진을 훈련 데이터로 사용할 때 컴퓨터는 유색인종이나 여성인 과학자를 제대로 분류하지 못할 수 있습니다. 실제로 최근 동료 검토 연구에 따르면 AI 및 기계 학습 프로그램은 인종 및 성별 편견을 포함하여 인간과 유사한 편견을 나타냅니다. 예를 들어 "남성도 쇼핑을 좋아합니다: 말뭉치 수준 제약을 사용하여 성별 편향 증폭 감소\[PDF]를 참조하십시오.

기계 학습이 비즈니스에서 점점 더 많이 활용됨에 따라 잡히지 않는 편견은 사람들이 대출 자격을 얻지 못하게 하거나 고임금 직업 기회에 대한 광고를 보지 못하게 하거나 당일 배송 옵션을 받지 못하게 하는 시스템 문제를 지속시킬 수 있습니다.

인간의 편견은 다른 사람에게 부정적인 영향을 미칠 수 있기 때문에 이를 인식하고 가능한 한 제거하기 위해 노력하는 것이 매우 중요합니다. 이를 달성하기 위한 한 가지 방법은 다양한 사람들이 프로젝트에 참여하고 다양한 사람들이 프로젝트를 테스트하고 검토하도록 하는 것입니다. 다른 사람들은 데이터 과학 프로젝트 계획의 일환으로 윤리 검토를 요구했습니다. 편견에 대한 인식을 높이고, 우리 자신의 무의식적인 편견을 염두에 두고, 기계 학습 프로젝트 및 파이프라인에서 형평성을 구조화하면 이 분야에서 편견을 퇴치할 수 있습니다.

결론

이 튜토리얼에서는 기계 학습의 일부 사용 사례, 현장에서 사용되는 일반적인 방법 및 인기 있는 접근 방식, 적합한 기계 학습 프로그래밍 언어를 검토하고 알고리즘에서 복제되는 무의식적 편향과 관련하여 염두에 두어야 할 몇 가지 사항을 다루었습니다.

기계 학습은 지속적으로 혁신되는 분야이기 때문에 알고리즘, 방법 및 접근 방식은 계속해서 변화할 것이라는 점을 염두에 두어야 합니다.

"데이터 분석 자습서에 대한 자습서를 읽는 것 외에도