목차
1. 머신러닝이란?
2. 머신러닝의 학습 프로세스와 종류
3. 머신러닝 환경 구축하기
머신러닝이란?
머신러닝(ML)
▪ 알고리즘(algorithms) : 어떠한 문제를 해결하기 위한 일련의 절차나 방법
▪ 머신러닝(machinelearning) : 기계가 패턴(규칙)을 학습하여 자동화하는 알고리즘
EX) 유튜브 : 개인이 유튜브 영상을 보는 패턴에 대해 학습하는 프로그램(머신러닝)을 만든 다음
그 패턴(알고리즘)에 맞게 다음 영상을 계속 추천
▪ 4차 산업혁명 ICBM : IoT, CPS(Cloud), Blockchain, Machine learning
▪ 미들 웨어(Middleware) ;자바
- 미들웨어는 운영 체제와 해당 운영 체제에서 실행되는 응용 프로그램 사이에 존재하는 소프트웨어
- 분산 응용 프로그램의 통신 및 데이터 관리를 가능하게 함
- 데이터와 데이터베이스사이를 "파이프" 로 연결하기 때문에 배관이라고도 함
▪ 안드로이드 운영체제는 JAVA기반 프로그램
▪ 임베디드 시스템 : 주로 특정한 기능이나 작업을 수행하기 위해 설계된 작은 규모의 컴퓨터 시스템
- 임베디드 시스템(Embedded system)은 기계나 기타 제어가 필요한 시스템에 대해 제어를 위한
특정 기능을 수행하는 컴퓨터 시스템으로 장치 내에 존재하는 전자 시스템.
- 임베디드 시스템은 전체 장치의 일부분으로 구성되고 기계 또는 장치 내에 존재하기 때문에 내장형 시스템 이라고도 한다.
- 특정 목적을 수행하는 컴퓨터 시스템이므로 목적을 설정하고 이를 수행하는 프로그램 코드를 작성하여 메모리에 기록하고 이를 읽어 동작 시키는 방법이 일반적이다.
▪ 회귀모델(선형), 분류모델(구분을 잘할 수 있는 모델)
▪ pip install scikit-learn : 사이킷런 라이브러리 가장 많이 사용, 회귀 or 분류 모델 분석 시 유용
▪ 머신러닝의키워드 : 인공지능⊃머신러닝⊃딥러닝
- 머신러닝(machinelearning) : 데이터를 컴퓨터에 학습시켜 그 패턴과 규칙을 컴퓨터가 스스로 학습하도록 만드는 기술
- 머신러닝은 데이터를 분류하는 수학적 모델을 프로그래밍 하여, 데이터만 입력하면 이미 만들어진 수학모델이 규칙으로 적용되어 여러 문제를 풀 수 있음
- 딥러닝(deeplearning) : 머신러닝 기법 중 신경망(neural network)을 기반으로 사물이나 데이터를 군집화하거나 분류하는데 사용하는 기술
머신러닝의 학습 프로세스와 종류
1. 모델과 알고리즘
▪ ‘모델’은 ‘수식’이나 ‘통계분포’,
‘알고리즘’은 모델을 산출하기 위해 규정화된 과정(훈련과정= 학습)
▪ 하나의 '모델'은 다양한 알고리즘으로 표현할 수 있다.
▪ ‘알고리즘’은 하나의 ‘수식’으로 표현 가능하다.
2. 머신러닝의종류
▪ 지도학습(supervisedlearning) : 문제와 답을 함께 학습
▪ 비지도학습(unsupervisedlearning) : 조력자의 도움없이 컴퓨터 스스로 학습, 컴퓨터가 훈련 데이터를 이용하여 데이터들 간의 규칙성을 찾아냄
▪ 실제답(groundtruth) y의 존재여부에 따라 구분 ( x는 문제 , y는 정답 )
- 지도학습 : 회귀분석 예측(선형, 회귀모델, 연속형 데이터), 분류분석 예측(구분, 분류모델, 범주형 데이터)
- 비지도학습 : 군집분석(군집모델, 분류를 위해 사용되는 종류(범주형데이터), 군집 분류라고도 함)
3. 회귀
▪ 회귀(regression) : 독립변수 x와 종속변수 y의 관계를 함수식으로 설명
▪ 산점도를 추세선을 표현하는 수학적 모델을 만드는 기법
▪ 우상향 곡선 : 비례 함수
▪ 우하향 곡선 : 반비례 함수
▪ y = ax+b : a는 기울기, b는 y절편, x는 독립변수, y는 종속변수
- 직선방정식, 곡선방정식, 다차원방정식 사용
4. 분류
▪ 분류(classification) : 데이터를 어떤 기준(패턴)에 따라 나눔
▪ 이진분류(binaryclassification) : 2개의 값 중 1개를 분류
- 성별( 남 or 여)
▪ 다중분류(multi-class classification) : 3개 이상 분류 실행
- 성별( 남 or 여 or 중간 )
▪ 어느 범주인지 맞추는 작업(분류)을 해줌.
5. 군집
▪ 군집(clustering) : 기존에 모여 있던 데이터에 대해 따로 분류 기준을 주지 않고 모델이 스스로 분류 기준을 찾아 집단을 모으는 기법
▪ 비슷한 수준의 농구팀 3개 만들기
머신러닝 환경 구축하기
1. 실행된 터미널 환경에서 다음과 같은 명령어를 입력
> (base) C:\...>conda create -n gj_env_02 python=3.9
2. 해당 가상환경을 수행하는 명령어를 실행하면, 가상환경의 명칭이(base)에서 gj_env_02로 변경됨
> (base) C:\...>conda activate gj_env_02
(edu_env) C:\...>
3. 각 라이브러리 설치하기
- 머신러닝에 필요한 모듈을 설치
- 각 라이브러리들은 서로 의존성을 가지고 있기 때문에 필요에 따라서로 맞는 버전을 설치
> (gj_env_02) C:\...>pip install ...
머신러닝 실행
먼저 문제를 내주고 답을 준다음 학습하도록 한다.
1. 생선구분하기 K최근접이웃모델
: 분류분석
- 독립변수 : 길이와 무게
- 종속변수 : 도미? 빙어?
- 정답을 만들어야 한다 = 라벨링 작업(머신러닝 중 가장 오래걸리는 작업)
2. 라이브러리
- import matplotlib.pyplot as plt
3. 데이터 처리
- 빙어와 도미 데이터
- 생선의 종류를 분류(구분)하기 위한 모델 생성을 위해 독립변수와 종속변수로 데이터를 가공해야함
- 독립변수(x) : 길이, 무게
- 종속변수(y) : 생선종류(빙어 또는 도미)
< 훈련모델 처리 절차 >
1. 데이터 전처리
2. 데이터 정규화(표준화)
3. 훈련 : 검증 : 테스트 데이터로 분류 ( 또는 훈련 : 테스트 데이터로 분류)
- 6 : 2 : 2 또는 7 : 2 : 1, 데이터가 작은 경우에는 8 : 2 또는 7 : 3 정도로 분류
4. 모델 생성
5. 모델 훈련 (훈련 데이터와 검증 데이터 사용, 또는 테스트 데이터)
- 훈련(fit)
6. 모델 평가 (모델 선정, 검증데이터)
7. 하이퍼파라메터 튜닝
8. 5번~6번 진행
9. 최종 테스트 (테스트 데이터 또는 새로운 데이터로 사용)
- 예측(predict)
✨꼭 알아둬야할 단어
- 모델 훈련 : fit
- 예측 : predict
<출처>
임베디드 시스템이란 무엇인가? (about Embedded System) (tistory.com)
미들웨어(Middleware) 란? :: Modern Architecture Stories (tistory.com)
'인공지능 > 머신러닝' 카테고리의 다른 글
[머신러닝ML]모델 파일 저장 및 불러오기 (1) | 2023.12.29 |
---|---|
[머신러닝ML] 머신러닝 실습 - 다중회귀모델(Multiple Regression) (1) | 2023.12.21 |
[머신러닝ML] 머신러닝 실습 - 선형회귀모델(LR; Linear Regression Model), 다항회귀모델(곡선) (0) | 2023.12.21 |
[머신러닝ML] 머신러닝 실습 - KNN모델(회귀모델) (0) | 2023.12.21 |
[머신러닝ML]머신러닝 실습 - 생선 구분하기(K최근접이웃 모델, KNN) (2) | 2023.12.20 |