R’s way for Deep Learning with Keras

Keras는 high level 딥러닝 API의 표준을 달리고 있는 딥러닝 프레임웍 중에 하나이다. TensorFlow를 기점으로 Theano, CNTK를 지원하고 있으며, 현재 MXNet까지 관련 인터페이스를 개발하고 있어 점점 딥러닝의 표준으로 자리잡고 있다. 필자는 Keras(or TensorFlow) + Python 기반으로 실무를 하고 있는데, 사실 딥러닝 프레임웍을 제외하고는 데이터를 다루는 모든면에서 R이 더 효과적이라고 생각하고 있는 사람중에 하나이고 많은 분들이 이 […]

계속 읽기

RNN을 이용한 한글 자동 띄어쓰기

필자가 한글자동띄어쓰기를 처음 R로 구현한 결과에 대한 링크를 참고하면 한글 자동띄어쓰기가 어떠한 방식으로 구현되는지 기초적인 부분을 알 수 있을 것이다. 개인적으로 한글 텍스트 분석에서 띄어쓰기는 생각보다 중요한 부분을 차지하고 있다고 생각한다. 이 부분이 잘 되지 않는다면 이후의 다양한 한글분석 퀄리티에 큰 영향을 끼질 수 있기 때문이다. KoNLP 역시 한글 자동 띄어쓰기 모듈이 있기는하나, 매우 조악한 […]

계속 읽기

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

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

계속 읽기

TensorFlow with R

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

계속 읽기

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)가 일반화되어 특정 단위 시간에 다양한 종류의 데이터가 쏟아지게 되면서 […]

계속 읽기