목록분류 전체보기 (171)
IT Log
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/crVs0N/btquIQ2JeH3/cYJo1Le3hbnXNZMTB1h1M1/img.png)
다층 퍼셉트론 (Multi Layer Perceptron) 신경망에 기본단위인 퍼셉트론을 2개 이상 활용하여 선형으로 분류할 수 없는 데이터를 구별할 수 있게되었다. 따라서, 단일 퍼셉트론에서 해결하지 못하는 XOR문제를 해결하게 되었다. 아래 그림은 단일 퍼셉트론으로 XOR를 표현할 때에 그림이다. 다층 퍼셉트론 구조 위와 같이 은닉층(hidden layer)이라고 불리는 단일 퍼셉트론을 하나 더 추가하면 XOR의 문제를 해결할 수 있게 된다. 우선 처음 입력 받은 값을 NAND와 OR로 출력하고, 다시 그 값에 대해서 AND를 실행하면 XOR의 결과와 같은 값을 표현할 수 있게된다. 그림으로 보면 아래와 같다. x1 x2 NAND OR 0 0 1 0 1 0 1 1 0 1 1 1 1 1 0 1 NAND..
활성화함수(activation function)란? 입력 or 주어진 입력의 세트를 정의하는 함수, 정의된 출력값은 다음노드에 대한 입력으로 사용된다. Sigmoid sigmoid 함수의 값은 0~1이고, 함수 값 중심이 0.5로 학습속도가 느리고, exp함수 사용시 연산비용이 많이 들고, 입력값이 일정이상 올라가면 기울기가 거의 0에 수렴하여, gradient vanishing현상이 발생한다. tanh tanh 함수의 값은 -1~1이고, 함수 값 중심이 0으로 학습속도가 개선되었으나, exp함수사용과 입력값이 일정이상 올라가면 기울기가 거의 0의 수렴하는 gradient vanishing 현상은 sigmoid와 동일하다. ReLU ( Rectified Linear Unit ) ReLU 함수의 값은 입력..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bptiYD/btqvgHx0XrZ/B0P1kCrHrOee45CxDJYRcK/img.png)
경사하강법(Gradient decent) 이란? 함수의 기울기를 구하여 기울기가 낮은 쪽으로 계속 이동시켜서 극값에 이를 때까지 반복하는 방법 변수 설명 w 손실함수 η 학습률(leraning rate) ∂L/ ∂w 출력값을 w에 대하여 미분(기울기) η(learning rate)는 경사하강법의 진행간격을 조정하는 값으로, 값이 너무 클 경우 over shooting현상이 발생하고, 값이 너무 작을 경우에는 local minimum이 발생한다. 따라서 η의 값음 0.01 ~ 0.1사이로 하는 것이 적당하다. over shooting 손실함수 값이 줄어들지 않고 오히려 커지는 현상 local minimum 전역 최소값이 아닌 지역최소값으로 경사하강법을 끝내는 현상 경사하강법의 구동방식 손실함수 첫 위치에서..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/l2N5b/btquGEhMl9X/NDQqDRLiGhjks3XYxhKi81/img.png)
퍼셉트론이란? 인공신경망의 한 종류로서, 1957년에 코넬 항공 연구소의 프랑크 로젠블라트에 의해 고안되어졌다. 신경망을 이루는 가장 중요한 기본 단위로 입력 값과 활성화 함수를 사용해 출력 값을 얻는다. 퍼셉트론의 구조 변수 설명 x 입력 값 w 가중치 b 바이어스 ∫ 활성화 함수 입력 값을 받아서 각 입력 값마다 가중치를 곱하여 모두 더하고 마지막으로 바이어스를 더해준 값을 활성화 함수에 의하여 판단되어 최종 출력값을 뽑아낸다. 이 말을 식으로 표현하면 아래와 같다. 위의 식은 더 간단하게 보면 xw + b로 볼 수 있는데, 이것은 직선의 기울기를 구할 때와 유사하다. 이를 이용하여 논리 회로들을 표현해보면 아래와 같다. AND OR NAND XOR 이처럼 AND, OR, NAND의 경우 직선 하나로..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bmjOcm/btqu6AlwzcY/ZyMg30su5ziSlLV8sJKkYK/img.png)
Continuous data install.packages("qcc") library(qcc) data(pistonrings) # 지정된 데이터세트를 load해준다 attach(pistonrings) # R검색경로에 첨부되어, DB오브젝트에 이름을 지정하여 액세스 가능하게 해준다 diameter = qcc.groups(diameter, sample) # qcc함수로 데이터를 쉽게 그룹화 해준다 qcc(diameter[1:25,], type = "xbar") qcc(diameter[1:25,], type = "xbar", newdata = diameter[26:40,]) q = qcc(diameter[1:25,], type = "xbar", newdata = diameter[26:40,],plot=FALS..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cidfgb/btqu192Ew0f/CPcgKpt6yKzj0ZeLGqmLhK/img.png)
MNIST 실습 실습 1. import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("/.mnist/data/", one_hot=True) X = tf.placeholder(tf.float32, [None, 784]) Y = tf.placeholder(tf.float32, [None, 10]) W1 = tf.Variable(tf.random_normal([784, 256], stddev=0.01)) L1 = tf.nn.relu(tf.matmul(X, W1)) W2 = tf.Variable(tf.random_normal([256,256], stddev=0...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/oEz3N/btqu138QIe5/WkDIpweT5ia8eR9zrAAxxk/img.png)
TensorFlow란? 다양한 작업에 대해 데이터 흐름 프로그래밍을 위한 오픈소스 소프트웨어 라이브러리 심볼릭 수학 라이브러리이자, 뉴럴 네트워크 같은 기계학습 응용프로그램에도 사용 구글 브레인팀이 만들었고 2015년 11월 9일 아파치 2.0 오픈소스 라이센스로 공개 Anaconda 설치 https://www.anaconda.com/distribution/에 접속 Windows / Mac / Linux 중 해당 OS 선택 Python 3.7 version 다운로드 프로그램 실행하여 설치 완료 (default값으로 설치 진행) Anaconda Prompt 1. 환경 구축 conda create -n test python=3.7 numpy scipy matplotlib spyder pandas seabor..
Redis란? Remote Dictionary Server의 약자로, "키-값" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템(DBMS)이다. 장점 여러 프로세스에서 동시에 같은 key에 대한 갱신을 요청할 경우, atomic 처리로 데이터 부정합 방지 atomic처리 함수를 제공 메모리를 활용하면서 영속적인 데이터 보존 Redis Server는 1개의 싱글 스레드로 수행된다. 쓰기 성능 증대를 위한 샤딩을 지원 ANSI C로 작성 : ANSI C 컴파일러가 동작하는 곳이면 어디든 설치 및 실행가능 Redis 클라이언트는 대부분의 언어로 포팅되어 있다. 서버 간 이벤트 공유를 위한 Publish/Subscribe 기능 지원 100000QPS(Query ..