일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- gitclone
- 머신러닝
- 교차검증
- 취업연계
- ERD
- 활성화함수
- MVCmodel
- 오픈소스깃허브사용
- springSTS
- randomForest
- 내일배움카드
- 안드로이드
- JSP/Servlet
- 하이퍼파라미터튜닝
- 국비지원
- MSE
- 손실함수
- 선형모델 분류
- 프로젝트
- 백엔드
- KNN모델
- 취업성공패키지
- intent
- 2차 실전프로젝트
- 스마트인재개발원
- 비스포크시네마
- 크롤링
- 1차프로젝트
- semantic_segmentation
- 2차프로젝트
- Today
- Total
또자의 코딩교실
[스마트인재개발원] Machine Learning - 개요 본문
Machine Learning이란?
머신러닝은 당신이 4차 산업혁명시대를 살면서 한번쯤은 뉴키워드로 들어보았을 법한 단어일 것이다.
머신러닝을 기반으로 컴퓨터는 판단능력과 추론능력을 가지게 되며, 학습을 통해 진화하여 새로운 것을 만드는 창의력을 함양할 수 있는 가능성이 열리게 된 것이다. 이런 식으로 머신러닝과 딥러닝을 기반으로 하여 만들어지는 인공지능들에는 총 3가지의 분류가 존재한다.
Weak AI | - 학습을 통해 문제를 해결한다. - 주어진 조건 아래서만 작동하여 사람을 흉내 내는 수준에 그친다. - ex) 구글 알파고, 시리, 자율자동차, 구글 번역 등 |
Strong AI | - 사고를 통해 문제를 해결한다. - 사람과 비슷한 지능을 가지고 추론, 문제해결, 계획, 의사소통 등이 가능하다. |
Super AI | - 창의력을 통해 문제를 해결한다. - 모든 영역에서 인간을 웃도는 능력을 가진다. |
총 3가지로 분류되지만 아직 밑의 두 AI 항목들은 공상과학영화 내에서나 볼법한 AI의 개발수준이다.
인공지능이라 판별되는 기준으로는 튜링테스트가 있다.
튜링 테스트 : 타자에 대한 반응에 대해 기계가 썼음에도 사람이라 생각되게 된다면 인공지능이다!
>> 채팅에 의존. 채팅만 가지고는 사람처럼 생각하고 행동한다고 판단하기에는 어렵다는 한계 존재
CAPTCHA : Completely Automated Public Turing Test to tell Computers and Humans Apart
>> 사람과 컴퓨터를 판별하는 튜링 테스트
허나 미래를 예측하는 Beneficial AI 2017 컨퍼런스에서 초 인공지능이란 영역은 실현가능성이 있는 영역이라 전망했다.
현재 인공지능은 작곡이 가능하며, 화가의 화풍을 학습해 비슷한 이미지를 만들거나 적용시킬 수 있다. 이러한 것들은 미분을 기반으로 만들어진 머신러닝과 딥러닝에서부터 출발했으니 우리는 이제 그 근본인 머신러닝부터 차근차근 알아보자.
Rule-Based Expert System. (일반적인 컴퓨터 사이언스)
말이 길어도 간단히 말하자면 상황에 대한 규칙들을 모두 if-else문으로 선택지를 만들어 컴퓨터가 판단하게 만들어 둔 것이다.
대표적 사례 : 스팸메일 필터, 얼굴인식 시스템이 있다.
문제점 : 사소한 변화점이나 변수는 사람이 일일히 등록해야함. >> 많은 상황에 대한 규칙을 모두 만들어낼 수 없다는 것과 제작한 로직이 특정 작업에만 국한되고 작업이 조금만 변경되더라도 전체 시스템을 다시 만들어야한다는 단점이 있었다. 또한 규칙 모델을 설계하려면 해당 분야에 대해서 잘 알고 있어야 했다.
이러한 문제점을 해결하고자 머신러닝이 등장하였다.
Machine Learning
= Rule-based expert system을 기반으로 모델이 짜여진 학습을 통해 기계가 스스로 규칙을 만들어 내어
데이터와 결과를 이용하여 데이터 내부의 특성과 패턴을 찾아내고 학습하여 찾아낸 모델을 이용하여
새로운 데이터에 대한 결과 값의 범주나 분포된 데이터들의 평균을 예측하는 것
데이터가 주어졌을 때 해답을 컴퓨터가 직접찾게 한다.
>> 요구사항 분석단계에서 a,b란 input을 넣고 ouput으로 c를 받았다면 어떤 동작을 통해 답을 도출하는 과정을 학습시키는 것
머신러닝과 딥러닝은 기존 데이터를 이용하여 일어나지 않은 미지의 일을 예측하기 위해 만들어진 기법이다.
데이터를 주고 답을 내놓는것이 아닌 데이터와 답을 같이 주고 그 사이에 숨어있는 규칙을 찾게 하는 것이다.
따라서 사용자는 머신러닝을 위해 모델을 설계할 필요성이 생긴다.
모델은 데이터와 결과를 이용하여 특성과 패턴(모델)을 찾아내고(학습) 찾아낸 모델을 이용해
새로운 데이터에 대한 결과(값, 분포)를 예측(추론)하는 것이다.
인공지능은 매우 큰 분야이다. 컴퓨터가 인간의 행동을 모방할 수 있게 해주는 기술들을 모두 인공지능이라 일컫고
인공지능의 하위 기술로 머신러닝이 있는데 통계 기법을 사용하여 수많은 데이터를 컴퓨터에게 주고 컴퓨터가 데이터를 배워서 학습을 통해 기능을 향상시킬 수 있는 AI의 하위기술이다. 컴퓨터에게 학습시키는 데이터가 정확할수록 머신러닝의 정확성은 올라간다.
딥 러닝은 머신러닝에서 좀 더 나아가 사고할 수 있는 방법을 사람을 흉내내어 학습을 시켜보려한 다층 인공신경망(DNN)을 이용하여 정보를 처리하는 머신러닝의 한 방법이며 GAN, 전이학습, etc가 있다.
머신러닝은 훈련데이터 크기는 작고 시스템성능이 작아도 된다. feature선택은 사람이 골라주며 feature수도 많다.
문제 해결 접근법은 문제를 분리하여 각가가 답을 얻어 결과를 통합하면 되고 실행시간또한 짧다.
딥러닝은 데이터가 많으면 정확도가 우수하지만 데이터가 작다면 머신러닝 알고리즘이 더 우수한 경향이 있다.
머신러닝 | 딥러닝 | |
컴퓨터가 데이터를 배워서 학습을 통해 기능을 향상 | 다층 인공신경망(DNN)을 이용하여 정보를 처리하는 머신러닝의 한 방법 |
|
훈련데이터 크기 | 작아도 구동 가능 | 데이터 크기와 정확도 비례 |
시스템 성능 | 작아도 구동 가능 | 시스템 성능과 정확도 비례 |
특성 선택 | 사람이 직접 코드로 작성 | 알고리즘이 선택 |
특성 수 | 많음 | 적음 |
문제 해결 접근법 | 문제를 분리하여 각각 답을 얻어 답들을 통합함. | 결과를 바로 얻게 됨 |
실행시간 | 짧음 | 김 |
해석 난이도 | 쉬움 | 어려움 |
머신러닝의 종류는 다음과 같다.
- 지도 학습
- 데이터에 대한 명시적인 답(=Label)이 주어진 상태에서 컴퓨터를 학습시키는 방법.
- 분류(Classification) : 미리 정의된 여러 클래스 레이블(범주) 중 하나를 예측
- 이진 분류, 다중 분류 등이 있다. (스팸메일 분류)
- 속성 값을 입력, 클래스 값을 출력으로 설정한다.
- 붓꽃의 세 품종 중 하나로 분류, 암 분류 등 이진 분류, 다중 분류 등이 있다.
- 회귀(Regerssion) : 연속적으로 나타낼수 있는 수치를 예측
- 데이터에서 주식값을 예측하거나 돈을 예측해야하는 경우 연속적으로 나타낼수 있는 수치를 예측하기 때문에 회귀 문제로 보여지게 됨로 나뉘어진다.
- 비지도 학습
- 데이터에 대한 명시적인 답(=Label)이 없는 상태에서 컴퓨터를 학습 시키는 방법.
- 데이터의 숨겨진 특징, 구조, 패턴을 파악하는데 사용.
- 데이터를 비슷한 특성끼리 묶는 클러스터링(군집화)(Clustering)과 차원축소(Dimensionality Reduction)등이 있다.
- 강화 학습
- 지도학습과 비슷하지만 완전한 답(=Label)을 제공하지 않는 특징이 있다.
- 기계는 더 많은 보상을 얻는 방향으로 행동을 학습한다.
- 게임 AI 와 로봇을 학습시키는데 이 방법을 사용한다.
머신 러닝의 활용분야
기존 솔루션으로는 많은 수동 조정과 규칙이 필요할때!
전통적인 방식으로는 전혀 해결 방법이 없는 복잡할때!
새로운 데이터에 적응해야할때!
대량의 데이터에서 통찰을 얻어야할때!
머신러닝의 학습과정
- 문제 정의/요구 사항 분석
- 데이터 수집(공개데이터, 크롤링, 설문조사 등)
- 데이터 전처리(특성공학)
- 데이터 분석(시각화)
- 모델 선택(머신러닝, 딥러닝, 강화학습 등)
- 모델 학습(Training)
- 모델 평가(오차, R2, 정확도, F1, entropy 등)
- 예측/추론/인식 등 인공지능
다음 포스팅에서부터는 일반화, 과대적합, 과소적합 등에 대해 서술하겠다.
'코딩공부 > 머신러닝 & 딥러닝' 카테고리의 다른 글
[스마트인재개발원] 근본중의 근본) iris 데이터를 활용한 KNN 분류실습 (0) | 2021.12.08 |
---|---|
[스마트인재개발원] Kaggle 경진대회 (스압주의) (0) | 2021.12.06 |
[스마트인재개발원] 머신러닝을 통한 Kaggle 데이터 분석하기 (0) | 2021.11.29 |
[스마트인재개발원] Machine Learning - KNN 알고리즘(실습과 함께) (0) | 2021.11.24 |
[스마트인재개발원] Machine Learning - 일반화, 과대적합, 과소적합 (0) | 2021.11.24 |