728x90
인공지능(Artificial Intelligence, AI)
- 머신러닝과 딥러닝을 포괄하는 종합적인 분야
- 보통의 사람이 수행하는 지능적인 작업을 자동화하기 위한 연구하는 기술 또는 과학
- 파이토치가 좋다. 연구하는 사람들이 파이토치에 업로드한다.
- 손으로 쓴 숫자 “8”을 컴퓨터가 인식하게 하려면 어떤 코드(규칙)가 필요할까?
- "구멍이 2개이고 중간 부분이 홀쭉하며, 맨 위와 아래가 둥근 모양이 라면 8이다…"
- 많은 규칙이 필요하고, 유지보수가 어려움
- 이를 대체하기 위한 새로운 방법인 머신러닝이 등장
머신러닝(Machine Learning)
- 데이터로부터 규칙을 학습하여 정답을 예측 할 수 있도록 하는 알고리즘을 개발하는 연구 분야
예전 전통적인 프로그래밍을 보면 개발자가 데이터의 규칙을 찾아서 정답을 도출해내는 것이었다.
그러나 요즘 데이터와 정답만을 가지고 머신러닝이 규칙을 찾아내준다.
이러한 방식은 기존의 틀을 깨는 획기적인 방법이다.
어플리케이션 사례
- 이미지 분류 작업
- 생산 라인에서 제품 이미지를 분석해 자동으로 분류
- 텍스트 분류(자연어 처리)
- 자동으로 뉴스 기사 분류
- 토론 포럼에서 부정적인 코멘트를 자동으로 구분
- 텍스트 요약
- 긴 문서를 자동으로 요약
- 자연어 이해
- 챗봇(chatbot) 또는 개인 비서 만들기
- 회귀분석 (시계열 데이터)
- 회사의 내년도 수익을 예측, 주식가격 예측, 전기사용량 예측, 농산물 가격 예측
- 음성 인식
- 음성 명령에 반응하는 앱
- 이상치 탐지
- 신용 카드 부정 거래 감지
- 군집 작업
- 구매 이력을 기반으로 고객을 나누고 각 집합마다 다른 마케팅 전략을 계획
- 추천 시스템
- 과거 구매 이력을 기반으로 고객이 관심을 가질 수 있는 상품 추천하기
머신러닝 종류
- 지도학습
- 모델에 주입하는 데이터에 입력값(특성)과 출력값(정답)을 같이 넣어 학습시키는 방식
- 분류(Classification)
- binary(암이냐 아니냐), multi-class(여러 가지 중고양이 이미지 맞추기) , multi-label(여러가지 중 고양이냐 개냐 여러개를 구분 하는 것)
- 회귀(Regression)
- 비지도학습
- 정답이 없는 데이터를 학습하는 방식
- 군집화(Clustering) , 차원축소(Dimensionality reduction) , 연관규칙(Association rule learning)
연관규칙은 잘 사용하지 않는다!
머신러닝 작동방식
- 손실을 최소화하는 모델의 매개변수(parameter)를 찾는다.
이 그림과 같이 머신러닝은 결국 학습결과를 작게 만들도록하는 것이다.
회귀 모델 예시
- b를 넣어야 원점에서 시작을 안해서 오차값을 줄일 수 있다.
머신러닝 워크플로우(Workflow)
- test데이터는 모르는 데이터라 생각해야한다.
- 내부적으로 검증 데이터와 테스트 데이터를 분리하여 만든다.
- 마지막에 성능이 좋다고 생각되면 test set에 적용해본다.
- training set과 validation의 비율은 8:2가 일반적이다.
이것은 머신러닝을 실제로 구현해보면 이해가 바로 될 것이다.
일단 위 방식을 이해하고, 암기하는 것도 좋다.
머신러닝 기본용어
- Feature, 독립변수, 설명변수
- 학습데이터의 특성
- class, label , target , 종속변수
- 정답데이터
- Parameter
- 모델이 학습과정에서 업데이트하는 파라미터
- Hyper parameter
- 사용자가 직접 세팅해주는 파라미터
- Loss, 손실
- 정답값과 예측값의 오차를 표현하는 지표
- Metric , 평가지표
- 모델의 성능을 평가할 때 사용하는 지표
위 용어들은 익숙해지도록 자주 사용하는게 좋다.
머신러닝 주요 이슈
- 과적합 문제 (과소적합, 과대적합) 제일 중요!
- 정답이 있는 대량 데이터 필요
- 예측 결과의 설명력 부족
- 기존 학습 모델의 재사용 어려움 (금융 -> 법률 불가!)
- 모델 성능 약화 (새로운 데이터가 들어올 수록 못 맞춘다. 시대가 변하기 때문에 재학습 필요!)
- 데이터 유출(Data leakage) (실제로 사용할 수 없는 것)
위의 이슈에서 가장 중요한 것은 과적합문제이다.
과대적합이 되면 실제 데이터를 못 맞출 수 있다.
오늘은 머신러닝을 구현해보았는데 간단한 것으로 구현해서 이해하기 쉬웠다.
내일은 어려운 것을 한다는데 집중을 잘해야겠다!
728x90
'AI 공부 > 머신러닝' 카테고리의 다른 글
(머신러닝) 머신러닝 모델 (2) | 2022.09.13 |
---|---|
(머신러닝) sklearn (0) | 2022.09.11 |
(머신러닝) 교차검증과 과적합 (0) | 2022.09.07 |
(머신러닝) 결측치 및 스케일링 (0) | 2022.09.07 |
(머신러닝) 성능측정 (0) | 2022.09.06 |
댓글