Seeyong's Blog
-
블록체인이 도입될 수 있는 업무 Part.2본 글은 Pabii 이경환 대표님의 블로그 글이 너무나도 유익해 공유한 내용입니다.저번글에서 이어지는 내용입니다.탈중앙화 시스템이 가능한 영역요즘 한국의 벤쳐 업계가 블록체인에 관심을 가지는 내용을 살펴보면, 모두들 “코인”에 대한 관심에서 출발하고 있다. 비트코인으로 소위 “대박”을 겪은 것만 눈에 보이는지, 너도나도 ICO 를 해서 자기네 코인을 ...
-
블록체인이 도입될 수 있는 업무 Part.1본 글은 Pabii 이경환 대표님의 블로그 글이 너무나도 유익해 공유한 내용입니다. 정말 기계가 펀드매니저를 대체하는가펀드매니저를 하고 있는 절친이 진지한 상담을 원한다면서 늦은 밤에 사무실로 찾아왔다. 요즘 4차산업 어쩌고 저쩌고에 블록체인이라고 말들이 많고, 머신러닝이 펀드매니저 업무를 대체하는 수준을 넘어서서 아예 코인이라는게 완전히 우리가 아...
-
데이터 사이언티스트가 갖춰야 할 5가지 스킬셋 Part.2본 글은 Pabii 이경환 대표님의 블로그 글이 너무나도 유익해 공유한 내용입니다. 저번글에서 이어지는 내용입니다.3. 수리통계학개발자들이 하는 가장 큰 착각이 바로 머신러닝은 공학이지 수학이 아니라는 거다. 여기에 필자는 정면으로 반박하고 싶다.머신러닝은 수학이지 공학이 아니다. 머신러닝 입문자들이 듣는 Coursera의 Andrew Ng 아저씨 ...
-
데이터 사이언티스트가 갖춰야 할 5가지 스킬셋 Part.1본 글은 Pabii 이경환 대표님의 블로그 글이 너무나도 유익해 공유한 내용입니다. 데이터 사이언스, 데이터 과학, 데이터 과학자, 머신러닝, 딥러닝, R주변에서 데이터 사이언티스트가 될려면 어떤 공부를 해야되는지 묻는 경우가 참 많다. 전에 다녔던 크리테오라는 프랑스 리타게팅 광고 회사의 세일즈 팀 사람들은 Data Analyst 와 Data Sc...
-
머신러닝 초보자에게 바치는 5가지 “하지 마라” 시리즈 Part.2본 글은 Pabii 이경환 대표님의 블로그 글이 너무나도 유익해 공유한 내용입니다.저번글(Part.1)과 이어지는 글입니다.3. 수학 수식에 집착하지마라앞서 1번에서 했던 “하지 마라”와 일맥 상통한다. 일단 쫄지말고 써 봐라. 어차피 일반 대중에게 공개된 알고리즘들 중에 대단하고 복잡한 알고리즘 없다. 이걸 다 이해하고 쓸꺼야라고 스스로를 옥죄일 필...
-
머신러닝 초보자에게 바치는 5가지 “하지 마라” 시리즈 Part.1본 글은 Pabii 이경환 대표님의 블로그 글이 너무나도 유익해 공유한 내용입니다. 데이터 사이언스, 머신러닝, 빅데이터, 교재데이터 사이언스 강의를 시작했다, 그 강의 중에 머신러닝도 많이 들어가있다고 소개를 했더니, 어떤 책을 사서 공부해야되냐고 묻는 사람, 그거할려면 개발 지식 필요하냐고 묻는 사람, 통계학 지식이 필요하냐고 묻는 사람 등등 다...
-
학습 정확도 올리기 (Deep & Wide, Dropout)Deep & Wide MNISTHidden layer를 더 깊고, 넓게 구현하면 결과가 더 좋아질 것 같다. 그럼 바로 구현해보자....# with Hidden layersw1 = tf.get_variable("w1", shape=[784, 512], initializer=tf.contrib.layers.xav...
-
학습 정확도 올리기 (Neural Network, ReLu, Xavier)Enhancing Learning Accuracy몇가지 기술적인 방법을 사용해 학습의 정확도를 높여보자. 90%와 91%는 확연히 다른 정확도다. 단 1%의 정확도를 높이기 위해서 여러 방법을 사용할 필요성은 충분하다.Softmax Classifier for MNIST0 ~ 9의 10가지 숫자 이미지를 학습한 후 새로운 숫자 이미지가 어떤 숫자인지 밝...
-
XOR 문제 해결하기 Part.2XOR 문제를 풀지 못해 머신러닝 개발이 늦어졌다가, backpropgation을 통해 풀어낼 수 있다는 사실 알아냈다. 이제는 TensorFlow로 직접 구현해보자.XOR Data setimport numpy as npimport tensorflow as tf먼저 그동안 학습해왔던 방식 그대로 XOR 문제를 풀어보자.x_data = np.array(...
-
XOR 문제 해결하기 Part.1and 조건과 or 조건으로 False = 0과 True = 1을 구분하며 최적의 변수를 찾아 학습하는 것이 머신러닝의 기본이다. 그런데 과거 머신러닝에 대한 연구가 시작되고 얼마 되지 않았던 1969년, 중대한 문제가 발생했다. Marvin L. Minsky 교수가 위 기본 공식으로 해결할 수 없는 난제를 제시한 것이다. 먼저 다음의 표를 살펴보자....
-
Introduction to Git Part.2What’s the first step in saving changes?You commit changes to a Git repository in two steps: Add one or more files to the staging area. Commit everything in the staging area.To add a file to the ...
-
Tensor 데이터 처리하기 Part.4Squeeze & Expandwith tf.Session() as sess: print(sess.run(tf.squeeze([[0], [1], [2]])))벡터의 형태를 간단하게 바꾸는 더 간단한 방법도 있다. squeeze 함수를 사용하면 위의 2차원 벡터를 1차원 행렬로 만들 수 있다.[0 1 2]1차원 행렬이 됐다.with tf.Se...
-
Tensor 데이터 처리하기 Part.3Reduce mean평균을 구하는 방법도 있다. 그런데 함수의 이름이 그냥 mean이 아니라 reduce_mean이다. 사실 차원을 감소하며 평균을 구한다는 의미다.with tf.Session() as sess: print(sess.run(tf.reduce_mean([1, 2], axis=0)))11과 2의 평균을 구하니 1이 나왔다. 숫자의 형...
-
Tensor 데이터 처리하기 Part.2Matmul vs Multiply중학교 수학 시간에 우리는 행렬의 곱셈을 배웠으므로 TensorFlow를 사용해 같은 연산을 할 수 있다.# multiply for matrixmatrix1 = tf.constant([[1.,2.], [3.,4.]])matrix2 = tf.constant([[1.], [2.]])print('Matrix 1 shape',...
-
Tensor 데이터 처리하기 Part.1Tensor manipulation더욱 깊은 이론으로 들어가기 전에 기본으로 돌아가보자. Tensor를 손쉽게 다룰 수 있어야 이후 과정이 편해진다. 사실 기본이다.Simple ID Array and SlicingArray는 조각으로 자른 김밥과 비슷하다. 순서대로 나열되어 있는 데이터 집합이다. 다만 순서의 시작이 1이 아닌 0부터 시작한다는 점이 ...
-
MNIST Data로 숫자 이미지 분류하기MNIST Data그동안 우리가 학습한 내용을 활용해서 이미지 분류 작업을 할 수 있다. 위의 그림과 같이 여러 사람이 다양한 형태로 표기한 숫자 이미지 파일을 픽섹 단위로 분해해서 학습할 수 있다는 의미다. 임의의 새로운 숫자 이미지 파일이 들어와도 어떤 숫자인지 분류하기 위한 목적이다.import tensorflow as tffrom tensorf...
-
Traing/Test, Learning Rate와 Normalization으로 학습 효과 높이기Training & Test data지금까지 우리는 우리 손에 가지고 있는 x_data와 y_data를 모두 사용해서 학습을 진행했다. 하지만 실제로 학습을 진행할 때 이런 방법은 독약과 같다. Overfitting, 즉 샘플 데이터에 너무나 최적화된 학습을 진행할 위험이 발생하기 때문이다. 우리 손에 가지고 있는 데이터에는 너무나도 잘 맞아떨...
-
Fancy한 Softmax
“”
여러 예측 결과물을 도출해내기 위한 방법으로 Softmax Classification을 사용한다. 저번 글에서는 기초적인 여러 공식들을 우리가 직접 구현해냈지만, 사실 구글이 이미 다 한 줄의 코드로 만들어놨다. 공부를 하는 입장에서 작동 원리를 아는 것이 중요하기 때문에 기초부터 배우는 것이 중요하지만, 실무에서는 간단하게 사용할 수 있다는 의미다. 이번에는 더 Fancy하게 Softmax Classification을 구현해보자.logits = tf.matmul(X, W) + bhypothesis = tf.nn.softmax(logits)# Cross entropy cost/losscost = tf.reduce_...
-
Softmax Classification그동안 우리는 특정 숫자를 도출해내거나, 0 또는 1 중의 한 숫자를 예측하는 방법들을 살펴봤다. 사실 현실에서는 그 중간에 위치한 변수들이 너무나도 많다. 대학에서 평점을 매길 때 A부터 F까지 한정된 개수의 점수를 나타내는 것이 대표적이다. 0 또는 1만으로는 나타내기 힘들고, 100점 만점의 점수만으로 평기하기에도 애매하다. 이제 우리는 Soft...
-
이항 분류 - Logistic (Regression) Classifier그동안 학습해온 TensorFlow는 시험 점수 처럼 제한 없는 미지의 특정 값을 예측하는 데에 사용되었다. 하지만 이런 경우는 어떨까. Pass와 Non-pass로 결과를 나누는 시험이라든가 쇼핑몰에서 고객이 물건을 살지 안살지를 판가름해야 하는 경우. 시험 점수를 도출해내듯이 예측하기 어렵다. 이제 우리는 새로운 Hypothesis를 세워야 한다....
-
파일에서 Data 읽어오기파일에서 데이터 읽어오기실제 데이터 분석을 할 때는 매번 직접 데이터를 입력하기 보다 기존에 있는 파일을 읽어오는 경우가 많다. 파일에서 데이터를 읽어와 학습을 해보자.import numpy as npxy = np.loadtxt('data-01-test-score.csv', delimiter=',', dtype=np.float32)x_data = xy...
-
다변수 선형 회귀 분석
“Use MATRIX!”
Multi-variable Linear RegressionHypothesis using Matrix그동안 \($x\)$라는 feature가 하나인 간단한 선형 회귀 분석을 해왔지만 현실에는 여러개의 feature가 있는 경우가 대부분이다. 이제 우리는 여러개의 \($x\)$를 사용해 회귀 분석을 하고 예측치를 도출할 것이다.student|Quiz 1(\($x_1\)$)|Midterm(\($x_2\)$)|Quiz 2(\($x_3\)$)|Final(\($y\)$)——-|——|——|——-|——A|73|80|75|152B|93|88|93|185C|89|91|90|180D|96|98|100|196E|73|66|70|142위...
-
Introduction to GitWhat is version control?A version control system is a tool that manages changes made to the files and directories in a project. Many version control systems exist; this lesson focuses on one called...
-
비용 최소화Minimize Cost역시나 처음부터 그래프를 이해할 필요 없다. 알고 싶지 않아도 저절로 알게 될테다.Simplified Hypothesis\(H(x) = Wx\)기울기(W)와 절편(b)으로 이루어져 있던 가설을 단순화했다. b=0으로 가정한 항태의 hypothesis 공식이다. \(cost(W, b) = \frac{1}{m}\sum_{i=1}^m...
-
가설 세우기 & 비용 함수 만들기Hypothesis and Cost Function우리가 가지고 있는 X 값과 Y라는 결과값을 가지고서 최적의 기울기(W)와 절편(b)을 구할 수 있다면, 우리가 가지고 있지 않은 미지의 새로운 X 값에 따른 Y를 추정해볼 수 있다. X Y 1 1 2 ...
-
TensorFlow 기초Hello TensorflowTensorFlow의 구조…아직 몰라도 됨. 나도 모름.이론 말고 실전부터 일단 코드부터 바로 쳐보기.import tensorflow as tf# Create a constant op# This op is added as a node to the default graphhello = tf.constant("Hello, Te...
-
Hello Machine LearningHello Machine Learning!머신러닝 초보자가 공부합니다.변성윤님의 슬라이드쉐어를 참고해서 데이터 사이언티스트가 되기 위한 내용을 정리해갑니다.