tensorflow 49

머신러닝 파이프라인에서 데이터 전처리 방법

Data Preprocessing in ML Pipeline 본글은 구글 클라우드 블로그에 포스팅한 글을, 재 포스팅 허가를 받은 후 포스팅한 글입니다. 다른 좋은 글들도 많으니 아래 출처 링크를 참고해 주새요출처 링크 머신러닝 파이프라인에서, 데이터는 모델 학습 및 서빙의 입력에 알맞게 가공되어야 한다. 이를 전처리라고 하는데, 이번 글에서는 전처리에 대한 개념과 이에 대한 구현 옵션등에 대해서 알아보도록 한다.처리 단계별 데이터 분류머신러닝에서 데이터 전처리는 모델 학습에 사용되는 데이터 형태로 데이터를 가공하는 과정을 이야기한다.데이터 전처리는 여러 단계로 이루어지는데, 단계별로 처리된 데이터에 대해서 다음과 같이 명명한다. Raw data초기에 수집된 원본 데이터로 분석이나, 머신러닝 학습 용도로..

쿠버네티스 기반의 End2End 머신러닝 플랫폼 Kubeflow #1 - 소개

End2End 머신러닝 플랫폼 Kubeflow 조대협 (http://bcho.tistory.com)머신러닝 파이프라인머신러닝에 대한 사람들의 선입견중의 하나는 머신러닝에서 수학의 비중이 높고, 이를 기반으로한 모델 개발이 전체 시스템의 대부분 일 것이라는 착각이다.그러나 여러 연구와 경험을 참고해보면, 머신러닝 시스템에서 머신러닝 모델이 차지하는 비중은 전체의 5% 에 불과하다. 실제로 모델을 개발해서 시스템에 배포할때 까지는 모델 개발 시간보다 데이타 분석에 소요되는 시간 그리고 개발된 모델을 반복적으로 학습하면서 튜닝하는 시간이 훨씬 더 길다. 머신러닝 파이프라인은 데이타 탐색에서 부터, 모델 개발, 테스트 그리고 모델을 통한 서비스와 같이 훨씬 더 복잡한 과정을 거친다. 이를 머신러닝 End to ..

K Fold Cross Validation

K Fold Cross Validation 조대협 (http://bcho.tistory.com) K 폴드 크로스 벨리데이션 / 교차 검증이라고도 함. 용어 정리.별거 있는건 아니고 전체 데이타를 K개로 나눈다음. (각각을 폴드라고함), 첫번째 학습에서는 첫번째 폴드를 테스트 데이타로 쓰고두번째 학습에서는 두번째 폴드를 테스트 데이타로 쓰고N번째 학습에서는 N번째 폴드를 테스트 데이타로 쓴다. (출처 : http://library.bayesia.com/pages/viewpage.action?pageId=16319010) 그래서 폴드가 5개면 5 Fold CV (Cross validation)이라고 한다.

Apache Beam (Dataflow)를 이용하여, 이미지 파일을 tfrecord로 컨버팅 하기

Apache Beam (Dataflow)를 이용하여, 이미지 파일을 tfrecord로 컨버팅 하기 조대협 (http://bcho.tistory.com) 개요텐서플로우 학습에 있어서 데이타 포맷은 학습의 성능을 결정 짓는 중요한 요인중의 하나이다. 특히 이미지 파일의 경우 이미지 목록과 이미지 파일이 분리되어 있어서 텐서플로우에서 학습시 이미지 목록을 읽으면서, 거기에 있는 이미지 파일을 매번 읽어야 하기 때문에, 코딩이 다소 지저분해지고,IO 성능이 떨어질 수 있다텐서플로우에서는 이러한 학습 데이타를 쉽게 읽을 수 있도록 tfrecord (http://bcho.tistory.com/1190)라는 파일 포맷을 지원한다. 이 글에서는 이미지 데이타를 읽어서 tfrecord 로 컨버팅하는 방법을 설명하며, 분..

NMF 알고리즘을 이용한 유사 문서 검색과 구현(2/2)

NMF 알고리즘을 이용한 유사 문서 검색과 구현(2/2)sklearn을 이용한 구현 조대협 (http://bcho.tistory.com) http://bcho.tistory.com/1216 를 통하여 tf-idf를 이용하여 문서를 벡터화 하고, nmf를 이용하여 문서의 특성을 추출한 다음, 코싸인 유사도를 이용하여 유사 문서를 검색하는 알고리즘에 대해서 알아보았다. 이번글에서는 이 알고리즘을 직접 sklearn을 이용해서 구현해보도록 하자. sklearn은 이용하면 분산 학습을 이용한 대규모 데이타 처리는 불가능하지만, 작은 수의 문서나 모델에는 사용이 가능하다. 무엇보다 sklearn의 경우 대부분의 모델을 라이브러리화 해놓았기 때문에, 복잡한 구현이 없이 쉽게 사용이 가능하다. 전체 소스 코드는 ht..

NMF 알고리즘을 이용한 유사한 문서 검색과 구현(1/2)

NMF 알고리즘을 이용한 유사한 문서 검색과 구현(1/2) 조대협 (http://bcho.tistory.com) 앞의 글들에서, 데이타의 특징을 뽑아내는 방법으로 차원 감소 (Dimension reduction) 기법에 대해서 설명하였다. 구체적인 알고리즘으로는 PCA와 t-SNE 알고리즘을 소개하였는데, 오늘은 차원 감소 기법중의 하나인 행렬 인수분해 (Matrix Factorization)에 대해서 알아보고자 한다.문서 유사도 검색행렬 인수 분해를 설명하기 위해서 유사한 문서를 찾는 시나리오를 예를 들어서 설명하겠다.문서 유사도 검색의 원리는 다음과 같다 문서에 나온 각 단어들을 숫자(벡터)로 변환하여 행렬화 한다.행렬화된 문서에서 차원 감소 기법을 이용하여, 문서의 특징을 추출한다.추출된 특징을 기..

t-SNE를 이용한 차원 감소 (Dimension reduction)

t-SNE를 이용한 차원 감소 조대협 (http://bcho.tistory.com) PCA 기반 차원 감소의 문제점앞의 글에서 차원 감소에 대한 개념과, 차원 감소 알고리즘의 하나인 PCA 알고리즘에 대해서 살펴보았다.PCA의 경우 선형 분석 방식으로 값을 사상하기 때문에 차원이 감소되면서 군집화 되어 있는 데이타들이 뭉게져서 제대로 구별할 수 없는 문제를 가지고 있다. 아래 그림을 보자 출처 https://www.youtube.com/watch?v=NEaUSP4YerM 이 그림은 2차원에서 1차원으로 PCA 분석을 이용하여 차원을 줄인 예인데, 2차원에서는 파란색과 붉은색이 구별이 되는데, 1차원으로 줄면서 1차원상의 위치가 유사한 바람에, 두 군집의 변별력이 없어져 버렸다.t-SNE이런 문제를 해결하..

수학포기자를 위한 딥러닝과 텐서플로우의 이해

이 글은 제가 텐서플로우와 딥러닝을 공부하면서 블로그에 메모해놨던 내용을 모아놓은 글입니다.혼자 공부하면서 어려웠던 점도 있었기 때문에, 저처럼 텐서플로우와 딥러닝을 공부하시는 분들께 도움이 되고자 자료를 공개합니다. 텐서플로우 초기버전부터 작성하였기 때문에, 다소 코드가 안맞는 부분이 있을 수 있으니 이 점 양해 부탁드리며, 이 글은 개인이 스터디용으로 자유롭게 사용하실 수 있으며, 단체나 기타 상용 목적으로 사용은 금지 됩니다. 혹시 이 교재로 공부하시다가 잘못된 부분을 수정하셨으면 다른분들을 위해서 친절하게 댓글을 달아주시면 감사하겠습니다.