Season 1 아카이브
scikit-learn (1) - 기계학습이란?
2016. 11. 1.scikit-learn (1) - 기계학습이란? 1. 기계학습의 3가지 개념1) 태스크(T)를 해결하기 위해 학습해야 한다2) 태스크를 실행하기 위해 학습할 일부 경험(E)이 필요하다(데이터셋을 통해 표현된다) 3)얼마나 태스크를 잘 해결했는지 파악하기 위한 성능(P)을 측정할 필요가 있다 2. 기계학습기법은 보통 데이터셋으로 대표되는 과거 경험에 의존한다. 본 포스팅에서는 로널드 피셔가 소개한 아이리스 꽃 데이터셋을 사용한다. 해당 데이터셋에는 4개의 속성, 150개의 원소(인스턴스)가 있다. Iris flower data set https://en.wikipedia.org/wiki/Iris_flower_data_set Fisher's Iris Data Sepal length Sepal width Pe..
scikit-learn 을 통한 머신러닝 - 데이터셋 로딩, 학습, 그리고 예측
2016. 10. 31.scikit-learn 을 통한 머신러닝 - 데이터셋 로딩, 학습, 그리고 예측 scikit-learn 을 통한 간단한 머신러닝에 대해 알아본다. 1. 예제 데이터셋 로딩다음과 같이 iris 와 digits 데이터셋을 로딩한다. 123from sklearn import datasetsiris = datasets.load_iris()digits = datasets.load_digits()cs데이터셋은 데이터와 데이터에 대한 메타 데이터를 가지고 있는 일종의 딕셔너리같은 오브젝트이다. 데이터는 .data 로 저장되고, n_samples, n_features 배열을 가진다. 지도학습의 경우, 하나 또는 그 이상의 대응하는 변수가 .target 으로 저장된다. 숫자 데이터셋의 경우, digits.data를 통해..
텐서보드 사용법
2016. 10. 31.텐서보드는 텐스플로우 실행을 통해 생성할 수 있는 요약 데이터를 가지고 있는 텐서플로우 이벤트 파일을 읽음으로써 작동한다. 텐서보드 설치 위치 1/root/anaconda/envs/tensorflow/lib/python2.7/site-packages/tensorflow/tensorboardcs 텐서보드 실행은 다음과 같이 한다. 기본 포트는 6006 이다. 12345(tensorflow)root@localhost:~/tensorflow# tensorboard --logdir=tmp/tf_logsWARNING:tensorflow:IOError [Errno 2] No such file or directory: '/root/anaconda/envs/tensorflow/lib/python2.7/site-pack..
텐서플로우 코드 에러 - ResourceExhaustedError
2016. 10. 31.Deep MNIST for Experts 튜토리얼 실행시 발생할 수 있는 텐서플로우 코드 에러 ResourceExhaustedError 가 발생하는 경우 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120step 18500, training accuracy 1step 18600, training accuracy..
Deep MNIST for Experts - 전체 코드 (2)
2016. 10. 31.텐서플로우 첫걸음에 나오는 전체 코드입니다. 구글 홈페이지 튜토리얼과는 다소 다르네요. mnist_for_expert-1 In [1]: from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets('MNIST_data/', one_hot=True) Extracting MNIST_data/train-images-idx3-ubyte.gz Extracting MNIST_data/train-labels-idx1-ubyte.gz Extracting MNIST_data/t10k-images-idx3-ubyte.gz Extracting MNIST_data/t10k-labels-idx1-ubyte.gz In [2]..
Deep MNIST for Experts - 전체 코드 (1)
2016. 10. 31.mnist_for_expert In [1]: import tensorflow as tf sess = tf.InteractiveSession() In [ ]: def weight_variable(shape): initial = tf.truncated_normal(shape, stddev=0.1) return tf.Variable(initial) def bias_variable(shape): initial = tf.constant(0.1, shape=shape) return tf.Variable(initial) In [3]: x = tf.placeholder(tf.float32, [None, 784]) In [4]: W = tf.Variable(tf.zeros([784, 10])) b = tf.Variabl..
텐서플로우 코드 에러 - FailedPreconditionError
2016. 10. 30.Deep MNIST for Experts 튜토리얼 실행시 발생할 수 있는 텐서플로우 코드 에러 FailedPreconditionError 가 발생하는 경우123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117for i in range(20000): batch = mnist.train.next_batch(50) if i%100 ==..
텐서플로우 코드 에러 - Cannot evaluate tensor using `eval()`
2016. 10. 30.Deep MNIST for Experts 튜토리얼 실행시 발생할 수 있는 텐서플로우 코드 에러 value error 가 발생하는 경우 12345678910111213141516171819202122232425262728293031for i in range(20000): batch = mnist.train.next_batch(50) if i%100 == 0: train_accuracy = accuracy.eval(feed_dict={x:batch[0], y_: batch[1], keep_prob: 1.0}) print "step %d, training accuracy %g" % (i, train_accuracy) train_step.run(feed_dict={x: batch[0], y_: batch[1],..
주피터 노트북 html 파일로 변환하기 How to copy/paste from IPython Notebook to other format
2016. 10. 29.다음과 같이 주피터 노트북의 데이터프레임을 html 포맷으로 변환할 수 있다.123(tensorflow)root@localhost:~/tensorflow# jupyter nbconvert mnist_for_beginner.ipynb[NbConvertApp] Converting notebook mnist_for_beginner.ipynb to html[NbConvertApp] Writing 260242 bytes to mnist_for_beginner.htmlcs 변환 관련 옵션 및 예제 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566..
텐서플로우 따라잡기 MNIST For ML Beginners (3) -Training & Evaluating Our Model
2016. 10. 29.MNIST For ML Beginners (3) -Training & Evaluating Our Model 모델을 훈련시키기 위해, 먼저 모델에게 좋다는 것이 무엇을 의미하는 것인지부터 정의해야한다. 사실 머신러닝에서는 전통적으로 모델에게 나쁜 것 - 통상 cost 혹은 loss 라고 부른다 - 을 정의하곤 하는데, 이는 우리가 만든 모델이 우리가 의도하는 결과에서 얼마나 떨어져있는가를 나타내는 것이다. 에러의 오차를 줄일수록, 모델은 훌륭해진다. 모델이 가진 loss 를 정의하는 좋은 지표중의 하나는 "cross-entropy" 라고 불리는 것이다. Cross-entropy는 우리의 예측이 얼마나 비효율적인지를 측정해주는 도구로서, 관심이 있으신 분들은 다음 링크를 통해 자세한 내용을 찾아볼 수 있다...
텐서플로우 따라잡기 MNIST For ML Beginners (2) - Implementing the Regression
2016. 10. 29.MNIST For ML Beginners (2) - Implementing the Regression 텐서플로우를 사용하기 위해 먼저 임포트한다. 1import tensorflow as tfcs 아래와 같이 변수를 생성하자.1x = tf.placeholder(tf.float32, [None, 784])cs 여기서 x 는 특정 값이 아니다. x는 placeholder라는 것으로 텐서플로우로 하여금 연산을 하도록 요청할 때 우리가 입력하게 되는 값이다. MNIST 이미지의 어떤 수라도 입력할 수 있도록 우리는 이것을 [None, 784] 형태를 가진 부동소수점수의 2-D 텐서로 표현할 것이다(여기서 None 이 의미하는 것은 어떤 값이라도 될 수 있다는 것이다). 그리고 가중치와 편향 역시 필요하다. 이 요..
텐서플로우 따라잡기 MNIST For ML Beginners (1)
2016. 10. 29.MNIST For ML Beginners (1) MNIST 는 Mixed National Institute of Standards and Technology 의 약어로, 아래의 손글씨 이미지 등을 포함한 시각 데이터 셋이다. 이미지와 각각의 이미지에 대한 레이블을 포함하고 있다. 예를 들어, 위의 이미지의 레이블은 각각 5, 0, 4, 그리고 1이다. 본 게시물에서는 이러한 이미지를 관찰하고 숫자를 맞추는 모델을 트레이닝함으로써 텐서플로에 발을 딛는 것을 목표로 한다. 소프트맥스 회귀(Softmax Regression)라고 불리는 간단한 모델로부터 시작한다. 아래와 같이 실습에 필요한 파일을 적당한 위치에 다운로드한다. 앞에서도 언급했지만 MNIST 데이터는 수기 이미지와 그에 대응하는 레이블 이상의 2..
AICPA DRS 시험 응시요령
2016. 10. 28.AICPA DRS 시험 응시요령 1. DRS의 모든 부분에 익숙해지세요. 각각의 DRS 는 아래와 같이 몇 개의 탭으로 구성됩니다. Document Review Tab - 실제 수험생들이 검토해야 할 문서를 보여줍니다. Authoritative Literature Tab - FASB Codification Table of Contents, AICPA Professional Standards, Internal Revenue Code, 그리고 Tax Services for research purposes 등을 보여줍니다. Help Tab - 관련 도움말 그리고 DRS 는 다음의 탭도 포함될 수 있습니다. Financial Statements Tab - 관련 재무 데이터를 보여줍니다. Exhibits Tab ..
새로운 시뮬레이션 타입 DRS(Document review simulation) 대비법
2016. 10. 28.새로운 시뮬레이션 타입 DRS(Document review simulation) 대비법 AICPA에서는 2016년 7월 1일부터 새로운 형태의 시뮬레이션 문제인 Document Review Simulation (DRS)를 출제하고 있습니다(AUD, REG, FAR 섹션에서 출제됨). 아직 이 내용에 대해서 알고 계시지 못하다면 AICPA 샘플 테스트를 통해 DRS 문제 포맷에 대해 살펴보시길 것을 강력히 권해드립니다. [USCPA 샘플테스트 바로가기] http://apps.aicpa.org/17Q2SampleTest/17Q2start.html 그럼 DRS가 무엇이고, 왜 이러한 형태의 시뮬이 추가가 되었는지, 그리고 마지막으로 어떻게 준비를 해야하는지 알아보겠습니다. 1. DRS 가 왜 평가에 추가되었는..
원격지 주피터 노트북 로컬에서 실행하기 Remote Access to Jupyter Notebook via SSHRemote Access to Jupyter Notebook via SSH
2016. 10. 28.원격지 주피터 노트북 로컬에서 실행하기 Remote Access to Jupyter Notebook via SSH 로컬호스트에서 원격지에서 구동중인 Jupyter Notebook 을 실행해보자. 1. 원격지에서 아래와 같이 Ipython notebook 을 실행한다. 원격지에서 브라우저를 띄울 필요는 없으므로 --no-browser 플래그를 추가한다. 해당 포트 방화벽 정책 적용 여부도 확인해본다.12345678(tensorflow)root@localhost:~# ipython notebook --no-browser --port=8889[TerminalIPythonApp] WARNING | Subcommand `ipython notebook` is deprecated and will be removed ..
아나콘다 환경에서의 텐서플로 설치 (Anaconda+Ubuntu+CPU Only)
2016. 10. 26.텐서플로는 구글이 오픈소스로 공개한 차세대 딥 러닝 시스템이다. 텐서플로는 데이터 플로우 그래프를 사용하여 수치 연산을 하는 라이브러리라고 볼 수 있다. 그래프의 노드는 수학 연산을 나타내고, 노드를 연결하는 그래프의 에지는 다차원 데이터 배열을 나타낸다. 1. 설치환경포스팅에 언급된 환경은 Ubuntu 14.04 LTS x64 + CPU Only 기반이다(아래와 같이 그래픽카드 확인해본 결과 GPU 가 아니라 CPU Only 였다).* 리눅스에서 하드웨어를 확인하는 명령은 다음 사이트를 참고한다. http://blog.simplism.kr/?p=1778 12root@localhost:~# lspci | grep VGA00:02.0 VGA compatible controller: Cirrus Logic ..
Eclipse에서의 Git 사용 - (3) Github 연결
2016. 10. 22.Eclipse에서의 Git 사용 - (3) Github 연결 1. github repository 생성https://github.com/new 에서 아래와 같이 저장소를 생성한다. 2. Eclipse Git repositories perspective 로 전환이클립스로 돌아와 Git repositories perspective 로 전환한 후 해당 프로젝트 Remotes > Create Remote > URI Change > Location URI 에서 앞서 생성한 github 저장소의 주소를 입력한다. 하단의 인증정보 입력란에 github 계정 정보를 입력한다. Configure Push > Advanced... > Add All Branches Spec 클릭 > Save and Push master [..
guessing_game 민들기 - (3) Looping
2016. 10. 19.1. 반복문 만들기 현재까지는 정답을 맞출 때까지 질문이 이어지지 않고 1회성으로 끝난다. 이제 필요한 것은 이 과정을 반복작업으로 만드는 것이다. 아래를 보자. 123456789101112131415161718192021222324252627282930313233extern crate rand; use std::io;use std::cmp::Ordering;use rand::Rng; fn main() { println!("Guess the number!"); let secret_number = rand::thread_rng().gen_range(1, 101); println!("The secret number is: {}", secret_number); loop { println!("Please inp..
guessing_game 민들기 - (2) Generating a secret number
2016. 10. 18.1. 난수 발생기 다음으로 해야할 일은 비밀 숫자를 만들어내는 것이다. Rust 는 아직까지는 난수를 발생하는 기능을 표준 라이브러리에 포함하지 않고 있다. 하지만 rand crate 를 제공하고 있으므로, 이 패키지를 이용하면 된다. 외부 크레이트를 사용하기 위해서는 Cargo.toml 을 수정해야 한다. 파일을 오픈하고 dependencies 아래에 아래와 같이 rand 크레이트의 정보를 입력해주면 된다. [dependencies] rand="0.3.0" Cargo.toml 파일의 [dependencies] 는 일종의 패키지와 같다. Cargo 는 dependencies 섹션을 통해 어떤 외부 크레이트와 크레이트의 버전을 요구하는지 파악한다. 이 경우 0.3.0 이 의미하는 것은 0.3.0 과 호환되..
guessing_game 민들기 - (1) Processing a Guess
2016. 10. 18.사용자가 정답을 추측하는 Guessing game 을 만들어보자. 1. 아래와 같이 새로운 프로젝트(guessing_game)을 생성한다. cargo new 명령을 통해서 새로운 cargo 프로젝트를 명명하고, 바이너리임을 나타내는 --bin 플래그를 붙인다.123456789101112131415161718192021bourne@vikander MINGW64 ~/Evariste/workspace (master)$ cd rust-projects bourne@vikander MINGW64 ~/Evariste/workspace/rust-projects (master)$ cargo new guessing_game --bin Created binary (application) `guessing_game` proj..
Eclipse에서의 Git 사용 - (2) 커밋
2016. 10. 16.Eclipse에서의 Git 사용 - (2) 커밋 1. 예제로 사용할 C++프로그램을 만들어보자. 방금 작성한 파일에서 마우스 오른쪽 버튼을 클릭한 후 Team > Commit 를 선택한다. Unstaged Changes 의 파일 전체를 선택하여 Staged Changes 로 옮긴 후, Commit Message 항목에 메시지를 작성한다. 그리고 Commit를 클릭한다. 이제 프로젝트가 [topcoder NO-HEAD] 에서 [topcoder master]로 바뀐 것과 파일과 프로젝에 붙어있던 물음표가 사라진 것을 확인할 수 있다.
Eclipse에서의 Git 사용 - (1) 플러그인 설치 및 저장소 생성
2016. 10. 16.Eclipse에서의 Git 사용 - (1) 플러그인 설치 및 저장소 생성 1. Eclipse 플러그인 Egit 설치Luna 버전부터는 Git이 플러그인으로 기본으로 포함되어 있음필요한 경우 update를 한다. 2. Git Perspective 실행Egit 을 설치/업데이트한 후 Eclipse를 재실행한다.Perspective List에서 Git 아이콘을 클릭하거나 리스트 제일 좌측의 Open Perspective 아이콘을 클릭하여 Git Perspective를 실행한다. 3. 저장소 생성 Perspective에서 C/C++을 선택하고 새로운 프로젝트를 생성한다(File > New > C++ Project).프로젝트위에서 마우스 오른쪽 버튼을 클릭한 후 Team > Share Project 를 선택한다...
Django queryset filter datefield not empty
2016. 10. 15.특정 기간내에 유료회원으로 등록한 유저를 검색하는 쿼리에서 유료회원등록일이 Null 값인 회원이 검색되어 나오는 경우에는 다음과 같이 처리한다.123qs = Member.objects.exclude(reg_date__gt=end_dt).exclude(reg_date__lt=start_dt)\ .filter(~Q(reg_date__isnull=True)) Colored by Color Scriptercs Null 값을 포함하고자 하는 경우에는 다음과 같이 처리한다. 123456 qs = Member.objects.exclude(reg_date__gt=end_dt).exclude(reg_date__lt=start_dt)\ .filter(Q(reg_date__isnull=True)) qs = Member.ob..
Git 설치 및 사용준비
2016. 10. 13.1. Git 다운로드 https://www.git-scm.com/downloads사용중인 운영체제에 맞는 소프트웨어를 다운로드한다. 2. 사용자 계정 생성 12$ git config --global user.name "John Doe"$ git config --global user.email johndoe@example.comcs 3. 기본 편집기 설정 1$ git config --global core.editor "C:\Program Files (x86)\Notepad++' -multiInst -nosession"cs 4. 현재 설정내용 확인 12345678910111213141516$ git config --listcore.symlinks=falsecore.autocrlf=truecore.fscach..
20161007 <태아의 세계> 이상 1권
2016. 10. 12.2016.10.07 반디앤루니스 신세계강남점에서 구매태아의 세계국내도서저자 : 미키 시게오 / 황소연역출판 : 바다출판사 2014.11.10상세보기
Rust 프로그래밍 - 시작하기 (Rust - Getting Started)
2016. 10. 8.The Rust Programming LanguageRust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. “The Rust Programming Language” (https://doc.rust-lang.org/stable/book) 의 내용을 기반으로 Rust 프로그래밍을 실습하는 포스팅을 게재해보고자 합니다. 먼저 Rust 시작하기(https://doc.rust-lang.org/stable/book/getting-started.html)입니다. 1. 앞으로 Rust 실습에 사용할 아나콘다 가상환경 설치한다. 123456789101112131415161..
완벽하게 일관적인 사람은 죽은 사람뿐이다
2016. 10. 1.
2016년 2쿼터 USCPA 시험 합격률 CPA Exam Pass Rates: Q2 2016
2016. 9. 24.2016년 3번째 쿼터 합격자 발표가 속속 이어지고 있습니다. 많은 수험생들이 2017년 변경전 합격을 목표로 서둘러 응시를 하고 있는데요. 이러한 추세가 2017년 시험 변경을 앞두고 어떤 결과로 이어질지 궁금해지네요. 특히 시험 변경을 전후하여 발표되는 합격률은 변경되는 시험의 성격을 파악할 수 있는 유용한 도구가 되기도 하는데요, 본 포스팅에서 올해 1, 2 쿼터의 합격률에는 어떤 특징적인 요소가 있었는지 살펴보도록 하겠습니다. 위의 2분기 합격률을 살펴보면 아래의 특징을 발견할 수 있습니다. 1. 올해 2쿼터의 합격률 역시 최근 수년간의 트렌드에서 벗어나지는 않았습니다. 통상 2쿼터의 합격률은 전 섹션에서 1쿼터의 합격률보다는 높았습니다. 2. 하지만 올해 2쿼터의 합격률은 전년도의 2쿼터 합격률..
Django - Error: That port is already in use.
2016. 9. 20.Django runserver 실행시 Error: That port is already in use. 가 발생하는 경우 아래와 같이 해당 프로세스를 죽인 후 다시 실행한다. 1234567891011Error: That port is already in use.## ps aux | grep -i manageroot 73 0.0 0.0 0 0 ? S
2016년 74번째 책 (6/23~7/5) - 고코로야 진노스케, <평생 돈에 구애받지 않는 법>
2016. 9. 11.2016년 74번째 책 (6/23~7/5) - 고코로야 진노스케, 방법보다 본연의 자세가 중요하다. 즉, 매사를 대하는 전제를 바꿔야 한다. - 존재급이 높은 사람은 성과급에 연연하지 않는다. 그렇게 무서워하지 않아도 괜찮다. 평생 돈에 구애받지 않는 법국내도서저자 : 고코로야 진노스케 / 김한나역출판 : 유노북스 2016.06.27상세보기