머신러닝이란?

시스템이 다양한 알고리즘을 사용하여 데이터에서 반복 학습하여 데이터를 설명하고 정확한 모델을 생성하여 결과를 예측할 수 있도록 하는 인공지능(AI)의 한 형태입니다.

머신러닝 소개

말하지 않고도 무엇을 해야 하는지 알아내는 컴퓨터는 오랫동안 기다렸던 일이였습니다.

주행이 가능하고 보행자와 포트홀을 식별하고 환경 변화에 신속하고 효율적으로 대응하여 목적지까지 안전하게 데려다 줄 수 있는 아이디어, 이것이 머신러닝입니다.

작동 원리 비즈니스 데이터 분석부터 시작하겠습니다.

ML은 AI의 일종으로 대용량 데이터를 이해하고 학습할 수 있습니다. Twitter를 예로 들어보겠습니다. Internet Live Stats에 따르면 Twitter 사용자는 매일 약 5억 개의 트윗을 보내며 이는 연간 약 2,000억 개의 트윗에 해당합니다. 그 정도의 트윗으로 무엇이든 분석, 분류, 정렬, 학습 및 예측하는 것은 인간적으로 불가능합니다.

머신러닝은 기업이 귀중한 정보를 얻기 위한 상당한 작업을 필요로 합니다. ML을 최대한 활용하려면 깨끗한 데이터를 가지고 있어야 하며 어떤 질문이 있는지 알고 있어야 합니다. 그런 다음 비즈니스에 가장 적합한 모델과 알고리즘을 선택할 수 있습니다. ML은 간단하거나 쉬운 프로세스가 아닙니다. ML의 성공은 부단한 노력이 필요합니다.

ML에는 라이프 사이클이 있습니다.

  • 이해. ML로 전환하고 배우고자 하는 이유
  • 데이터 수집 및 정리. 필요한 양의 데이터가 있으며 통찰력을 제공할 만큼 깨끗합니다.
  • 기능 선택.  ML 모델을 구축하기 위해 ML에 제공해야 하는 데이터를 결정하는 작업이 포함됩니다. 알고리즘 유형에 따라 기능을 선택하는데 사용할 수 있는 다양한 방법이 있습니다. 예를 들어 의사 결정 트리 알고리즘을 사용한다고 가정해 보겠습니다. 이 경우 분석가 또는 모델링 도구는 ‘흥미도 점수’, 즉 데이터베이스의 열을 적용하여 해당 데이터를 모델을 구축하는데 사용해야 하는지 여부를 결정할 수 있습니다.
  • 모델 선택. 데이터에서 특정 항목을 처리하고 찾도록 훈련된 파일(모델)을 선택합니다. 모델에는 작업하기 위한 알고리즘이 주어지며, 데이터를 테스트하면 이 둘을 결합하여 결론을 도출할 수 있습니다.
  • 훈련과 튜닝. 모델에 따라 질문에 대한 답을 얻을 수 있다는 결론입니다.
  • 모델과 알고리즘을 평가하여 사용할 준비가 되었는지, 또는 몇 단계 뒤로 돌아가서 모델, 피쳐, 알고리즘 또는 데이터를 세분화하여 목표를 달성해야 하는지 확인이 필요하고
  • 교육된 모델을 프로덕션에 배포합니다.
  • 생산 중인 기존 모델의 출력 검토 

머신러닝은 무엇에 사용됩니까? 머신러닝 애플리케이션

머신러닝은 기업이 데이터를 이해하고 이를 통해 배울 수 있는 방법입니다. 기업에서 사용할 수 있는 하위 필드는 매우 많습니다. 매출 향상, 검색 기능 제공, 음성 명령을 제품에 통합 또는 자율 주행 자동차 등 사용 사례에 따라 달라집니다.

머신 러닝 하위 필드

ML은 오늘날 비즈니스에서 많이 사용되며 그 용도도 더욱 증가할 것입니다. ML의 하위 필드에는 소셜 미디어 및 제품 추천, 이미지 인식, 건강 진단, 언어 번역, 음성 인식, 데이터 마이닝 등이 있습니다.

Facebook, Instagram 또는 LinkedIn과 같은 소셜 미디어 플랫폼은 ML을 사용하여 좋아하는 게시물을 기반으로 팔로우할 페이지나 가입할 그룹을 제안하기도 합니다. 다른 사람들이 좋아한 것 또는 내가 좋아한 것과 유사한 게시물에 대한 기록 데이터를 가져와서 제안하거나 피드에 추가합니다.  

전자 상거래 사이트에서 ML을 사용하여 이전 구매, 귀하의 검색 및 귀하와 유사한 다른 사용자의 행동을 기반으로 제품을 추천할 수도 있습니다.

오늘날 ML의 중요한 용도는 이미지 인식입니다. 소셜 미디어 플랫폼은 ML을 기반으로 사진에 있는 사람을 태그할 것을 권장했습니다. 경찰은 사진이나 동영상에서 용의자를 찾는 데 사용할 수 있었습니다. 공항, 상점 및 초인종에 설치된 과다한 카메라로 누가 범죄를 저질렀는지 또는 범죄자가 어디로 갔는지 알아낼 수 있습니다.

건강 진단도 ML을 잘 사용합니다. 심장마비와 같은 사건이 발생한 후 되돌아가서 간과했던 경고 신호를 볼 수 있습니다. 병원에서 사용하는 시스템은 과거의 의료 기록을 제공받아 입력(행동, 검사 결과 또는 증상)에서 출력(예: 심장마비)까지의 연결을 확인하는 방법을 학습할 수 있습니다. 그런 다음 의사가 향후 메모와 테스트 결과를 시스템에 입력하면 기계가 사람보다 훨씬 더 안정적으로 심장마비 증상을 감지할 수 있습니다.

모바일 플랫폼용 웹페이지 또는 앱의 언어 번역은 ML의 또 다른 예입니다. 일부 앱은 사용하는 ML 모델, 기술 및 알고리즘에 따라 다른 앱보다 발전된 작업을 수행합니다.

오늘날 ML의 일상적인 사용은 은행 및 신용 카드에 있습니다. ML은 신속하게 감지할 수 있지만 인간이 발견하는데는 오랜 시간이 걸립니다. 검사 및 레이블 지정(사기 여부)이 많은 거래를 통해 ML은 향후 단일 거래에서 사기를 식별하는 방법을 학습할 수 있습니다. 이를 위해 훌륭한 ML은 데이터 마이닝입니다.

데이터 마이닝

데이터 마이닝은 데이터를 분석하여 빅 데이터 내에서 예측하거나 패턴을 발견하는 ML 유형입니다. 이 용어는 악의적인 행위자이든 직원이든 누군가가 필요하지 않기 때문에 약간 오해의 소지가 있습니다. 대신 이 프로세스에는 미래에 의사 결정을 하는데 필요한 데이터의 패턴을 발견하는 것이 포함됩니다.

예를 들어 신용 카드 회사를 생각해보십시오. 은행에서는 카드에서의 의심스러운 활동을 알 수 있습니다. 은행은 어떻게 그러한 활동을 그렇게 빨리 감지하여 거의 즉각적인 경고를 보낼 수 있었을까요? 이러한 사기 방지를 가능하게 하는 것은 지속적인 데이터 마이닝입니다. 2020년 초 기준으로 미국에서만 발행된 카드가 1조 1천억 개가 넘습니다. 해당 카드의 거래 건수는 마이닝, 패턴 검색 및 향후 의심스러운 거래 식별 학습을 위한 다양한 데이터를 생성합니다.

딥 러닝

딥 러닝은 신경망을 기반으로 하는 특정 유형의 ML입니다. 신경망은 인간의 뇌에 있는 뉴런이 어떤 결정을 내리거나 어떤 것을 이해하기 위해 어떻게 기능하는지 모방하는 역할을 합니다. 예를 들어, 6세 아이는 머리 색깔, 얼굴 특징, 흉터 등의 많은 세부 사항을 눈 깜짝할 사이에 모두 빠르게 분석하기 때문에 6살짜리 아이가 얼굴을 보고 횡단보도에서 엄마를 구별할 수 있습니다. 머신러닝은 이를 딥 러닝의 형태로 복제합니다.

신경망은 3~5개의 레이어(입력 레이어, 1~3개의 은닉 레이어, 출력 레이어)로 구성됩니다. 숨겨진 것들은 출력 레이어 또는 결론을 향해 하나씩 결정을 내립니다. 어떤 머리 색깔? 어떤 눈 색깔? 흉터가 있는지? 레이어가 수백 개로 늘어남에 따라 이를 딥 러닝이라고 합니다.

머신러닝의 유형

머신러닝 알고리즘에는 기본적으로 감독, 준감독, 무감독, 강화의 4가지 유형이 있습니다. ML 전문가들은 현재 사용중인 ML 알고리즘의 약 70%가 감독된 것으로 보고 있습니다. 개와 고양이의 사진과 같이 알려지거나 레이블이 지정된 데이터셋으로 작업합니다. 두 가지 유형의 동물이 알려져 있으므로 관리자는 사진을 알고리즘에 제공하기 전에 레이블을 지정할 수 있습니다.

감독되지 않은 ML 알고리즘은 알 수 없는 데이터셋에서 학습합니다. TikTok 비디오를 예를 들어보겠습니다. 주제가 너무 많은 비디오가 너무 많아서 감독 방식으로 알고리즘을 훈련시키는 것이 불가능합니다. 데이터는 아직 레이블이 지정되지 않았습니다.

준감독 ML 알고리즘은 처음에 알려져 있고 라벨이 지정된 작은 데이터셋으로 학습합니다. 그런 다음 레이블이 지정되지 않은 더 큰 데이터 세트에 적용되어 교육을 계속합니다.

강화된 ML 알고리즘은 초기에 훈련되지 않습니다. 그들은 이동 중에 시행착오를 통해 배웁니다. 바위 더미를 탐색하는 방법을 배우는 로봇을 생각해 보십시오. 떨어질 때마다 작동하지 않는 것을 배우고 성공할 때까지 동작을 변경합니다. 개 훈련과 다양한 명령을 가르치기 위한 간식의 사용에 대해 생각해 보십시오. 긍정적인 강화를 통해 개는 명령을 계속 수행하고 호의적인 반응을 나타내지 않는 행동을 변경합니다.  

감독 및 감독되지 않은 머신러닝

감독되는 머신러닝

알려진, 확립된 및 분류된 데이터 세트를 사용하여 패턴을 찾습니다. 개와 고양이의 사진에 대한 이전 아이디어를 확장해 보십시오. 수백만 장의 사진 속에 수천 마리의 다른 동물들이 들어 있는 거대한 데이터 세트를 가질 수 있습니다. 동물 유형이 알려져 있기 때문에 그룹화하고 레이블을 지정한 후 감독 대상 ML 알고리즘에 전달하여 이해하는 방법을 배울 수 있습니다.

감독 알고리즘은 이제 입력을 출력과 비교하고 사진을 동물 유형의 라벨과 비교합니다. 그것은 결국 자신이 접하는 새로운 사진에서 특정 종류의 동물을 인식하는 법을 배울 것이다.

감독되지 않은 머신러닝

감독되지 않는 ML 알고리즘은 오늘날 스팸 필터와 같습니다. 처음에는 관리자가 스팸 필터를 프로그래밍하여 이메일에서 특정 단어를 검색하여 스팸을 이해할 수 있었습니다. 하지만 더 이상 가능하지 않고, ML에서 감독 없이 잘 작동합니다. 감독되지 않은 ML 알고리즘에는 패턴을 찾기 위해 레이블이 지정되지 않은 이메일이 공급됩니다. 이러한 패턴이 발견되면 스팸이 어떻게 생겼는지 학습하고 프로덕션 환경에서 식별하게 됩니다.

머신러닝 기술

ML 기술은 문제를 해결합니다. 직면한 문제에 따라 특정 ML 기술을 선택합니다. 다음은 일반적인 6가지 입니다.

회귀 기법

회귀는 12월 미네소타에서 주택 시장 가격을 예측하거나 생활 용품 최적 판매 가격을 결정하는데 사용될 수 있습니다. 회귀에 따르면 가격이 변동하더라도 항상 평균가격으로 돌아오고, 시간이 지날수록 주택가격이 상승하고 있지만 평균 가격으로 돌아가는 것입니다. 시간에 따른 가격을 그래프에 표시하고 시간이 지날수록 평균을 찾을 수 있습니다. 빨간색 선이 차트 위로 계속 올라가면 미래 예측이 가능합니다.

분류

분류는 데이터를 알려진 범주로 그룹화하는데 사용됩니다. 예상대로 좋은 고객 (항상 다시 와서 많은 돈을 지출함) 또는 예상대로 다른 곳에서 쇼핑을 시작할 고객을 찾을 수 있습니다. 시간이 지남에 따라 과거를 되돌아보고 각 고객 분류에 대한 예측 변수를 찾을 수 있다면 이를 현재 고객에게 적용하고 어떤 그룹에 적합할지 예측할 수 있습니다. 그러면 더 효과적으로 마케팅할 수 있고 잠재적으로 떠날 고객을 우수한 재방문 고객으로 전환할 수 있습니다. 이것은 감독된 ML의 좋은 예입니다.

클러스터링

분류 기술과 달리 클러스터링은 감독되지 않은 ML입니다. 클러스터링에서 시스템은 그룹화 방법을 모르는 데이터를 그룹화하는 방법을 찾습니다. 이러한 유형의 ML은 의료 이미지 분석, 소셜 네트워크 분석 또는 이상 징후 찾기에 탁월합니다.

Google은 YouTube 동영상, Play 앱, 음악 트랙과 같은 제품의 일반화, 데이터 압축 및 개인정보 보호를 위해 클러스터링을 사용합니다.

이상 탐지

이상 탐지는 무리에서 검은 양을 발견하는 것과 같이 이상치를 찾을 때 사용됩니다. 방대한 양의 데이터를 볼 때 이러한 변칙성은 인간이 찾기 불가능합니다. 그러나 예를 들어 데이터 과학자가 많은 병원의 시스템 의료 청구 데이터를 제공한 경우 이상 탐지는 청구를 그룹화하는 방법을 찾습니다. 사기가 발생하는 곳으로 밝혀진 일련의 이상값을 발견할 수 있습니다.

장바구니 분석

장바구니 분석의 논리는 미래 예측을 가능하게 합니다. 간단한 예를 들자면 고객이 갈은 쇠고기, 토마토, 타코를 바구니에 넣으면 치즈와 사워 크림을 추가할 것이라고 예측할 수 있습니다. 이러한 예측은 온라인 쇼핑객이 잊어버렸을 품목에 대해 가치 있는 제안을 하거나 매장에서 제품을 그룹화하는데 도움을 주어 추가 판매 창출을 할 수 있습니다.

MIT의 두 교수는 이 접근법을 사용하여 ‘실패의 선구자’를 발견했습니다. 결과적으로 일부 고객은 실패한 제품을 좋아합니다. 이를 발견하면 제품을 계속 판매할지 여부와 올바른 고객의 판매를 늘리기 위해 어떤 마케팅을 적용할지 결정할 수 있습니다.

시계열 데이터

시계열 데이터는 일반적으로 손목에 있는 피트니스 모니터를 통해 수집됩니다. 그것은 분당 심장 박동을 모을 수 있고, 우리가 분당 또는 시간당 얼마나 많은 조치를 취하는지, 그리고 일부는 시간이 지남에 따라 산소 포화도를 측정할 수도 있습니다. 이 데이터를 통해 미래에 누군가가 언제 실행될지 예측할 수 있습니다. 진동 수준, dB 소음 수준 및 압력에 대한 시간 기반 데이터 때문에 기계에 대한 데이터를 수집하고 고장을 예측할 수도 있습니다.

머신러닝 알고리즘

ML이 데이터를 통해 학습해야 하는 경우 통계적으로 중요한 데이터를 학습하고 찾기 위한 알고리즘을 어떻게 설계합니까? ML 알고리즘은 감독, 비감독 또는 보강 ML의 프로세스를 지원합니다.

데이터 엔지니어는 기계가 데이터에서 중요함을 배우거나 찾을 수 있도록 하는 알고리즘인 코드를 작성합니다.

가장 일반적인 몇 가지 구체적인 알고리즘을 살펴보겠습니다. 다음은 현재 사용 중인 상위 5개 항목입니다.

  • 선형 회귀 알고리즘은 독립 변수와 종속 변수를 그래프에 적합시키고 평균 또는 추세에 대한 직선을 표시하여 관계를 설정합니다. Merriam-Webster는 회귀 분석을 하나 이상의 "독립 변수가 지정된 값을 갖는 조건에서 무작위 변수의 평균 값을 산출하는 함수"로 정의합니다. 이 정의는 로지스틱 회귀 분석에도 적용됩니다.
머신러닝 알고리즘
  • 로지스틱(일명 로짓) 회귀 분석도 선형 회귀 분석과 마찬가지로 변수를 그래프에 적합하지만 선은 선형이 아닙니다. 이 선은 시그모이드 함수입니다.
로지스틱 회귀 분석
  • 의사결정 트리는 감독되는 ML 내에서 매우 일반적으로 사용되는 알고리즘입니다. 범주형 변수와 연속형 변수를 기준으로 데이터를 분류하는 데 사용됩니다.
의사결정 트리 다이어그램
  • Support Vector Machine은 가장 가까운 두 데이터 점을 기준으로 초평면을 그립니다. 이것은 클래스를 주변화하여 데이터를 구분합니다. N차원 공간을 기준으로 데이터를 분류합니다. N은 가지고 있는 다양한 기능의 수를 나타냅니다.
하이퍼 통로 다이어그램
  • 나이브 베이지안은 특정 결과의 확률을 계산합니다. 이것은 매우 효과적이고 더 정교한 분류 모델을 능가합니다. 나이브 베이지안 분류기 모델은 주어진 특징이 다른 특정 특징의 존재와 관련이 없다는 것을 이해할 것입니다.
나이브 베이지안 모델

머신러닝 모델

ML 유형(감독, 비감독 등), 기술 및 알고리즘을 결합한 후 결과는 훈련된 파일입니다. 이제 이 파일에 새 데이터가 제공될 수 있으며 필요에 따라 비즈니스, 관리자 또는 고객을 위해 패턴을 인식하고 예측 또는 결정을 내릴 수 있습니다.

머신러닝을 위한 최고의 언어

머신러닝 언어는 시스템이 학습하도록 지침을 작성하는 방법입니다. 각 언어에는 다른 사람에게서 배우거나 안내하기 위한 지원을 위한 사용자 커뮤니티가 있습니다. 머신러닝 사용을 위해 각 언어에 라이브러리가 포함되어 있습니다.

다음은 2019년 GitHub Top 10 설문조사에 따른 상위 10개입니다.

  • Python
  • C++
  • JavaScript
  • Java
  • C#
  • Julia
  • Shell
  • R
  • TypeScript
  • Scala - 빅 데이터와의 상호 작용에 사용되는 언어


Python 머신러닝

Python이 가장 일반적인 ML 언어이므로 여기에 더 자세히 설명합니다.

Python은 Monty Python의 이름을 딴 오픈 소스 객체 지향 언어입니다. 해석되기 때문에 Python 가상 머신에서 실행하기 전에 바이트 코드로 변환됩니다.

Python을 ML에 선호하는 다양한 기능이 있습니다.

  • 현재 사용할 수 있는 강력한 패키지 집합입니다. numpy, scipy 및 panda와 같은 특정 ML 패키지가 있습니다.
  • 쉽고 빠르게 프로토타입을 만들 수 있습니다.
  • 협업을 가능하게 하는 다양한 도구가 있습니다.
  • 데이터 과학자가 추출에서 모델링, ML 솔루션 업데이트로 이동함에 따라 Python은 계속해서 선택 언어가 될 수 있습니다. 데이터 과학자는 수명 주기를 이동하는 동안 언어를 변경할 필요가 없습니다.

리소스