R TensorFlow 코드 깃헙 공개

딥러닝을 공부하는 가장 좋은 방법은 몇몇 대표적인 모형을 직접 코드로 작성해보고 모델링을 해보는 것이다. 최근에 많은 책들이 책을 출간하기 전에 코드를 깃헙에 공개하고 있는데, 이들 책 중에서 하나를 골라서 R로 코드를 구현하는 작업을 틈틈이 해왔다. 이 작업이 다소 번거로운건 Python코드와 R코드를 모두 잘 이해하고 구현해야 된다는 것이다. 다행히 Python에 대한 구현 경험이 있어서 큰 문제가 […]

계속 읽기

딥러닝 머신 그리고 TensorFlow R word2vec 코드 구현/모델링

TensorFlow Life 최근 TensorFlow를 팀에서 주로 사용하면서 이런저런 내부 프로젝트를 진행하고 있고, 과거에 보지 못했던 성과도 볼 수 있었으며, 이런 도구 사용과 경험을 통해 무엇보다 1년 전과는 문제를 바라보는 관점이 달라졌다는 것을 깊히 실감할 수 있었다. 이 때문에 거의 매일매일 새로운 경험을 하는 셈인데 그러면서 알고리즘에 대한 더 깊은 이해를 하게 되는거 같다. 과거 모든 […]

계속 읽기

TensorFlow with R

최근 Python이 데이터 분석 및 머신러닝에서 매우 좋은 도구로 인지되는 가장 중요한 역할을 한 부분은 딥러닝 기술을 리딩하고 있는 코어 랭귀지라는 측면이 가장 크다. 그 중심에는 TensorFlow가 있을 것이다. 필자의 경우 MXNet기반으로 몇몇 딥러닝 모형을 만들었고, 그중 몇몇은 실제 중요한 모델로서 역할을 잘 수행하고 있다. 물론 MXNet을 사용한 가장 중요한 이유는 R을 지원하는 몇 안되는 […]

계속 읽기

2016년 결산

2016년은 연말 회식도 그다지 많지 않아 2015년만큼이나 정신없이 지내지 않은 것 같다. 아마도 최근 최순실 사태 및 여러 마무리 되지 않은 사회적 이슈와 더불어 개인적으로도 마무리해야 되는 것들에 대한 정리로 바쁘게 연말이 지난 것 같다. 그래도 한해 소회 정도는 블로그에 올리는게 연례 행사인지라 간단하게 정리하고자 한다.   가족 두 아이의 아버지로서 그리고 한 여자의 남편으로서 […]

계속 읽기

KoNLP v.0.80.0 버전 업(on CRAN now)

KoNLP v.0.80.0 릴리즈 on CRAN 3년 5개월만의 업데이트다. 금번 업데이트에서 가장 큰 변화는 기존 36만에서 약 120만 형태소 사전을 탑재했다는 것이고, 이들 사전을 사용자들이 원하는 형태로 사용할 수 있게 하는데 방점을 두었다. 총 66개의 카테고리 사전을 보유하고 있으며 사용자들의 분석 대상에 맞게 카테고리 사전을 선택해 조합하여 사용할 수 있게 하였다. 추가 제공 사전 정보 : […]

계속 읽기

예측 모형에서의 클래스 불균형(class imbalance) 문제

최근 필자가 논문 리딩을 하는 와중에 클래스 불균형 문제(예측 대상이 되는 부류의 비율이 현저히 달라 생기는 문제)에 대한 논문을 보게 되면서 잠시 이쪽 방향에 대한 고민을 할 기회가 있었다. 실무적으로 많은 예측 업무가 몇개의 클래스들이 심하게 불균형된 상황에서 진행되다 보니 습관적으로 major class에 대한 under sampling을 통한 50:50 학습셋 비율을 맞추는 방향으로 업무를 진행했던게 사실이다. […]

계속 읽기

어떻게 하면 싱싱한 데이터를 모형에 바로 적용할 수 있을까? – Bayesian Online Leaning

예측 모형 운영의 문제점 Concept Drift 예측 모델링이나 머신러닝 영역에서 쓰이는 용어로서 시간이 지나면서 예측 성능이 달라지는 목적변수의 통계적 특징을 의미함 이런 특징은 시간이 지나면서 예측성능이 점차적으로 떨어지는 부작용을 일으킴 복잡한 사회 현상의 한 단면을 예측하자고 할 경우 사회현상에 대한 모든 변인을 고려해 모델링 하는 것은 불가능하기 때문에 이러한 실제 예측모형을 구축할때 점차적으로 성능이 달라지는 […]

계속 읽기

Overfitting을 피해보자!

Overfitting은 노이즈와 시그널을 구분하지 못하고 노이즈를 과도하게 학습에 사용하게 됨으로써 미래의 데이터에 대한 예측 퍼포먼스를 갉아 먹는 모형 상태를 의미한다.  이런 부분이 최근 빅 데이터 시대에 문제가 되는건 바로 다양한 데이터 때문이다.  필자는 지난번 포스팅에서 데이터가 부족해서 일어났던 과거의 오버피팅이 속성이 다양해지면서 발생하는 오버피팅문제로 전환 시켰다고 언급했는데, Lasso와 같은 Regularization 이외의 방식으로 오버피팅을 피하는 방안들을 […]

계속 읽기

Lasso 그리고 고차원 문제와 오버피팅

Lasso 속성의 숫자가 레코드보다 더 많은 경우 발생할 수 있는 문제는 오버피팅(overfitting)이다. 이는 레코드에서 sparse하게 나타난 패턴을 적절하지 않은 속성으로 과대 해석하게 됨으로써 발생하게 된다. 이 때문에 속성 선택 과정을 거치거나 혹은 더 많은 데이터를 구하는 과정을 거치게 된다. 위와 같은 경우는 앞으로 IoT(Internet of Things)가 일반화되어 특정 단위 시간에 다양한 종류의 데이터가 쏟아지게 되면서 […]

계속 읽기