2018/04 26

텐서플로우(Tensor Flow) #14_ Neural Network 총정리::MNIST 98%성공하기

안녕하세요. 문범우입니다.이번 포스팅에서는 우리가 Deep Neural Network 에 대해 이론으로 배웠던 내용들을 실제로 텐서플로우로 구현해보도록 하겠습니다. 우리가 아래 포스팅에서 softmax classifier를 이용하여 mnist 데이터를 예측해보는 모델을 만들어봤었는데, 이때 정확도가 약 83%도 나왔습니다. 이를 DNN으로 구현해보면서 정확도를 최대 98%까지 끌어올려보도록 하겠습니다. 텐서플로우(Tensor Flow) #10_ MNIST DATA * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. MNIST Data 다루기 우리가 MNIST D..

딥러닝(DeepLearning) #6_ Dropout and Ensemble

안녕하세요. 문범우입니다.이번 포스팅에서는 dropout과 model ensemble에 대해서 살펴보도록 하겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. Dropout 우리가 dropout을 하는 이유는 바로 아래와 같은 overfitting 때문입니다. 우리가 과거에 알아봤던 것처럼, 훈련 data에 있어서는 100%의 accuracy를 내지만, 실제로 test data에 있어서는 높은 예측율을 내지 못하게 되는 현상이죠. 위와 같이, 파란색 그래프, training 에서는 에러율이 점점 낮아지지만, 실제로 빨간색 그래프처럼 test data를..

딥러닝(DeepLearning) #5_ Restricted Belief Machine & Xavier initialize

안녕하세요. 문범우입니다.이번에는 지난 포스팅에 이어서 딥러닝을 잘하는 방법 중 weight의 초기값을 설정하는 방법에 대해서 알아보도록 하겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. RBM(Restricted Belief Machine) 우리가 지난 포스팅에서 위의 그림과 같은 Vanishing gradient 문제에 대해서 알아보았습니다.그리고 이 문제에 대해서는 Hilton 교수님께서는 4가지 이유를 꼬집었습니다. 위의 4가지 항목중 제일 아래에 있는 것은 우리가 지난 포스팅에서 sigmoid함수 대신, ReLU함수를 사용함으로써 해결할 ..

리액트 네이티브 #3_ 프로젝트 시작하기 & FlexBox

안녕하세요. 문범우입니다.우리가 지금까지 두 차례의 포스팅에 거쳐서, 리액트 네이티브 개발 환경을 구성하는 방법과 리액트 네이티브에서의 아주 기본적인 내용에 대해서 알아보았습니다.이번 포스팅부터는 실제로 프로젝트를 시작하여 코드를 작성해도록 하겠습니다.1. 프로젝트 시작하기 먼저 우리는 첫번째 포스팅에서 Expo 를 설치하였습니다.설치한 Expo를 실행합니다. 위와 같은 기본 화면에서 Create new project를 누릅니다. 위와 같이 둘 중 하나를 고르는 화면과 함께 프로젝트 이름 및 경로를 설정할 수 있는 창이 나옵니다.일단 우리는 Blank를 선택하여 진행합니다.Tab Navigation은 추후에 다뤄보도록 하겠습니다.그리고 적절한 프로젝트 이름과 경로를 설정하여 Create를 누릅니다. 그럼..

React_native 2018.04.20

딥러닝(DeepLearning) #4_ ReLU::Rectified Linear Unit

안녕하세요. 문범우입니다.오늘은 ReLU(Rectified Linear Unit)에 대해서 알아보겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. NN for XOR 우리가 지난 시간에 XOR문제를 위와 같은 모델로 하여 풀이를 진행해보았습니다.실제로 텐서플로우를 이용하여 구현해보기도 하였습니다.그때 각 유닛의 결과에 우리가 Sigmoid 함수를 붙여서 결과값이 0~1이내로 출력되게 했었습니다. 이러한 Sigmoid함수를 activation function 이라고 합니다.각 모델들에게 어떤 값을 보내게 될 때 일정값 이상이면 active되게 하고 그..

리액트 네이티브 #2_ Component & Style

안녕하세요. 문범우입니다.지난 포스팅에서 리액트 네이티브를 사용하기위해 기본적인 개발환경 구성을 진행하였습니다.이번 포스팅에서는, 바로 개발을 진행하기전에 리액트 네이티브에 관한 기본적인 이론들을 간단히 살펴보도록 하겠습니다.1. Component 위 코드는, 우리가 나중에 실제로 개발을 시작했을 때 처음에 세팅되는 코드입니다. 위의 코드를 통해 알 수 있는 점은 화면을 보여주는데 있어서 react나 기타 웹에서와 같이 div등과 같은 컴포넌트가 존재하지 않고, 특별하게 View, Text 와 같은 컴포넌트가 존재하는 것입니다. 다시말해, 우리는 react native에서 사용할 수 있는 컴포넌트들이 한정되어 있습니다.컴포넌트들에 대해 더 자세한 내용은 아래의 react native 공식 홈페이지에서 확..

React_native 2018.04.19

텐서플로우(Tensor Flow) #13_ TensorBoard 사용하기

안녕하세요. 문범우입니다.우리가 지난번 실습에서 텐서플로우를 통해 Neural Network를 이용하여 XOR 문제를 풀어보았습니다.그런데 우리가 Neural Network를 이용하면서 보다 깊고 복잡한 문제를 해결할 때 그 학습과정등을 시각적으로 볼 수 있도록 하는 Tensorboard라는 것이 있습니다.이번 포스팅에서는 그런 Tensorboard를 사용하는 방법에 대해서 알아보도록 하겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. Tensorboard 우선 텐서보드를 사용하면 위의 그림에서 보이는 것처럼 우리의 TensorFlow 그래프를 시각..

텐서플로우(Tensor Flow) #12_ Neural Network for XOR problem

안녕하세요.이번 포스팅에서는 우리가 딥러닝 이론에서 배웠던 XOR 문제를 텐서플로우로 해결해보도록 하겠습니다.이론적인 부분은 아래 글에서 설명드렸기에, 코드에 대한 이야기를 주로 할 것 같습니다. 딥러닝에 대한 기본적인 이론이기에 잘 이해가 안되시는 분들은 아래 글을 참고해주세요. 딥러닝(DeepLearning) #1_ 딥러닝의 시작딥러닝(DeepLearning) #2_ XOR using Neural Nets(NN) 딥러닝(DeepLearning) #3_ Backpropagation * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. XOR data set 먼저..

딥러닝(DeepLearning) #3_ Backpropagation

안녕하세요. 문범우입니다.이번 포스팅에서는 Backpropagation에 대해서 알아보겠습니다.지난 포스팅에서 XOR문제를 풀어보았는데, 정확하게 W나 b에 대한 값을 구하지는 못하였습니다. 그럼 이런 상황에서 어떻게 W와 b를 구하는지, 정확하게는 backpropagation이 어떻게 사용되는 것인지 알아보도록 하겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. Intro 먼저, 우리가 어떻게 W나 b와 같은 값을 구할 수 있을까요?우리가 그동안 다루어 보았던 Gradient의 개념을 이용합니다. 우리는 보통 결과로 나오는 Y값을 통해 Cost함수..

#7_ Forming a Magic Square by python(파이썬으로 마방진 만들기)

안녕하세요. 문범우입니다.오랜만에 재미난 알고리즘 문제를 풀게되어 포스팅하게 되었습니다.문제의 출처는 HackerRank 이며 아래의 주소입니다. https://www.hackerrank.com/challenges/magic-square-forming/problem 문제설명에 대한 전문은 위의 링크에서 확인하실 수 있으며, 제 github에서도 확인하실 수 있습니다.https://github.com/doorBW/hacker_rank_algorithm_practice 문제에 대해서 간단히 설명드리면 아래와 같습니다. - Forming a Magic Square 먼저, Magic Square는 마방진이라고 이야기하겠고, 마방진에 대한 규칙은 다음과 같습니다.3*3 형태를 가지는 마방진 행렬에서는 1부터 9까..

728x90