카테고리 보관물: Machine Learning

New Jupyter Environment: Colaboratory

구글이 회사 내부에서 사용하고 있던 주피터 노트북의 커스텀 버전인 Colaboratory를 공개하였습니다. Colaboratory는 연구와 교육의 목적으로 개발되었다고 합니다. https://colab.research.google.com에 접속하면 샘플 노트북이 로드되는데요. 주피터 커널이 연결되어 있지 않은 상태입니다. 커널을 연결하기 위해서 권한을 요청하면 하루 정도 지나서 메일로 승인이 되었다는 안내를 받을 수 있습니다.

Colab에서 노트북을 생성한 후에 구글 드라이브에 저장을 할 수가 있습니다. 또한 구글 드라이브에서 새 문서 버튼을 통해 Colab 노트북을 직접 만들 수도 있습니다. 또 로컬 컴퓨터에 있는 주피터 노트북을 업로드해서 다른 사람과 공유할 수도 있습니다. 막다운markdown과 라텍LaTex도 물론 지원됩니다. 또 좀 더 편리한 텍스트 셀을 제공하고 있습니다.

스크린샷 2017-10-26 오전 11.40.12

Colab 노트북의 최대 크기는 20M까지입니다. Python 2.7만 지원하고 R이나 Scala는 아직 지원하고 있지 않습니다. 재미있는 것은 대부분의 파이썬의 과학 패키지는 최신 버전을 유지하고 있는데 텐서플로와 Scikit-Learn의 버전이 좀 뒤쳐져 있네요. 하지만 스터디나 튜토리얼 세션 등에는 유용하게 사용될 수 있을 것 같습니다. 🙂

스크린샷 2017-10-26 오전 10.58.27

Python ML 2nd Edition

cover_1세바스찬 라쉬카Sebastian RaschkaPython Machine Learning2판이 준비되고 있습니다. scikit-learn을 중심으로 쓰여진 파이썬 머신러닝 도서로 인기가 많았던 1판에 비해 여러가지 내용이 추가되어 페이지도 많이 늘어 났습니다(501 페이지 600 페이지가 넘네요).

가장 큰 변화는 구글 텐서플로TensorFlow에 대한 소개와 CNN, RNN 챕터를 추가한 것입니다. 아래 목차를 참고하세요.

  1. Machine Learning – Giving Computers the Ability to Learn from Data
  2. Training Machine Learning Algorithms for Classification
  3. A Tour of Machine Learning Classifiers Using Scikit-Learn
  4. Building Good Training Sets – Data Pre-Processing
  5. Compressing Data via Dimensionality Reduction
  6. Learning Best Practices for Model Evaluation and Hyperparameter Optimization
  7. Combining Different Models for Ensemble Learning
  8. Applying Machine Learning to Sentiment Analysis
  9. Embedding a Machine Learning Model into a Web Application
  10. Predicting Continuous Target Variables with Regression Analysis
  11. Working with Unlabeled Data – Clustering Analysis
  12. Implementing a Multi-layer Artificial Neural Network from Scratch
  13. Parallelizing Neural Network Training with TensorFlow
  14. Going Deeper: The Mechanics of TensorFlow
  15. Classifying Images with Deep Convolutional Neural Networks
  16. Modeling Sequential Data Using Recurrent Neural Networks

이 책은 9월에 출간될 예정이지만 소스 코드는 깃허브에서 주피터 노트북으로 읽으실 수 있습니다.

scikit-learn 0.19 Release

파이썬의 대표적인 머신 러닝 라이브러리인 scikit-learn 0.19 버전이 릴리즈 되었습니다. 0.19 버전에는 여러가지 새로운 기능과 버그 수정들이 포함되었습니다. 대표적으로는 이상치 탐지를 위한 sklearn.neighbors.LocalOutlierFactor, 분위 값을 사용하는 sklearn.preprocessing.QuantileTransformer, 이진 분류기를 엮어 앙상블 시킬 수 있는 sklearn.multioutput.ClassifierChain,  교차 검증에서 훈련 세트와 테스트 세트의 점수를 모두 리턴해 주는 sklearn.model_selection.cross_validate가 추가되었습니다.

sklearn.decomposition.NMF의 solver 매개변수에 ‘mu'(Multiplicative Update)가 추가 되었고 sklearn.linear_model.LogisticRegression에 L1 규제를 사용한 SAGA 알고리즘의 구현인 ‘saga’ 옵션이 solver 매개변수에 추가되었습니다. 또 cross_val_score와 GridSearchCV, RandomizedSearchCV의 scoring 매개변수에 복수개의 스코어 함수를 지정할 수 있게 되었고 Pipeline 클래스에 memory 매개변수가 추가되어 그리드 서치 안에서 반복적으로 수행될 때 전처리 작업을 캐싱할 수 있게 되었습니다. 이 외에도 많은 버그가 수정되고 기능이 향상되었습니다. 자세한 내용은 릴리즈 노트를 참고하세요.

scikit-learn 0.19 버전은 pip 나 conda 를 이용하여 손쉽게 설치가 가능합니다.

$ conda install scikit-learn

$ pip install --upgrade scikit-learn

SciPy 2017

파이썬 과학 컴퓨팅 컨퍼런스인 SciPy 2017이 텍사스주 오스틴에서 지난 10~16일에 열렸습니다. 올해에도 풍성한 토크튜토리얼 동영상이 유투브에 공개되었습니다. 이 중에 눈에 띄는 몇 개를 골라 보았습니다.

이 외에도 다양한 주제에 대한 여러 동영상이 많이 올라와 있습니다. 전체 리스트를 확인해 보세요.

NYU 조경현 교수의 Intro. to ML 강의 노트

뉴욕 대학교의 조경현 교수가 머신러닝 커리큘럼인 Introduction to Machine Learning을 위해 작성한 강의 노트를 깃허브에 공개하였습니다. 이 강좌는 올 봄 뉴욕대학교의 학부생을 위해 열렸습니다. 강의 노트의 제목 ‘Brief Introduction to Machine Learning without Deep Learning’으로 알 수 있듯이 딥러닝을 제외한 머신러닝의 핵심을 담았습니다. 깃허브에는 파이썬 도구를 이용한 연습문제와 주피터 노트북, 숙제도 포함되어 있습니다! 또 블로그에서 강의 노트를 작성하게 된 경위와 참고할만한 자료도 같이 소개하고 있습니다. 이 강의 노트는 pdf 62 페이지로 탐독하기에 아주 적당한 것 같습니다. 🙂

홍대 머신러닝 스터디 모집합니다. ^^

홍대 근처에 머신러닝에 관심있는 사람들과 함께 공부할 수 있는 자그마한 스터디 모임을 만들려고 합니다. 이 모임의 첫 목표는 “파이썬 라이브러리를 활용한 머신러닝” 도서를 완주하는 것으로 삼았습니다. 참여에는 아무런 조건도 필요치 않습니다. 자세한 내용은 밋업 이벤트를 참고해 주세요. 🙂

Hongdae Machine Learning Study

Seoul, KR
5 Members

홍대 근처에서 머신러닝을 공부하는 모든 분들을 환영합니다. 이 스터디 그룹에서는 “파이썬 라이브러리를 활용한 머신러닝”(한빛미디어, 2017)을 완주하기 위해 자료를 준비하고 있습니다. 함께 공부하고 이야기를 나누고 싶은 모든 분들에게 열려 있습니다.자격 조건: 남녀노소 또는 LGBT, 한국어 능통. 지켜야할 …

Next Meetup

“파이썬 라이브러리를 활용한 머신러닝”의 1장 소개, 2장 지도 학습

Tuesday, Jul 25, 2017, 7:00 PM
1 Attending

Check out this Meetup Group →

 

‘파이썬 라이브러리를 활용한 머신러닝’ 1, 2장

번역서 “파이썬 라이브러리를 활용한 머신러닝“의 1장과 2장의 내용을 담은 파이썬 머신러닝 페이지를 올렸습니다! 공개를 허락해 주신 한빛미디어에 다시 한번 감사의 말씀을 드립니다.

이 책의 1장과 2장은 지도 학습에 관련된 scikit-learn의 주요 클래스들을 다루고 있습니다. 여러 사람에게 유용한 자료가 되었으면 좋겠습니다. 최대한 출판된 책과 동일하게 포스트를 만들었는데 혹시 에러타가 있다면 언제든지 알려 주세요. 그럼 재미있게 읽어 주세요! 🙂

‘파이썬 라이브러리를 활용한 머신러닝’ 출간

b6119391002_lscikit-learn의 코어 개발자이자 배포 관리자인 안드레아스 뮐러Andreas Mueller와 매쉬어블의 데이터 과학자인 세라 가이도Sarah Guido가 쓴 ‘Introduction to Machine Learning with Python‘를 번역한 ‘파이썬 라이브러리를 활용한 머신러닝‘을 출간하였습니다.

출간 직전에 원서가 새로 릴리즈되어서 한바탕 소동을 벌이기는 등 이런 저런 일들이 오랜 작업 기간동안 생겼던 것 같습니다. 추운 겨울에 시작한 일을 한 여름이 되어서야 내놓게 되었네요. 책은 출간이 새로운 시작인 것 같습니다. 에러타나 궁금한 점 등 어떤 이야기도 괜찮습니다. 도서 페이지에 있는 양식을 통해 자유롭게 보내 주세요.

그리고 혹, 서점에 가시면 잘 보이는 곳으로 옮겨놔 주세요! 🙂

(업데이트) 번역서의 1장, 2장 전체를 블로그에 공개할 예정입니다. 공개를 허락해 주신 한빛미디어에 깊이 감사드립니다. 원고를 정리해서 올릴려면 1주일 정도 걸릴 것 같습니다. 😀

PyCon 2017

스크린샷 2017-05-22 오후 12.01.28

지난 주 캘리포니아 구글 마운틴뷰에서 구글 IO 2017이 열렸습니다. 많은 사람들의 관심이 구글 IO에 집중될 때 바로 그 위 오레건 주에서는 파이콘 2017이 같이 시작됐습니다. ^^ 파이콘이 구글 IO처럼 라이브 스트림되지는 못하지만 벌써 유투브에 튜토리얼과 토크 동영상이 올라왔습니다! 파이콘 유투브 채널에서 데이터 사이언스와 관련있는 것을 추려 보았습니다. (파이콘 코리아 2017도 8월에 열립니다)

[Review] ML with TensorFlow

title매닝Manning 출판사의 텐서플로우 책인 “Machine Learning with TensorFlow“가 거의 원고를 마무리하고 곧 출간될 예정입니다. 이 책의 최신 MEAP 버전을 바탕으로 간략히 리뷰를 작성합니다.

이 책은 텐서플로우를 이용하여 머신 러닝 알고리즘을 작성하는 챕터들로 구성되어 있습니다. 머신 러닝의 관점에서도 텐서플로우의 관점에서도 모두 입문서에 해당합니다. 크게 세가지 파트로 나뉘어져 있으면 첫 번째는 머신 러닝과 텐서플로우의 소개, 두 번째 파트는 회귀, 분류, 군집, 히든 마코브Hidden Markov 모델을 소개합니다. 마지막 세 번째 파트에서는 오토인코더autoencoder, 강화 학습, CNN, RNN을 다룹니다.

1장에서 대부분의 다른 책들 처럼 머신 러닝에 대한 개괄적인 소개를 하고 있습니다. 모델, 파라미터, 학습, 추론(여기서 말하는 추론은 통계의 추론이 아니고 머신 러닝의 예측을 말합니다), 특성 등을 포함합니다. 그리고 L1, L2 노름을 포함하여 일반화된 노름norm에 대해서 잘 설명하고 있습니다. 그리고 세가지의 큰 머신 러닝 분류인 지도 학습, 비지도 학습, 강화 학습을 사례를 들어 차이를 설명합니다. 씨아노Theano, 토치Torch, 카페Caffe에 대해 간략히 소개하고 텐서플로우를 사용하려는 이유와 소개를 합니다. 그런데 scikit-learn이 비교적 저수준(?) 라이브러리이기 때문에 텐서플로우 같은 고수준(?) 라이브러리를 쓴다는 말이 좀 어색하네요. 이 챕터의 마지막에는 책 전체에서 챕터별로 각각 어떤 알고리즘들을 다룰 것인지를 그림과 표로 요약해서 보여주고 있습니다. 이런 정리는 책의 전체 내용을 쉽게 파악하게 도와주므로 아주 좋은 것 같습니다.

계속 읽기