티스토리 뷰

▶머신러닝(Machine Learning)

우선 가장 큰 분류인 인공지능은 인공(Artificial) + 지능(Intelligence)을 합친 용어가 되겠습니다.
우리 일상생활에서는 과거 로봇 청소기, 과거 일반적인 게임에서 찾을 수 있습니다.
이들의 특징은 학습을 하지 않는다는 것입니다.
그 다음 분류인 머신러닝은 학습(Learning)하는 기계(Machine)이라는 뜻으로 Decision Tree, SVM 등이 있습니다.
그 다음으로 딥러닝은 깊은(deep) 신경망 구조의 머신러닝으로 MLP, CNN, RNN 등이 있습니다.
1) 배경
과거 컴퓨터로 데이터를 읽어 들이고 그 데이터 안에서 특징을 학습해서 패턴을 찾아내는 작업 즉 패턴 인식을 해왔었습니다.
데이터를 대량으로 수집 및 처리할 수 있는 환경이 갖춰짐으로 할 수 있는 일이 많아졌습니다.
이로써 머신러닝은 데이터로부터 특징이나 패턴을 찾아내는 것이기 때문에 데이터가 가장 중요하다고 할 수 있습니다.
2) 정의
기계학습 또는 머신러닝은 인공지능의 한 분야로, 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야입니다.
무엇(x)로부터 무엇(y)을 예측하는 것을 말합니다.
주어진 데이터를 통해서 입력변수(x)와 출력변수(y)간의 관계를 만드는 함수 f를 만드는 것이라고 할 수 있습니다.
▶머신러닝으로 할 수 있는 것
1) 회귀(Regression)
시계열(시각적인 변화를 연속적으로 관측한 데이터) 같은 데이터를 취급할 때 사용하는 기법입니다.
2) 분류(Classification)
주어진 데이터를 클래스 별로 구별해 내는 과정으로 데이터와 데이터의 레이블 값을 학습시키고 어느 범주에 속한 데이터인지 판단하고 예측하는 기법입니다.
3) 클러스터링(Clustering)
분류와 비슷하지만 데이터의 레이블(정답 데이터)가 없습니다.
유사한 속성들을 갖는 데이터를 일정한 수의 군집으로 그룹핑하는 비지도 학습입니다.
▶학습
1) 지도 학습
y = f(x)에 대하여 입력 변수(x)와 출력 변수(y)의 관계를 모델링하는 것입니다.
y에 대하여 예측 또는 분류하는 문제로써 레이블(출력 변수)이 주어집니다.
2) 비지도 학습
출력변수(y)가 존재하지 않고, 입력 변수(x) 간의 관계에 대해 모델링하는 것입니다.
3) 강화 학습
수 많은 시뮬레이션을 통해 현재의 선택이 먼 미래의 보상이 최대가 되도록 학습하는 것입니다.
▶머신러닝의 종류
1) 선형회귀분석
'독립변수(x)와 종속변수(y)가 선형적인 관계가 있다'라는 가정하에 분석하는 기법입니다.
직선을 통해 종속변수(y)를 예측하기 때문에 독립변수(x)의 중요도와 영향력을 파악하기 쉽습니다.

2) 의사결정나무
독립변수(x)의 조건에 따라 종속변수
(y)를 분리하는 기법입니다.
이해하기 쉽다는 특징을 가지지만 overfitting이 잘 일어난다는 단점이 있습니다.

3) KNN
새로 들어온 데이터의 주변 k개의 데이터로 class를 분류하는 기법입니다.

4) Neural Network
입력, 은닉, 출력층으로 구성된 모형으로서 각 층을 연결하는 노드의 가중치를 업데이트하면서 학습시키는 기법입니다.

5) SVM(Suport Vector Machine)
class간의 거리가 최대가 되도록 decision boundary를 만드는 기법입니다.
아래 사진을 보면 파란색 선과 빨간색 선 둘다 decision boundary가 될 수 있지만, margin이 최대화되는 선은 파란색 선이기 때문에 파란색 선을 택하게 됩니다.

6) Ensemble
여러 개의 모델을 결합하여 사용하는 모델입니다.
일을 나눠 여럿이서 작업해서 마지막에 합해서 모델링을 하는 것이라고 봐도 되겠습니다.

▶데이터 분석과정
크게 보면 raw 데이터 → 전처리 된 데이터 → 실험설계 → 모델 순으로 볼 수 있겠습니다.
가장 중요한 점은 모델의 성능을 높이려면 데이터를 잘 만들어야 합니다.
다시말해 데이터가 좋지 못하면 학습도 잘못되고 모델링도 잘못 되게 됩니다.


여기까지 머신러닝의 개념에 대해 알아보았습니다 :)
'빅데이터 인공지능 > 머신러닝' 카테고리의 다른 글
[머신러닝] ⑥ 회귀(Regression) 분석 A to Z (0) | 2022.08.12 |
---|---|
[머신러닝] ⑤ 파이썬 파이토치(Pytorch) (0) | 2022.08.11 |
[머신러닝] ④ 파이썬 텐서플로우(TensorFlow) (0) | 2022.08.11 |
[머신러닝] ③ 타이타닉 데이터셋 실습 (0) | 2022.08.04 |
[머신러닝] ② 사이킷런 모듈 (0) | 2022.08.02 |
- Total
- Today
- Yesterday
- jest
- 프론트엔드 기초
- react
- 파이썬
- 자바
- 데이터분석
- 디프만
- TypeScript
- rtl
- 리액트 훅
- 자바스크립트 기초
- Python
- CSS
- 인프런
- next.js
- 자바스크립트
- testing
- frontend
- 스타일 컴포넌트 styled-components
- styled-components
- 프로젝트 회고
- 프론트엔드
- 타입스크립트
- JSP
- 프론트엔드 공부
- react-query
- 머신러닝
- 리액트
- HTML
- 딥러닝
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |