본문 바로가기

인공지능/머신러닝

[머신러닝ML] 머신러닝이란?

~ 목차 ~

 
 

목차

1. 머신러닝이란?

2. 머신러닝의 학습 프로세스와 종류

3. 머신러닝 환경 구축하기

 

 


 

 

머신러닝이란? 

 

 

머신러닝(ML)

 

알고리즘(algorithms) : 어떠한 문제를 해결하기 위한 일련의 절차나 방법

머신러닝(machinelearning) : 기계가 패턴(규칙)을 학습하여 자동화하는 알고리즘

 EX) 유튜브 : 개인이 유튜브 영상을 보는 패턴에 대해 학습하는 프로그램(머신러닝)을 만든 다음
 그 패턴(알고리즘)에 맞게 다음 영상을 계속 추천

EX) 구매 추천 : 인터넷쇼핑몰에서장바구니에추가한제품과비슷한 제품구매를추천 EX) 번역 : 머신러닝에전문번역가의번역을학습시켜새로운문 장을번역하게함 EX) 자율주행차 : 머신러닝 기술 중 하나인 이미지 처리 기술을 활용하여 도로상의 여러 이미지를 학습,차량에 있는 컴퓨터가 스스로 판단하여 운행 (최근에는딥러닝기술활용)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)

 

임베디드 시스템이란 무엇인가? (about Embedded System)

IT is True 블로그에 들어와 주셔서 감사합니다. 임베디드 시스템이란? 임베디드 시스템(Embedded system)은 기계나 기타 제어가 필요한 시스템에 대해 제어를 위한 특정 기능을 수행하는 컴퓨터 시스

ittrue.tistory.com

미들웨어(Middleware) 란? :: Modern Architecture Stories (tistory.com)

 

미들웨어(Middleware) 란?

미들웨어(Middleware) 란? 미들웨어는 운영 체제와 해당 운영 체제에서 실행되는 응용 프로그램 사이에 존재하는 소프트웨어 기본적으로 숨겨진 변환 계층으로 기능하는 미들웨어는 분산 응용 프

sharplee7.tistory.com

 

728x90