대학생활/수업

게임인공지능 8주차 - Machine Learning, Python 기초

se.jeon 2023. 10. 24. 13:04
728x90
반응형

실습 환경 구축 : Python + Tensorflow

머신러닝 (Machine Learning)

명시적으로 프로그래밍을 하지 않고도 컴퓨터가 학습할 수 있는 능력을 갖게 하는 것

 

머신러닝의 사용 예

데이터 마이닝 : 클릭 기록, 의료 기록, 유전자 분석 등

작업으로 프로그래밍 할 수 없는 것들 :자율 주행, 얼굴 인식, 스팸 필터

개개인의 유저에게 최적화된 추천 알고리즘 : 아마존 (상품 추천), 넷플릭스 (영화 추천)

 

Explicit Programming의 한계 : 규칙이 많다 (Many rules)

 

지도 학습 (Surpervised learning)

- Traning set을 통해 학습

- Learning with laveled examples

 

비지도학습 (Unsupervised learning)

- Un-labeled data

- 구글 뉴스 분류 (grouping)

- Word clustering

 

강화 학습 (Reinforcement learning)

Atari 벽돌깨기 게임을 하는 Google DeepMind의 Deep Q-learning

https://youtu.be/V1eYniJ0Rnk?si=ODxIjCzPU3FlMXUQ

지도 학습 (Surpervised learning)

알고리즘에게 정확한 답의 데이터 세트를 준다는 데에서 유래

연속적인 값을 예측하는 문제인 '회귀문제(Regression Problem)'

머신러닝에서 적용되는 문제 유형 (예)

- Image labelling : learning from tagged images
- Email spam filter : learning from labeled (spam or ham) email
- Predicting exam score : learning from previous exam score and time spent

 

Training data : 모델 학습에 사용되는 데이터

Validation data : 학습을 할 때 튜닝이 필요한 parameter들을 최적화 하기 위해 사용

Test data : 학습된 모델을 검증하기 위해 사용

 

머신러닝 프로세스

- Data collection

- Feature selection

- Algorithm choice

- Training

- Evaluation

 

머신러닝 알고리즘의 정확도

- Supervised classification : unseen 데이터에 대한 정확도 (accuracy)

- Unsupervised classification : 군집화된 데이터에 대한 검증

   - Internal evaluation : 같은 클러스터에 있는 데이터의 유사도는 높고,

                                      다른 클러스터에 있는 데이터의 유사도는 낮은지에 대한 검증
   - External evaluation : 정답(Gold standard)이라고 부를 수 있는 외부의 라벨을 이용하여 클러스터를 검증

 

- Training data : 모델 학습에 사용되는 데이터
- Validation data : 학습을 할 때 튜닝이 필요한 parameter들을 최적화하기 위해 사용
- Test data : 학습된 모델을 검증하기 위해 사용

파이썬

구글에서 만든 소프트웨어의 50% 이상이 파이썬

인스타그램, 드롭박스 등...

 

파이썬 언어의 특징

-  Interpreter language supporting Object-oriented
-  Dynamic data type determination
-  Platform independent language
-  Simple and easy
-  High-level internal object data structure
-  Automatic memory management
-  Easy module-based coding
-  A lot of libraries support
-  Extending and Embedding
-  Many supported tools : IDLE, Pycharm, Jupyter Notebook, Jupyter Lab

- Free

 

파이썬 환경 셋업

https://www.python.org/

 

Welcome to Python.org

The official home of the Python Programming Language

www.python.org

Python & IDLE 설치

Step 1. Homepage 접속
Step 2. Python 다운로드
- Python 홈페이지에서 [Downloads]-[Windows] 메뉴를 차례대로 선택합니다.
- Stable Releases에서 Install 프로그램을 다운로드합니다.
- 다운로드 시 컴퓨터사양에 따라 32-bit용 또는 64-bit용 설치 파일 중 하나를 선택하여 다운로드합니다.
- 다운로드 한 Python installer를 실행하여 Python을 설치합니다.
Step 3. IDLE 프로그램을 실행합니다.
Step 4. Python 설치 확인

 

Visual Studio Code (다양한 프로그래밍언어를 지원함)
Step 1. Visual Studio Code 홈페이지 접속 : https://code.visualstudio.com/
Step 2. 프로그램 다운로드
- VS code 홈페이지에서 [Download for Windows] 버튼을 클릭합니다.
- 다운로드한 Setup 프로그램을 실행합니다.
Step 3. VSCode 프로그램을 실행합니다.
Step 4. VSCode에서 Python extension을 설치합니다.

Ctrl + Shift + P를 이용하여 인터프리터 지정 가능

 

Python 기초

for i in range(2) :
    name = input ("What's your name ? ")
    print(name)
a = 100
b = 5
c = a * b
print(c)

 

기초 문법

- 주석문 : #

- 블록 : ":"과 들여쓰기로 구분

- 치환문 : 이름 = 값

- 확장 치환문 : +=, -=, *=, /=

- 객체 치환 : x = [1, 2, 3]

- Data type : 숫자, 문자열

- 변수 : C/C++과 사용법이 비슷/ 변수 타입 선언할 필요 없음

 

- 사칙연산 : C/C++과 동일, 문자열에도 사용 가능, 서로 다른 타입의 연산은 사용 안됨

- 캐스팅 연산 : 형변환 연산

- 논리 연산 : and, or. not

 

728x90
반응형