"Python 라이브러리를 활용한 인공지능"의 두 판 사이의 차이
라이언의 꿀팁백과
85번째 줄: | 85번째 줄: | ||
# 강화 학습 | # 강화 학습 | ||
===== 지도학습(Supervised Learning) ===== | ===== '''지도학습(Supervised Learning)''' ===== | ||
지도학습에는 알고리즘에 주입하는 훈련 데이터에 레이블(label)이라는 원하는 답을 포함. 분류(classification)가 전형적인 지도 학습이며, 스팸 필터가 좋은 예. | 지도학습에는 알고리즘에 주입하는 훈련 데이터에 레이블(label)이라는 원하는 답을 포함. 분류(classification)가 전형적인 지도 학습이며, 스팸 필터가 좋은 예. 또 다른 전형적인 작업은 '''예측 변수(predictor variable)'''라 부르는 '''특성(feature''' '''/ 주행거리, 연식, 브랜드 등)'''을 사용해 중고차 가격 같은 '''타깃(target)''' 수치를 예측하는 것이 있음. 이런 종류의 작업을 '''회귀(regression)'''라고 부름. 지도학습을 활용하려면 예측 변수와 레이블(중고차 가격이) 포함된 중고차 데이터가 많이 필요함 | ||
또 다른 전형적인 작업은 '''예측 변수(predictor variable)'''라 부르는 '''특성(feature''' '''/ 주행거리, 연식, 브랜드 등)'''을 사용해 중고차 가격 같은 '''타깃(target)''' 수치를 예측하는 것이 있음. 이런 종류의 작업을 '''회귀(regression)'''라고 부름. 지도학습을 활용하려면 예측 변수와 레이블(중고차 가격이) 포함된 중고차 데이터가 많이 필요함 | |||
== 강의 == | == 강의 == |
2022년 8월 8일 (월) 11:37 판
1 개요
올해는 머신러닝 쪽 관련 지식을 함양하고자 한다. 이러한 노력의 일환으로 회사에서 보내주는 외부연수로 아래 강의를 수강했다.
강좌명 | 교육기간 | 교육장소 | 기타 |
---|---|---|---|
Python 라이브러리를 활용한 인공지능 | 2022.8.8 ~ 2022.8.12 | 한국생산성본부 8층 803호 | - 강사명 : 박성백 (sungback@naver.com / 010-8711-7982) ← 평생 A/S 가능
- 수강자 : 10명 (오프라인 7명, 온라인 3명) - 교 재 : <Hands-On Machine Learning with Scikit-Learn Keras & TensorFlow> |
2 교육과정
이번에 내가 수강하는 과정은 아래와 같이 총 5일, 35시간 동안 머신러닝 중 딥러닝에 대해 학습하는 과정이다.
3 책
도서를 읽으며 학습한 내용을 아래에 간략히 정리했다.
3.1 필요한 기술
이 책을 읽으려면 아래 기술과 친숙해야 한다.
- 넘파이(Numpy) https://numpy.org/
- 판다스(Pandas) https://pandas.pydata.org/
- 맷플롯립(Matplotlib) https://matplotlib.org/
앞에 있는 파이썬의 과학 라이브러리(3종)를 학습하려면 아래 링크를 참고하자.
- 넘파이(Numpy)https://github.com/rickiepark/handson-ml2/blob/master/tools_numpy.ipynb
- 판다스(Pandas) https://github.com/rickiepark/handson-ml2/blob/master/tools_pandas.ipynb
- 맷플롯립(Matplotlib) https://github.com/rickiepark/handson-ml2/blob/master/tools_matplotlib.ipynb
파이썬을 잘 모른다면 아래 두 링크에서 학습하면 좋다.
케라스 관련해서는 <케라스 창시자에게 배우는 딥러닝>이라는 책이 번역이 잘 되었다고 한다.
3.2 파이썬 관련 인공지능 프레임워크
- 사이킷런(Scikit-Learn) https://scikit-learn.org/ - 사용법이 쉽고 많은 머신러닝 알고리즘이 효율적으로 구현되어 있으므로 머신러닝을 처음 배울 때 사용하기 아주 좋음. 2007년 데이빗 쿠르나포(David Cournapeau)가 개발했고 현재 Inria(French Institute for Research in Computer Science and Automation)의 연구팀이 이끌고 있음
- 텐서플로(TensorFlow) https://www.tensorflow.org/ - 분산 수치 계산을 위한 매우 복잡한 라이브러리. 수백 대의 다중 그래픽 처리 장치(GPU) 서버에 계산을 분산하여 대규모 신경망을 효과적으로 훈련하고 실행시킴. 구글에서 만들었고 구글의 대규모 머신러닝 애플리케이션에서 사용하고 있음. 2015년 11월에 오픈 소스로 공개되었고 2019년 9월 2.0 버전이 릴리스 됨.
- 케라스(Keras) https://keras.io/ - 고수준 딥러닝 API. 매우 쉽게 신경망을 훈련하고 실행 가능. 케라스는 텐서플로, 시애노(Theano), 마이크로소프트 코그니티브 툴킷(Microsoft Cognitive Toolkit) 위에서 작동. 텐서플로는 자체적인 케라스 API 구현을 tf.keras란 이름으로 포함. tf.keras는 텐서플로의 고급기능을 지원함. (예: 효율적인 데이터 적재 기능 등)
3.3 머신러닝 정의
머신러닝은 데이터에서부터 학습하도록 컴퓨터를 프로그래밍하는 과학(또는 예술)이다. 조금 더 일반적인 정의는 다음과 같다.
- [머신러닝은] 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야다. (아서 새뮤얼 Arthur Samuel, 1959)
- 어떤 작업 T에 대한 컴퓨터 프로그램의 성능을 P로 측정했을 때 경험 E로 인해 성능이 향상됐다면, 이 컴퓨터 프로그램은 작업 T와 성능 측정 P에 대해 경험 E로 학습한 것이다. (톰 미첼 Tom Michell, 1997)
3.4 머신러닝 용도
- 기존 솔루션으로는 많은 수동 조정과 규칙이 필요한 문제: 하나의 머신러닝 모델이 코드를 간단하게 만들고 전통적인 방법보다 더 잘 수행하도록 할 수 있음
- 전통적인 방법으로는 해결 방법이 없는 복잡한 문제: 가장 뛰어난 머신러닝 기법으로 해결 방법을 찾을 수 있음
- 유동적인 환경: 머신러닝 시스템은 새로운 데이터에 적응할 수 있음
- 복잡한 문제와 대량의 데이터에서 통찰 얻기
3.5 머신러닝 시스템의 종류
머신러닝 시스템의 종류는 굉장히 많으므로 넓은 범주에서 분류하면 도움이 된다.
- 사람의 감독하에 훈련하는 것인지 그렇지 않은 것인지 (지도, 비지도, 준지도, 강화 학습)
- 실시간으로 점진적인 학습을 하는지 아닌지 (온라인 학습과 배치 학습)
- 단순하게 알고 있는 데이터 포인트와 새 데이터 포인트를 비교하는 것인지 아니면 과학자들이 하는 것처럼 훈련 데이터셋에서 패턴을 발견하여 예측 모델을 만드는지 (사례 기반 학습과 모델 기반 학습)
3.5.1 지도 학습과 비지도 학습
머신러닝 시스템을 '학습하는 동안 감독의 형태나 정보량'에 따라 분류할 수 있으며 아래 네 가지 종류가 있음.
- 지도 학습
- 비지도 학습
- 준지도 학습
- 강화 학습
3.5.1.1 지도학습(Supervised Learning)
지도학습에는 알고리즘에 주입하는 훈련 데이터에 레이블(label)이라는 원하는 답을 포함. 분류(classification)가 전형적인 지도 학습이며, 스팸 필터가 좋은 예. 또 다른 전형적인 작업은 예측 변수(predictor variable)라 부르는 특성(feature / 주행거리, 연식, 브랜드 등)을 사용해 중고차 가격 같은 타깃(target) 수치를 예측하는 것이 있음. 이런 종류의 작업을 회귀(regression)라고 부름. 지도학습을 활용하려면 예측 변수와 레이블(중고차 가격이) 포함된 중고차 데이터가 많이 필요함
4 강의
총 5일 동안 교육한 내용을 아래에 간략히 정리했다.
4.1 1일차
- 인공지능 관련 지루한 설명을 들었다.
- 파일 공유를 위한 주소(https://tinyurl.com/ai220808)를 공유 받았다.
- 인공지능 공식을 간략히 소개하면 y=Wx 의 행렬곱이다.
- W 는 가중치(weight)를 의미한다.
- 강사님이 딥러닝은 인간의 뇌를 모방했다면서 "유재석" 얘기를 했는데 앞에 앉아 있는 어떤 학생이 유재석이 나오는 <유퀴즈 온 더 블록>을 보고 있어서 어이 없었다.
4.2 2일차
업데이트 예정
4.3 3일차
업데이트 예정
4.4 4일차
업데이트 예정
4.5 5일차
업데이트 예정
5 참고자료
- 정오표 https://tensorflow.blog/handson-ml2/
- 유튜브 강의 https://bit.ly/homl2-youtube/
- GitHub Repository https://github.com/rickiepark/handson-ml2