batch processing
-
배치 방식과 온라인 방식의 모델 학습Programming & Machine Learning/풀어쓰는 머신러닝 2017. 8. 3. 01:50
배치방식, 온라인 방식에 대한 개념일반적으로 대중화된, 아이리스 데이터 등으로 데스크탑에서 손쉽게 돌려볼 수 있는 머신러닝 자료들은 데이터를 통째로 IDE로 불러들인 다음 메모리상에 올려두고 작업하는 방식이었을 것이다. 모델을 학습함에 있어서도 모든 트레이닝 데이터셋의 결과값을 한번에 구한 뒤, 데이터셋과 쌍이 맞는 레이블과의 차이를 구해서 비용함수를 한번에 개선하는 방식의 학습을 n-iterative 하게 진행하였을 것이다. 하지만 머신러닝을 진행함에 있어서 데이터의 크기는 언제든지 늘어나게 된다. 아마 실전의 대부분은, 한 개의 데스크탑에서 불러올 수 없는 양의 데이터가 대부분일 것이다. 이런 경우 R 혹은 Python등의 툴로는 데이터를 메모리에 올려놓고 한번에 처리하기가 힘들어진다. 그렇게 되면 ..
-
Mini Batch Processing 방식의 구현과 학습모델의 임베딩Programming & Machine Learning/Python X 머신러닝 2017. 8. 2. 20:34
아웃 오브 코어 기법 (mini batch processing 방식)배치 방식이 아닌 온라인 방식으로 모델을 학습한 뒤, 학습한 모델을 저장해보고 다시 읽어보는 예제를 진행하였다. in-memory 방식으로 대용량 데이터를 학습시키고 모델을 만들기에는 한계가 있다. 따라서 mini batch의 방식으로 데이터를 chunk로 나누어서 처리해야 한다. 감성분석에서 사용한 대용량 데이터를 다시 예제로 사용하였다. tf-idf를 추출하기 위해서는 TfidfTransformer 클래스를 사용했지만, mini batch 방식(=온라인)에서는 사용할 수가 없다. 하지만 비슷한 일을 해주는 HashingVectorizer가 있다. 이를 통해 전체 문서에서 tf-idf를 하는 것과 비슷한 작업을 해줄 수 있다. 참고로,..