AI/DeepLearning

딥러닝 2일차

soccerda 2019. 3. 3. 11:17
반응형

DATA HANDLE

 * 추론->통계


AI 개발 플랫폼

 - Python

   * Tensorflow - 구글 딥러닝 플랫폼

   * Theano - 딥러닝 알고리즘을 파이썬으로 쉽게

     a. Keras - Theano 기반 모듈화

     b. Pylearn2 - Theano를 유지, 보수하고 있는 Montreal  대학의 Yoshua Bengio 그룹에서 개발 ML용

     c. Lasagne - 가볍고 모듈화가 잘 되어 있어서 사용하기 편리함

     d. Blocks - Theano 기반 신경만

   * Chainer - 자유도가 매우 높음

   * nolearn - scikit-learn과  연동 기계학습에 유용

   * Gensim - 큰 스케일의 텍스트데이터를 효율저거으로 다루는 것을 목표

   * deepnet - cudamat과ㅏ cuda-convnet 기반의 딥러닝

   * CXXNET - MSShadow 라이브러리 기반으로 멀티 GPU까지 지원

   * DeepPy - NumPy 기반의 라이브러리

   * Neon - Nervana에서 사용하는 딥러닝 프레임워크

 

 - C++

   * Caffe - Berkeley

   * DIGITS - NVDIA

   * cuda-convnet 

   * eblearn

   * SINGA


 - JAVA

   * ND4J

   * Deeplearning4j

   * Encog

 

 - JavaScript

   * ConventJS

   * RecurrentJS


 - Julia

   * MIT


 - R


통계


확률/통계 (보다 많이 맞추기)


확률

 - 사전적 정의

   * 일정한 조건 아래에서 어떤 사건이나 사상이 일어날 가능성의 정도 또는 그런 수치

   * 수학적으로는 1을 넘을 수 없고 음이 될 수도 없다.

   * 확률 1은 항상 일어남을 의미하고, 확률 0은 절대로 일어나지 않음을 의미한다.

 - 라플라스의 확률

   * 어떤 사건의 발생 확률은 그것이 일어날 수 있는 경우의 수 대 가능한 모든 경우의 수의 비

   * 단,이는 어떠한 사건도다른 사건들 보다 더 많이 일어날 수 있다고 기대할 근거가 없을 때

   * 모든 사건이 동일하게 일어날 수 있다고 할 때에 성립된다.



기하학적 확률

  - 라플라스의 정의로 설명되지 않는 기하학적인 문제를 풀기위해 발전

  - 뷔퐁의 바늘 문제


통계적 확률

 - Frequentist probability 빈도

  * 어떤 사건을 반복하였을 때(독립시행: 앞에 일어난 사건이 뒤에 일어난 사건에 영향을 주지 않는다 ex 동전던지기) 일어나는 상대 빈도수로 보는 것을 빈도확률이라 한다.

  * 수학적으로 확률을 구할 수 없는 상황에서 항상 적용

 - 동전던지기

  * 고전확률론자

    - 사건 특성상 발생활률 0.5

  * 빈도론자

    - 많이 해보니 발생활률 0.5

  * 대수의 법칙(Law of Large Numbers)



확률의 중요 개념

 - 공리적 확률론

   * 확률을 수리화 하여 수학적 개념과 호환

 - 매 사건 독립

   * 로또번호 맞추기

   * 배팅 맞추기

 - 확률의 곱

   * 독립사건의 각각 일어날 확률은 곱으로 나타남

 - 배반사건

   * 앞의 사건이 뒤에 영향의 주지 않는다.

   * 영향을 주면 종속사건(주머니에서 공꺼내기)


베이즈 정리1

 - 250년간 확률 통계의 강자로 군림

 - 베이즈정리 조건부 확률 정리

 - 데이터를 이용한 사후 확률 추정


모티홀 문제

 - 스포츠카가 문뒤에 있을 확률

 - 아는 사람이 아는 문하나를 여는 상황


인공지닁의 통계

 - 베이즈 정리 분류기 Naive Bayes Classifier (NBC)

   * 인공지능의 분류 모델

   * 베이즈정리 가정이 매 사건 독립

   * 사실은 모든 가정이 독립이지는 않음

 - 선형회귀법

   * 최소자승법에 의해 오차가 가장 적은 위치 확인

   * 결과가 실수

 - 로지스틱 회귀법

   * 회귀와 유사

   * 결과가 범주 형인 경우 사용



텐서플로우


텐서

https://ko.wikipedia.org/wiki/%ED%85%90%EC%84%9C


 - Tensor

   * 노드와 배열을 사용

  

 - 기초사용법

   * 연산 graph( Then computation graph)

     - 구성단계

        * 노드정의

        * 텐서정의


     - 실행단계

        * session에서 graph 실행하기  

          - 세션정의

          - 세션실행

          - 자원반환



- 선형회귀 : 평균제곱오차 최소화



REGULARIZED REGRESSION 



텐서플로워


변수

모델

최적화 - 오류 최소화


GD Gradient Descent 경사 하강법

- 훑어가며 공부(스텝증가)



SGD (stochastic gradient descent)

 - 선형이 안되는 복잡한 경우 




신경망 연구


 -생물학적 신경망

   * 뉴런(신경세포): 신경망에서 가장 기본이 되는 단위

   * 뉴런의 기본적 기능 : 정보의 수용, 연산처리, 출력의 전송, 비선형성, 다입력 1출력, 흥분성과 억제성의 시냅스 결홉, 순은, 적응 , 피로 등


 - 단층 퍼셉트론(SINGLE-LAYER-PERCEPTRON)

   * 뉴런(neuron) 

     - 인공신경망을 구성하는 가장 작은 요소 net값이 임계치보다 크면 활성화되면서 1을 출력하고, 반대의 경우에는 비활성화되면서 0을 출력 


   * 단층 퍼셉트론

     - 입력층 (input layer)

     - 출력층 (output layer) 으로 구성









반응형