기계 학습이란 무엇입니까? 데이터에서 파생 된 지능

기계 학습 정의

머신 러닝은 데이터에서 모델을 자동으로 생성하는 방법 또는 알고리즘을 포함하는 인공 지능의 한 분야입니다. 명시적인 규칙에 따라 작업을 수행하는 시스템과 달리 기계 학습 시스템은 경험을 통해 학습합니다. 규칙 기반 시스템은 매번 같은 방식으로 작업을 수행하는 반면 (좋든 나쁘 든간에), 알고리즘을 더 많은 데이터에 노출하여 훈련을 통해 기계 학습 시스템의 성능을 향상시킬 수 있습니다.

기계 학습 알고리즘은 종종 감독 됨 (학습 데이터에 답변으로 태그가 지정됨)과 감독 되지 않음 (존재할 수있는 모든 레이블이 학습 알고리즘에 표시되지 않음 ) 으로 나뉩니다 . 감독되는 기계 학습 문제는 분류 (모기지 지불 누락 확률 과 같은 숫자가 아닌 답변 예측 )와 회귀 (맨해튼 매장에서 다음 달에 판매 될 위젯 수와 같은 숫자 답변 예측 ) 로 세분화 됩니다.

비지도 학습은 클러스터링 (운동화, ​​운동화, 드레스 슈즈와 같은 유사한 객체 그룹 찾기), 연관성 (커피 및 크림과 같은 일반적인 객체 시퀀스 찾기) 및 차원 감소 (투영, 특징 선택 ) 로 더 나뉩니다. 및 기능 추출).

기계 학습의 응용

우리는 매일 기계 학습의 응용 프로그램에 대해 듣습니다.하지만 모두가 결코 성공한 것은 아닙니다. 자율 주행 자동차는 단순하고 성공적인 작업 (주차 지원 및 고속도로 차선 추종)에서 복잡하고 불충분 한 작업 (여러 명의 사망을 초래 한 도시 환경의 전체 차량 제어)에 이르기까지 다양한 작업이있는 좋은 예입니다.

게임 플레이 머신 러닝은 인간 세계 챔피언을이긴 체커, 체스, 장기 및 바둑에게 매우 성공적입니다. 일부 언어 쌍이 다른 언어 쌍보다 더 잘 작동하지만 자동 언어 번역은 대체로 성공적이었습니다. 많은 자동 번역은 여전히 ​​인간 번역가에 의해 개선 될 수 있습니다.

텍스트에 자동 음성 변환은 주류 악센트를 사용하는 사람에게는 잘 작동하지만 지역 또는 국가 악센트가 강한 사람에게는 잘 작동하지 않습니다. 성능은 공급 업체에서 사용하는 교육 세트에 따라 다릅니다. 소셜 미디어의 자동 감정 분석은 성공률이 상당히 좋은데, 아마도 교육 세트 (예 : 댓글과 숫자 점수를 결합하는 Amazon 제품 평가)가 크고 접근하기 쉽기 때문일 것입니다.

이력서의 자동 심사는 논란의 여지가있는 분야입니다. Amazon은 여성의 모든 구직 신청을 다운 그레이드하는 훈련 샘플 편향 때문에 내부 시스템을 철회해야했습니다.

현재 사용중인 다른 이력서 심사 시스템에는 합법적으로 중요하지 않은 방식으로 현재 직원과 "유사한"후보자를 업그레이드하는 훈련 편견이있을 수 있습니다 (예 : 영어를 사용하는 고급 지역의 젊은 백인 남성 후보자 팀 스포츠는 심사를 통과 할 가능성이 더 높습니다). Microsoft 및 기타 기관의 연구 노력은 기계 학습의 암시 적 편견을 제거하는 데 중점을 둡니다.

병리학 및 방사선 이미지의 자동 분류는 특정 유형의 이상을 감지하기 위해 병리학 자 및 방사선과 의사를 지원할 수있는 (대체는 아님) 지점까지 발전했습니다. 한편, 얼굴 인식 시스템은 잘 작동 할 때 논란의 여지가 있고 (개인 정보 보호를 고려하여) 여성과 유색 인종에게 백인 남성만큼 정확하지 않은 경향이 있습니다 (훈련 인구의 편견으로 인해).

기계 학습 알고리즘

기계 학습은 데이터 세트를 모델로 변환하기위한 여러 알고리즘에 의존합니다. 어떤 알고리즘이 가장 잘 작동하는지는 해결하려는 문제의 종류, 사용 가능한 컴퓨팅 리소스 및 데이터의 특성에 따라 다릅니다. 어떤 알고리즘을 사용하든 먼저 데이터를 정리하고 조건을 지정해야합니다.

각 문제에 대한 가장 일반적인 알고리즘에 대해 논의 해 보겠습니다.

분류 알고리즘

분류 문제는 두 개 이상의 클래스 중에서 선택을 요구하는지도 학습 문제로, 일반적으로 각 클래스에 대한 확률을 제공합니다. 훨씬 더 높은 수준의 컴퓨팅 리소스가 필요한 신경망과 딥 러닝을 제외하고 가장 일반적인 알고리즘은 Naive Bayes, 의사 결정 트리, 로지스틱 회귀, K-Nearest Neighbors 및 SVM (Support Vector Machine)입니다. Random Forest와 같은 앙상블 방법 (모델 조합), 기타 Bagging 방법, AdaBoost 및 XGBoost와 같은 부스팅 방법을 사용할 수도 있습니다.

회귀 알고리즘

회귀 문제는 모델에 숫자를 예측하도록 요청하는지도 학습 문제입니다. 가장 간단하고 가장 빠른 알고리즘은 선형 (최소 제곱) 회귀이지만, 종종 평범한 결과를 제공하기 때문에 여기서 멈추지 않아야합니다. 다른 일반적인 기계 학습 회귀 알고리즘 (신경망이 부족함)에는 Naive Bayes, Decision Tree, K-Nearest Neighbors, LVQ (Learning Vector Quantization), LARS Lasso, Elastic Net, Random Forest, AdaBoost 및 XGBoost가 있습니다. 회귀 및 분류를위한 기계 학습 알고리즘간에 일부 겹침이 있음을 알 수 있습니다.

클러스터링 알고리즘

클러스터링 문제는 모델이 유사한 데이터 포인트 그룹을 찾도록 요청하는 비지도 학습 문제입니다. 가장 많이 사용되는 알고리즘은 K- 평균 클러스터링입니다. 다른 것들은 Mean-Shift Clustering, DBSCAN (Density-Based Spatial Clustering of Applications with Noise), GMM (Gaussian Mixture Models) 및 HAC (Hierarchical Agglomerative Clustering)를 포함합니다.

차원 축소 알고리즘

차원 축소는 결과에 거의 또는 전혀 영향을 미치지 않는 변수를 삭제하거나 결합하도록 모델에 요청하는 비지도 학습 문제입니다. 이것은 종종 분류 또는 회귀와 함께 사용됩니다. 차원 축소 알고리즘에는 결 측값이 많은 변수 제거, 분산이 낮은 변수 제거, 의사 결정 트리, 랜덤 포레스트, 높은 상관 관계가있는 변수 제거 또는 결합, 역방향 기능 제거, 순방향 기능 선택, 요인 분석 및 PCA (주성분 분석)가 포함됩니다.

최적화 방법

훈련 및 평가는 매개 변수 가중치를 최적화하여지도 학습 알고리즘을 모델로 전환하여 데이터의 지상 진실과 가장 일치하는 값 세트를 찾습니다. 알고리즘은 종종 옵티 마이저에 대한 가장 가파른 하강 변형에 의존합니다.

SGD의 일반적인 개선은 운동량에 따라 기울기 방향을 수정하거나 데이터를 통과하는 한 단계 ( 에포크 또는 배치 라고 함 )에서 다음 단계로의 진행 상황에 따라 학습률을 조정하는 요소를 추가합니다 .

신경망과 딥 러닝

신경망은 생물학적 시각 피질의 구조에서 영감을 받았습니다. 딥 러닝은 기능을 식별하기 위해 많은 수의 "숨겨진"계층을 포함하는 신경망에서 학습하기위한 일련의 기술입니다. 숨겨진 레이어는 입력 레이어와 출력 레이어 사이에 있습니다. 각 계층은 종종 시그 모이 드 또는 ReLU (Rectified Linear Unit) 활성화 함수를 사용하는 인공 뉴런으로 구성됩니다.

피드 포워드 네트워크에서 뉴런은 하나의 입력 계층, 임의의 수의 숨겨진 처리 계층 및 하나의 출력 계층과 같은 별개의 계층으로 구성되며 각 계층의 출력은 다음 계층으로 만 이동합니다.

바로 가기 연결이있는 피드 포워드 네트워크에서 일부 연결은 하나 이상의 중간 계층을 건너 뛸 수 있습니다. 순환 신경망에서 뉴런은 다음 계층을 통해 직접 또는 간접적으로 자신에게 영향을 미칠 수 있습니다.

신경망의지도 학습은 다른 기계 학습과 마찬가지로 수행됩니다. 훈련 데이터 그룹으로 네트워크를 제시하고, 네트워크 출력을 원하는 출력과 비교하고, 오류 벡터를 생성하고, 오류 벡터를 기반으로 네트워크에 수정 사항을 적용합니다. , 일반적으로 역 전파 알고리즘을 사용합니다. 수정을 적용하기 전에 함께 실행되는 훈련 데이터 배치를 에포크라고합니다.

모든 기계 학습과 마찬가지로 별도의 테스트 데이터 세트에 대해 신경망의 예측을 확인해야합니다. 그렇게하지 않으면 일반화 된 예측자가되는 것을 배우는 대신 입력 만 기억하는 신경망을 만들 위험이 있습니다.

비전을위한 신경망 분야의 돌파구는 Yann LeCun의 1998 년 LeNet-5로, 32x32 픽셀 이미지로 디지털화 된 손글씨 숫자를 인식하기위한 7 단계 컨볼 루션 신경망 (CNN)입니다. 고해상도 이미지를 분석하려면 네트워크에 더 많은 뉴런과 더 많은 계층이 필요합니다.

컨볼 루션 신경망은 일반적으로 컨볼 루션, 풀링, ReLU, 완전 연결 및 손실 계층을 사용하여 시각 피질을 시뮬레이션합니다. 컨볼 루션 레이어는 기본적으로 많은 작은 중첩 영역의 적분을 취합니다. 풀링 계층은 비선형 다운 샘플링의 한 형태를 수행합니다. 앞서 언급 한 ReLU 레이어는 비 포화 활성화 기능을 적용합니다 f(x) = max(0,x).

완전 연결 계층에서 뉴런은 이전 계층의 모든 활성화에 완전 연결됩니다. 손실 계층은 분류를위한 Softmax 또는 교차 엔트로피 손실 또는 회귀를위한 유클리드 손실을 사용하여 네트워크 훈련이 예측 된 레이블과 실제 레이블 간의 편차에 페널티를주는 방법을 계산합니다.

자연어 처리 (NLP)는 딥 러닝을위한 또 다른 주요 응용 분야입니다. Google 번역에서 다루는 기계 번역 문제 외에도 주요 NLP 작업에는 자동 요약, 공동 참조 해결, 담론 분석, 형태 학적 세분화, 명명 된 개체 인식, 자연어 생성, 자연어 이해, 품사 태깅, 감정이 포함됩니다. 분석 및 음성 인식.

CNN 외에도 NLP 작업은 종종 LSTM (Long-Short Term Memory) 모델을 포함하는 RNN (Recurrent Neural Network)으로 처리됩니다.

심층 신경망에 계층이 많을수록 CPU에서 모델을 훈련하는 데 더 많은 계산이 필요합니다. 신경망 용 하드웨어 가속기는 GPU, TPU, FPGA를 포함합니다.

강화 학습

강화 학습은 일반적으로 시행 착오를 통해 일부 가치 를 극대화하는 방식으로 환경 에 반응하도록 행위자 또는 에이전트 를 교육 합니다. 그것은 감독 및 비지도 학습과 다르지만 종종 그들과 결합됩니다.

예를 들어 DeepMind의 AlphaGo는 Go 게임 (환경)을 수행하는 방법 (액션)을 배우기 위해 먼저 대규모 데이터 세트의 역사적 게임 (견습생 학습)에서 인간 Go 플레이어를 모방하는 방법을 배웠습니다. 그런 다음 시행 착오 (강화 학습)를 통해 자체의 독립 인스턴스에 대해 많은 Go 게임을 플레이하여 플레이를 개선했습니다.

로봇 제어는 심층 강화 학습 방법으로 공격받은 또 다른 문제로, 강화 학습과 심층 신경망을 의미하며 심층 신경망은 종종 비디오 프레임에서 특징을 추출하도록 훈련 된 CNN입니다.

기계 학습을 사용하는 방법

기계 학습 모델을 만드는 방법은 무엇입니까? 데이터를 정리하고 조정하는 것으로 시작하여 기능 엔지니어링을 계속 한 다음 의미있는 모든 기계 학습 알고리즘을 시도합니다. 시각 및 자연어 처리와 같은 특정 문제 클래스의 경우 작동 할 가능성이있는 알고리즘에는 딥 러닝이 포함됩니다.

기계 학습을위한 데이터 정리

야생에는 깨끗한 데이터가 없습니다. 기계 학습에 유용하려면 데이터를 적극적으로 필터링해야합니다. 예를 들어 다음을 수행 할 수 있습니다.

  1. 데이터를보고 누락 된 데이터가 많은 열을 제외합니다.
  2. 데이터를 다시보고 예측 에 사용할 열 ( 특징 선택 )을 선택 합니다. 이것은 반복 할 때 다양하게 할 수 있습니다.
  3. 나머지 열에서 여전히 누락 된 데이터가있는 모든 행을 제외합니다.
  4. 명백한 오타를 수정하고 동등한 답변을 병합합니다. 예를 들어, US, US, USA 및 America는 단일 카테고리로 병합되어야합니다.
  5. 범위를 벗어난 데이터가있는 행을 제외합니다. 예를 들어, 뉴욕시 내 택시 여행을 분석하는 경우 대도시 지역 경계 상자 밖에있는 픽업 또는 하차 위도와 경도가있는 행을 필터링 할 수 있습니다.

할 수있는 일이 훨씬 더 많지만 수집 된 데이터에 따라 다릅니다. 이는 지루할 수 있지만 머신 러닝 파이프 라인에서 데이터 정리 단계를 설정하면 원하는대로 수정하고 반복 할 수 있습니다.

기계 학습을위한 데이터 인코딩 및 정규화

기계 분류에 범주 형 데이터를 사용하려면 텍스트 레이블을 다른 형식으로 인코딩해야합니다. 두 가지 일반적인 인코딩이 있습니다.

하나는 레이블 인코딩으로 각 텍스트 레이블 값이 숫자로 대체됨을 의미합니다. 다른 하나원-핫 인코딩 입니다. 즉, 각 텍스트 레이블 값이 이진 값 (1 또는 0)이있는 열로 변환됩니다. 대부분의 기계 학습 프레임 워크에는 변환을 수행하는 기능이 있습니다. 일반적으로 레이블 인코딩이 기계 학습 알고리즘을 혼동하여 인코딩 된 열이 정렬되었다고 생각할 수 있으므로 원-핫 인코딩이 선호됩니다.