*모두를 위한 머신러닝 링크:

=> https://hunkim.github.io/ml



*머신러닝과 Traditional Programming의 차이는?

(ML) Data + Output => Computer => Programming

(Traditional) Data + Programming => Computer => Output


*기계학습의 핵심 :
"일반화된 규칙을 통해 미래를 예측할 수 있다!!"


*머신러닝의 알고리즘 유형 :


1. 지도학습(Supervised Learning) : 답이 달려있는 상태에서 학습을 하는 것

2. 자율학습 - 비지도학습(Unsupervised Learning) : 답이 없는 상태에서 학습을 하는데...Data들을 잘 설명해주는 변수 (군집 분산 - Clustering OR 축소해봤더니 Insight를 주더라...)

3. 준지도학습(Semi-Supervised Learning) : 데이터 100만건 중에 10만건에 답이 있다. 이 상태에서 학습을 시킴. 목표값이 표시된 데이터와 표시되지 않은 데이터를 모두 훈련에 사용하는 것을 말함

4. 강화학습(Reinforcement Learning) : 

어떤 환경을 탐색하는 에이젼트가 현재의 상태를 인식하여 어떤 행동을 취한다면 그 에이젼트는 환경으로부터 포상을 얻게 됨.

포상은 음수와 양수 둘 다 가능하며, 강화 학습 알고리즘은 그 에이전트가 앞으로 누적될 포상을 최대화하는 일련의 행동으로 정의되는 정책을 찾는 방법


=> 요즘 학자들은 비지도 학습강화 학습에 집중하고 있음...




*접근 방법별 알고리즘 :

1) 결정트리 학습법(Decision Tree)

2) 연관규칙 학습법(Association Rule)

3) 인공신경망(Artificial Neural Network)

4) 유전계획법

5) 귀납 논리 계획법

6) 서포트 벡터 머신

7) 클러스터링

8) 베이즈 네트워크

9) 강화학습법

10) 표현학습법

11) 동일성 계측 학습법 등...



*(Supervised Learning) 지도학습의 예 : 


- 공부한 시간 대비 시험 점수를 예측 (공부를 많이하면 점수가 올라간다, 날씨가 추워지면 따뜻한 커피가 많이 팔린다) 

=> regression


- 공부한 시간 대비 시험의 합격/불합격 여부 

=> binary classification


- 공부한 시간 대비 (A,B,C,D,F) 학점 

=> multi-label classification, multi-nominal classification, softmax classification


- 라벨링 된 데이터에 대한 예측 (이미지를 학습시키는...확률값이 output으로 나온다)


*X와 Y를 잘 Define 해야 한다 : 

Y(숫자) : Linear Regression으로 풀 수 있다

Y(숫자X) : 2중 하나 : Pass/Fail, Female/Male -> Logistic Regression으로 풀 수 있다

              2개 이상 : A/B/C, 고양이/강아지/모자 와 같은 데이터(숫자가 아닌 nominal data) -> Softmax Classification으로 풀 수 있다




*기계학습의 절차 : 

- Dataset을 확보한다(DB Table 또는 CSV 파일) 

- Y를 구분한다(결과변수, 응답변수, 종속변수, 표적변수 등...)


*기계학습 세부절차

1) Business 이해(Biz Objective 정의, 환경/상황분석, 분석의 목표 설정)

2) Data 이해(원시데이터 확보, Describe Data, Explore Data)

3) Data Preparation(데이터 정제)

4) Modeling(모델링 기법 선택, Test 설계, 모델 구축)

5) Evaluation(결과 평가)

6) Deployment(Deploy, Report & Review)


=> 2번->4번 을 결과자 잘 나올 때 까지 무한반복한다




*Deep Learning : 

- 여러 비선형 변환 기법의 조합을 통해 높은 수준의 추상화를 시도하는 기계학습 알고리즘의 집합

- 사람의 사고 방식을 컴퓨터에게 가르치는 기계학습의 한 분야

- 1940년대의 인공신경망의 변형 분야


1. 인공 지능과 인공지능 연구의 역사 :


- Environment =? cybernetics(1920-1950)

- Mind(= computer) => Symbolic AI(1950- 1980)

- Brain => Neural Nets(ML) (1980-2010)

- Body=>embodied mind, mind machine => Autonomous Robots(2010~`)


Symbolic AI vs Machine Learning

(기호.논리)       연결성(Neural Network)

                     ML에서 성능을 내기 위한 Source는 Big Data + 좋은 H/W 성능

                     이 필요하다.


*인공지능의 발전 :

Mind: Symbolic AI 

- 1997년 IBM Chess machine Deep Blue

- chatbots(Cornell Univ)


Body : Physical AI

- Humanoid Robot Nao

- Personal Robot PR2(willow Garage)

- Robot roommate shopping for and preparing bavarian breakfast

- Delivery Robots Bots


Embodied Mind

- Smart Speakers


AI가 왜 갑자기 Hot하게 됐는가?
- Machine Learning 알고리즘들이 학자들에 의해 잘 정립이 되었고

- Big Data와 Computing Power(H/W)가 맞물리면서 급속도로 발전하게됨


CNN 기반 얼굴인식 시스템이 지배적이다(?)




2. Deep Learning

모라벡의 역설(Moravec's Paradox)


- 인공지능. 로봇공학 연구자에 따르면 고등 추론에는 연산 능력이 거의 필요 없는 반면,

- 낮은 수준의 감각운동 기능은 엄청난 연산 자원이 필요.

- "어려운 문제는 쉽고 쉬운 문제는 어렵다"


*Deep Learning 의 활용

- Youtube 자동 음석 번역

- Netflix의 영화추천

- Facebook의 feed 추천

- 알파고

- 구글의 검색 결과


*CNN

- 물체들을 추상화하는 과정을 거친다


*RNN :
관련알고리즘 : LSTM, GRU

Image Narration using LSTM

자연어처리에도 많이 사용한다.



+ Recent posts