[ 인공지능입문랩 ] SEOPT ( Study on the Elements Of Python and Tensorflow ) <1 회차 > 인공지능 + 데이터분석목적 / 방법 / 기법 / 도구 + Python Programming 기초 + NumpyArray(Tensor) youngdocseo@gmail.com 1
*3 시간 / 회 구분일자내용비고 1 회 0309 2 회 0323 3 회 0406 4 회 0420 5 회 0511 번외 일정 0. 인공지능 + 데이터분석목적 / 방법 / 기법 / 도구 1. Python Programming 기초 + NumpyArray(Tensor) 2. Tensorflow 를이용한 시행착오적 회귀분석 (Tensorflow 를사용하는이유 ) 3. Tensorflow 를이용한신경망 ( 은닉층없음 ) - MNIST ( 신경망기초 ) 4. Tensorflow 를이용한신경망 ( 은닉층있음 ) - MNIST ( 딥러닝예제 through CNN) 5. Keras 를이용한신경망 ( 은닉층있음 ) - IMDB ( 딥러닝고려사항및실행과정 ) 6. RNN, LSTM: 재귀신경망 7. AutoEncoder, GAN: 생성모델 8. DQN: 강화학습 8. SVM, DecisionTree, RandomForest: 주요머신러닝 0525 최종데모발표 ( 다음기수실전랩쇼핑 ) 중간보고지만우리는공부 2
0. 인공지능이란 1. ( 데이터분석 + 의사결정 ) 의 자동화 2. (Input, Output) Function/Rule 참고 : <Excel> Input + Function/Rule Output Input Function Excel Output X = 2 2X+3 = Y Y = 7 VS Input Output 인공지능 Function X = 2 Y = 7 2X+3 = Y 사실은통계분석도이것! 인공지능은통계분석 / 데이터분석의 시뮬레이션 일뿐일지도. 3
[ 참고 ] 수학 vs 데이터분석 자료수학데이터분석 WW 1 + bb = 5 WW 2 + bb = 7 WW = 2, bb = 3 WW = 2, bb = 3 WW 1 + bb = 5 답은무수히많다 WW = 0, bb = 5 WW 1 + bb = 5 WW 2 + bb = 7 WW 3 + bb = 10 답은없다 WW = 2.5, bb = 2.3 HOW? WHY? 오차 = (5 1WW + bb) 2 +(7 1WW + bb) 2 +(10 1WW + bb) 2 를최소화하는 WW 와 bb 1 WW + bb + = 5 2 WW + bb + = 7 3 WW + bb + = 10 4
인공지능 데이터분석 When you re fundraising, its AI( 인공지능 ). When you re hiring, it s ML( 머신러닝 ). When you re implementing, it s linear regression( 회귀분석 ). - Baron Schwartz @xaprb AI is just an acronym for linear regression. https://towardsdatascience.com/no-machine-learning-is-not-just-glorifiedstatistics-26d3952234e3 - Sean Gies @seangies 5
데이터분석목적 [ 정확성 ] 설명 ( 력 ) vs 예측 ( 력 ) 최적화 일반화 Overfitting 문제 ( 예측을위한 대충적 설명 : 일반화를위한최적화의일부포기 ) Y? X 예측력 ( 목적 ) under fitting 설명력 예측력 설명력 vs 예측력 over fitting 문제는 이런형태일것이라는것만알지가장높은예측력을위한최적설명력을알수없다는것. 설명력 ( 도구 ) 6
데이터분석방법 통계인공지능 SPSS 등 Tensorflow 등 통계적추론 (by 확률이론 ) 시행착오 (by 프로그래밍 ) 확률적정답 최선의어림짐작 (heuristics) 유의성체크가능 유의성체크불가능 가정을만족해야함 가정이필요없음 너무복잡하면불가능 많이복잡해도가능 2XX + 3 = 23 ln(2xx) + 3XX = 33 코페르니쿠스의지동설 프톨레마이오스의천동설 통계의장점인 통계적추론에의한확률적정답 과 유의성체크 가중요할까? 학문적으로는그러하겠지만현실실용적으로는그장점의가치는별로. ( 사실, 학문적으로도그장점의가치는갈수록퇴색할듯. 어차피 임의적 이었으니 ) 인공지능은통계학과달리확률이론을몰라도된다. 추론이아니라시행착오이기때문에. 그러므로통계부분도 ( 추정통계학은필요없고 ) 기술통계 ( 평균등 ) 만알면된다. ( 물론통계학을이미알고있는사람은인공지능을더쉽게이해할수있다.) 다만컴퓨터프로그래밍 ( 코딩 ) 능력이필요하다. 즉, 통계가쉬운가인공지능이쉬운가는확률이쉬운가코딩이쉬운가에의해결정된다. 7
X( 독립변수 / 원인 ) 와 Y( 종속변수 / 결과 / 타깃 / 레이블 ) 모두존재 [ 지도학습 ] 예측 ( 인과 ) 역추적 Bayes theorem ( 베이지안 ) Regression ( 회귀분석 ) Y: metric Logistic Regression ( 로지스틱회귀분석 ) Y: nonmetric 데이터분석기법 구분을예측 X, Y 모두존재 [ 지도학습 ] 분류 Support Vector Machine (SVM) Discriminant ( 판별분석 ) Y: nonmetric Y: nonmetric Decision Tree ( 결정트리 ) 속성중심 X 만존재 [ 비지도학습 ] 구분 Clustering, Factoring ( 군집분석, 요인분석 ) 유사도중심 8
데이터분석도구 import Programming Language Python JAVA, C++, import Programming Language Package? Library? Framework? Artificial Intelligence Package? Library? Framework? NumPy matplotlib Tensorflow pandas SciPy Keras PyTorch Programming Code Editor 구글 Colaboratory Jupyter Notebook Anaconda (Library Management) PyCharm Artificial Intelligence Method? CNN GAN RNN DQN 9
인공지능구현방법 Keras 로구현 - AI 활용? - higher-level, more intuitive set of abstractions Keras AI interface library Keras : Tensorflow = JQuery : javascript? Pytorch Tensorflow 로구현 - AI 응용? - Tensorflow AI function library Python 으로모든코드구현 - AI 개발? - Python 10
인공지능개념구분 인공지능 지능적인요소가포함된기술 머신러닝 데이터로부터모델을찾는기법 딥러닝 심층신경망 지도학습비지도학습자기지도학습강화학습 인공지능 / 머신러닝 / 딥러닝은주로분류문제에적용되는편이고, 분야로는특히영상 / 음성인식및자연어처리에많이적용되는편임. ( 예측 / 구분은매우복잡한경우가아니면통계방법으로해결되는편임 ) 11
1. Python Programming 기초 [ Python 기본문법 ] 자료실에서 Python Programming 기초 + NumpyArray(Tensor) 다운로드할것. 일단시작하는단계이므로 Google의 Colaboratory를사용. 장기적으로필요하다고판단되면 1) Anaconda를설치하거나 2) Python, PyCharm, Tensorflow를컴퓨터에직접설치그런데어느정도학습한후많은데이터를실제적용할경우에는 GPU를사용할수있는 Google의 Colaboratory를사용해야함. 12
Google Drive > New > More > Connect more apps > colaboratory 찾기 13
Google Drive > New > More > colaboratory 실행 Code 입력후 play 버턴클릭혹은 Shift+Enter 14