Python을 사용한 기계 학습-기본 사항
우리는 더 나은 계산 능력과 더 많은 스토리지 자원이 풍부한 '데이터 시대'에 살고 있습니다. 이 데이터 또는 정보는 날로 증가하고 있지만 실제 문제는 모든 데이터를 이해하는 것입니다. 기업과 조직은 데이터 과학, 데이터 마이닝 및 기계 학습의 개념과 방법론을 사용하여 지능형 시스템을 구축하여이를 처리하려고합니다. 그중에서 기계 학습은 컴퓨터 과학에서 가장 흥미로운 분야입니다. 머신 러닝을 데이터에 감각을 제공하는 알고리즘의 응용과 과학이라고 부르는 것은 잘못된 것이 아닙니다.
머신 러닝이란?
기계 학습 (ML)은 컴퓨터 시스템이 인간과 거의 동일한 방식으로 데이터에 감각을 제공 할 수있는 컴퓨터 과학 분야입니다.
간단히 말해서 ML은 알고리즘이나 방법을 사용하여 원시 데이터에서 패턴을 추출하는 인공 지능의 한 유형입니다. ML의 주요 초점은 컴퓨터 시스템이 명시 적으로 프로그래밍되거나 사람의 개입없이 경험에서 학습 할 수 있도록하는 것입니다.
기계 학습의 필요성
현재 인간은 복잡한 문제를 생각하고, 평가하고, 해결할 수 있기 때문에 지구상에서 가장 지능적이고 진보 된 종입니다. 반면 AI는 아직 초기 단계에 있으며 여러 측면에서 인간의 지능을 능가하지 못했습니다. 그렇다면 질문은 기계 학습을 만드는 데 필요한 것이 무엇입니까? 이를 수행하는 가장 적합한 이유는 "효율성과 규모로 데이터를 기반으로 의사 결정을 내리는 것"입니다.
최근에 조직은 인공 지능, 기계 학습 및 딥 러닝과 같은 새로운 기술에 막대한 투자를하여 데이터에서 주요 정보를 가져와 여러 실제 작업을 수행하고 문제를 해결하고 있습니다. 특히 프로세스를 자동화하기 위해 기계가 내린 데이터 기반 결정이라고 부를 수 있습니다. 이러한 데이터 기반 결정은 기본적으로 프로그래밍 할 수없는 문제에서 프로그래밍 논리를 사용하는 대신 사용할 수 있습니다. 사실 우리는 인간의 지능 없이는 할 수 없지만 다른 측면은 우리 모두가 엄청난 규모의 효율성으로 실제 문제를 해결해야한다는 것입니다. 이것이 머신 러닝이 필요한 이유입니다.
기계를 배우는 이유와시기
우리는 이미 머신 러닝의 필요성에 대해 논의했지만 어떤 시나리오에서 머신 러닝을 만들어야 하는가에 대한 또 다른 질문이 생깁니다. 데이터 기반 의사 결정을 효율적이고 대규모로 수행하기 위해 기계가 필요한 여러 상황이있을 수 있습니다. 다음은 기계 학습이 더 효과적 일 수있는 몇 가지 상황입니다.
인간의 전문성 부족
머신이 데이터 기반 의사 결정을 학습하고 수행하기를 원하는 첫 번째 시나리오는 인간의 전문성이 부족한 영역 일 수 있습니다. 예를 들어 알려지지 않은 영토 또는 공간 행성의 내비게이션이 될 수 있습니다.
동적 시나리오
본질적으로 역동적 인 몇 가지 시나리오가 있습니다. 즉, 시간이 지남에 따라 계속 변경됩니다. 이러한 시나리오와 행동의 경우, 우리는 기계가 데이터 기반 결정을 학습하고 취하기를 원합니다. 몇 가지 예는 네트워크 연결 및 조직의 인프라 가용성 일 수 있습니다.
전문성을 계산 작업으로 변환하는 데 어려움
인간이 전문성을 가지고있는 다양한 영역이있을 수 있습니다. 그러나 그들은이 전문 지식을 계산 작업으로 변환 할 수 없습니다. 그러한 상황에서 우리는 기계 학습을 원합니다. 예는 음성 인식,인지 작업 등의 영역이 될 수 있습니다.
기계 학습 모델
기계 학습 모델을 논의하기 전에 Mitchell 교수가 제공 한 다음과 같은 ML의 공식 정의를 이해해야합니다.
"컴퓨터 프로그램은 어떤 클래스의 작업 T와 성능 측정 값 P와 관련하여 경험 E로부터 학습한다고합니다. 만약 P로 측정 된 작업에서의 성능이 경험 E와 함께 향상된다면."
위의 정의는 기본적으로 모든 학습 알고리즘의 주요 구성 요소 인 Task (T), Performance (P) 및 Experience (E)의 세 가지 매개 변수에 초점을 맞추고 있습니다. 이 맥락에서 우리는이 정의를 다음과 같이 단순화 할 수 있습니다.
ML은 다음과 같은 학습 알고리즘으로 구성된 AI 분야입니다.
성능 향상 (P)
어떤 작업을 실행할 때 (T)
시간이 지남에 따라 경험 (E)
위의 내용을 바탕으로 다음 다이어그램은 기계 학습 모델을 나타냅니다.
이제 더 자세히 논의하겠습니다.
과제 (T)
문제의 관점에서 우리는 과제 T를 해결해야 할 실제 문제로 정의 할 수 있습니다. 문제는 특정 위치에서 최적의 주택 가격을 찾거나 최적의 마케팅 전략을 찾는 것과 같은 것일 수 있습니다. 반면에 머신 러닝에 대해 이야기하면 ML 기반 작업을 해결하기가 어렵 기 때문에 작업의 정의가 다릅니다. 기존 프로그래밍 방식.
작업 T는 프로세스를 기반으로하고 시스템이 데이터 포인트에서 작동하기 위해 따라야하는 경우 ML 기반 작업이라고합니다. ML 기반 작업의 예는 분류, 회귀, 구조화 된 주석, 클러스터링, 전사 등입니다.
경험치 (E)
이름에서 알 수 있듯이 알고리즘이나 모델에 제공된 데이터 포인트에서 얻은 지식입니다. 데이터 세트가 제공되면 모델은 반복적으로 실행되고 몇 가지 고유 한 패턴을 학습합니다. 이렇게 습득 한 학습을 경험 (E)이라고합니다. 인간 학습과 유사하게 우리는 인간이 상황, 관계 등과 같은 다양한 속성에서 학습하거나 경험을 얻는 상황이라고 생각할 수 있습니다. 감독, 비지도 및 강화 학습은 학습하거나 경험을 얻는 방법입니다. 외부 ML 모델 또는 알고리즘에서 얻은 경험은 작업 T를 해결하는 데 사용됩니다.
성능 (P)
ML 알고리즘은 작업을 수행하고 시간이 지남에 따라 경험을 쌓아야합니다. ML 알고리즘이 예상대로 수행되는지 여부를 나타내는 척도는 성능 (P)입니다. P는 기본적으로 모델이 작업을 수행하는 방법을 알려주는 정량적 메트릭입니다. 경험 E를 사용하여 T입니다. 정확도 점수, F1 점수, 혼동 행렬, 정밀도, 재현율과 같은 ML 성능을 이해하는 데 도움이되는 많은 메트릭이 있습니다. , 감도 등
기계 학습의 과제
머신 러닝이 빠르게 진화하고 사이버 보안 및 자율 주행 자동차와 함께 상당한 진전을 이루고 있지만이 AI 부문 전체는 아직 갈 길이 멀다. 그 이유는 ML이 수많은 문제를 극복 할 수 없었기 때문입니다. ML이 현재 직면하고있는 과제는 다음과 같습니다.
Quality of data− ML 알고리즘을위한 양질의 데이터를 확보하는 것은 가장 큰 과제 중 하나입니다. 품질이 낮은 데이터를 사용하면 데이터 전처리 및 특징 추출과 관련된 문제가 발생합니다.
Time-Consuming task − ML 모델이 직면 한 또 다른 문제는 특히 데이터 수집, 특징 추출 및 검색을위한 시간 소비입니다.
Lack of specialist persons − ML 기술은 아직 초기 단계이기 때문에 전문가 리소스의 가용성은 어려운 일입니다.
No clear objective for formulating business problems −이 기술은 아직 성숙하지 않았기 때문에 비즈니스 문제에 대한 명확한 객관적이고 잘 정의 된 목표가없는 것은 ML의 또 다른 핵심 과제입니다.
Issue of overfitting & underfitting − 모델이 과적 합 또는 과소 적합이면 문제에 대해 잘 표현할 수 없습니다.
Curse of dimensionality− ML 모델이 직면 한 또 다른 문제는 데이터 포인트의 기능이 너무 많다는 것입니다. 이것은 진짜 방해가 될 수 있습니다.
Difficulty in deployment − ML 모델의 복잡성으로 인해 실생활에 배포하기가 매우 어렵습니다.
기계 학습의 응용
기계 학습은 가장 빠르게 성장하는 기술이며 연구원에 따르면 우리는 AI와 ML의 황금기를 맞이하고 있습니다. 전통적인 접근 방식으로는 해결할 수없는 많은 실제 복잡한 문제를 해결하는 데 사용됩니다. 다음은 ML의 실제 응용 프로그램입니다.
감정 분석
감정 분석
오류 감지 및 예방
일기 예보 및 예측
주식 시장 분석 및 예측
음성 합성
음성 인식
고객 세분화
물체 인식
사기 감지
사기 예방
온라인 쇼핑에서 고객에게 제품 추천.