카테고리 보관물: Machine Learning

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이 비교적 저수준(?) 라이브러리이기 때문에 텐서플로우 같은 고수준(?) 라이브러리를 쓴다는 말이 좀 어색하네요. 이 챕터의 마지막에는 책 전체에서 챕터별로 각각 어떤 알고리즘들을 다룰 것인지를 그림과 표로 요약해서 보여주고 있습니다. 이런 정리는 책의 전체 내용을 쉽게 파악하게 도와주므로 아주 좋은 것 같습니다.

계속 읽기

Model evaluation, selection and algorithm selection

아래 글은 파이썬 머신 러닝의 저자 세바스찬 라쉬카(Sebastian Raschka)의 블로그인 “Model evaluation, model selection, and algorithm selection in machine learning“를 저자의 동의하에 번역한 것입니다. 전체 포스트는 4편으로 연재될 예정이었지만 현재 3편까지 쓰여졌습니다. 첫 번째 글은 성능추정에 대한 전반적인 소개와 홀드아웃 방법, 신뢰구간 등을 이항분포를 예로 들어 설명합니다. 두 번째 글은 반복적인 홀드아웃 방법과 부트스트래핑 방식을 설명합니다. 세 번째 포스트는 하이퍼파라미터 튜닝을 위한 홀드아웃 방법과 크로스밸리데이션, 모델 선택에 대해 설명합니다.

  1. 머신 러닝의 모델 평가와 모델 선택, 알고리즘 선택 – 1장. 기초
  2. 머신 러닝의 모델 평가와 모델 선택, 알고리즘 선택 – 2장. 부트스트래핑과 불확실성
  3. 머신 러닝의 모델 평가와 모델 선택, 알고리즘 선택 – 3장. 크로스밸리데이션과 하이퍼파라미터 튜닝

ESL 2nd ed. 12th-print PDF and more

coverii_small머신 러닝 분야의 고전 중 하나인 Elements of Statistical Learning 2판의 12쇄본 PDF가 업로드되었습니다. 분량이 꽤되서 온라인으로 모두 읽기는 조금 힘들어도 드롭박스 같은데 담아두고 필요할 때 부분적으로 참고하기에 좋습니다. 2판의 에러타는 여기에 있으며 12판 이전의 PDF는 여기에서 확인할 수 있습니다.

ESL보다 조금 부담이 덜한 입문서격인 Introduction to Statistical Learning의 6쇄도 온라인에서 PDF에러타를 확인할 수 있습니다.

트레버 헤스티Trevor Hastie와 로버트 팁쉬라니Robert Tibshirani 두 교수가 만든 책 중 작년말에 출간된 Statistical Learning with Sparsity도 온라인에 PDF가 공개되어 있습니다.

Reliable ML in the Wild – NIPS 2016 Workshop

NIPS 2016 워크샵에서 관심을 많이 받았던 것 중에 하나인 ‘Reliable Machine Learning in the Wild‘의 동영상이 워크샵 스케줄 페이지에 링크되었습니다. 비디오가 공개된 것만 추려보았습니다. 비디오는 wmv 파일로 스트링이 아니고 다운로드입니다. 전체 동영상을 한꺼번에 받으시려면 여기에서 전체 목록을 쉽게 확인할 수 있습니다. 동영상외에 전체 자료는 워크샵 스케줄 페이지를 확인하세요.

8:40Opening Remarks (video)

Session 1: New Challenges in Machine Learning

9:00 – Invited talk: Rules for Reliable Machine Learning. Martin Zinkevich (video)

9:30 – Contributed talk: What’s your ML Test Score? A rubric for ML production systems. Eric Breck, Shanqing Cai, Eric Nielsen, Michael Salib, D. Sculley (slides) (video)

9:45 – Poster spotlights (video)

Session 2: Robustness to Model Mis-specification

10:30 – Invited talk: Robust Learning and Inference. Yishay Mansour (video)

11:00 – Invited talk: Automated versus do-it-yourself methods for causal inference: Lessons learned from a data analysis competition. Jennifer Hill (video)

11:30 – Contributed talk: Robust Covariate Shift Classification Using Multiple Feature Views. Anqi Liu, Hong Wang Brian D. Ziebart (video)

11:45 – Poster spotlights (video)

Session 3: Machine Learning and Security

1:30 – Contributed talk: Learning from Untrusted DataMoses Charikar, Jacob Steinhardt, Gregory Valiant (slides) (video)

1:45 – Invited talk: Adversarial Examples and Adversarial Training. Ian Goodfellow (video)

2:15 – Contributed talk: Summoning Demons: The Pursuit of Exploitable Bugs in Machine Learning. Rock Stevens, Octavian Suciu, Andrew Ruef, Sanghyun Hong, Michael Hicks, Tudor Dumitras (slides) (video)

2:30 – Poster spotlights (video)

Session 4: Reliable Robotics in Complex Environments

3:30 – Invited talk: Learning Reliable Objectives. Anca Dragan (video)

Session 5: Reliable Machine Learning in Practice

4:30 – Contributed talk: Online Prediction with Selfish Experts. Okke Schrijvers (video)

4:45 – Contributed talk: TensorFlow Debugger: Debugging Dataflow Graphs for Machine Learning. Shanqing Cai, Eric Breck, Eric Nielsen, Michael Salib, D. Sculley (slides) (video)

Discuss in Arxiv-Sanity

arxiv-sanity

OpenAI의 안드레이 카패시(Andrej Karpathy)가 운영하는 ML 페이퍼 아카이빙 사이트인 Arxiv Sanity Preserver에 댓글 기능이 추가되었습니다. 보통 페이퍼와 관련된 이야기들은 레딧이나 해커뉴스 게시판에서 많이 올라왔습니다. 분위기가 arxiv-sanity 쪽으로 잘 옮겨올지 궁금하네요. 개인적으로는 레딧보다 좀 더 정갈한 댓글을 기대해 봅니다. 🙂

Foundations of ML Workshop

연초에 포스팅했던 머신러닝 부트캠프 워크샵의 동영상이 공개되었습니다. 각 강의 동영상은 머신러닝 부트캠프 스케줄 페이지에 모두 연결되어 있습니다. 이 중에서 눈에 띄이는 것은 애플에 합류한 카네기 멜론 대학의 러슬랜 살라쿠디노프(Ruslan Salakhutdinov)의 딥러닝 튜토리얼 4편과 같은 대학의 엠마 브런스킬(Emma Brunskill)의 강화학습 튜토리얼 2편인 것 같습니다. 이 워크샵은 5월까지 총 4개의 시리즈로 진행됩니다. 1월에는 머신러닝 부트캠프였고 그 다음은 Interactive Learning, Representation Learning, Computational Challenges in Machine Learning 로 이어집니다. 자세한 내용은 워크샵 안내 페이지를 참고하세요.

러슬랜의 슬라이드는 아래 링크에서 다운받을 수 있습니다.

Quora Dataset: Question Pairs

quora-question-pairs

질문, 대답 사이트로 유명한 쿠오라(Quora)에서 머신러닝 데이터셋을 공개하였습니다. 이 데이터는 위 이미지에서 볼 수 있듯이 두개의 질문이 같은 질문인지 아닌지를 구분하는 과제입니다. is_duplicate 에 1이면 두 질문은 동일한 것입니다. 왼쪽 열에는 두질문 묶음에 대한 id 와 각 질문별 아이디 qid 가 있습니다. 쿠오라는 사람들이 동일한 질문을 많이 생성하여 정보가 단편화되는 것을 막기 위해 이 문제가 아주 중요하다고 생각합니다. 쿠오라는 동일한 질문을 구분할 수 있는 효과적인 접근 방법을 찾기를 원하고 있습니다. 질문 묶음이 40만개가 넘으며 이 중에서 중복된 질문 묶음은 대략 15만개, 서로 다른 질문은 25만개 정도입니다. 이 파일의 사이즈는 58메가 정도이며 다운로드는 여기에서 받을 수 있습니다.

ML Boot Camp, CS229T Lecture Note, Berkeley ML Blog

버클리 대학의 Simons Institute for the Theory of Computing 연구소에서 1월 23일 부터 27일 까지 머신러닝 부트 캠프를 진행합니다. 카네기 멜론 대학의 러슬랜 살라쿠디노프(Ruslan Salakhutdinov)를 비롯하여 머신러닝과 딥러닝 분야의 많은 연구자들이 강사로 참여합니다. 반가운 것은 이 부트 캠프의 슬라이드와 동영상이 행사가 종료되고 1 주일 남짓 후에 공개될 예정이라는 것입니다. 자세한 스케줄은 이곳을 참고하세요.

덧붙여 스탠포드 대학의 CS229T(Statistical Learning Theory) 2016 겨울 클래스의 강의 노트와 버클리 ML 블로그의 머신러닝 Crash Course #1, #2 도 최근에 나온 좋은 자료인 것 같습니다.

(업데이트) 버클리 ML 블로그 Crash Course #3 이 나왔습니다.

Python DS Handbook & ML with TF Repo.

얼마전 소개했던 ‘Python Data Science Handbook‘의 저자 제이크 반더플라스(Jake VanderPlas)가 깃허브에 코드와 텍스트를 포함한 책 전체를 주피터 노트북 형태로 공개하였습니다. 소스는 MIT, 텍스트는 CC BY-NC-ND 3.0 라이센스를 가지고 있습니다.

  1. IPython: Beyond Normal Python
  2. Introduction to NumPy
  3. Data Manipulation with Pandas
  4. Visualization with Matplotlib
  5. Machine Learning

title그리고 매닝(Manning) 출판사에서 MEAP 으로 나온 ‘Machine Learning with TensorFlow‘ 의 예제 소스 코드가 모두 깃허브에 MIT 라이센스로 공개되었습니다. 이 책은 아직 7장까지 밖에 쓰여지지 않았으니 글보다 코드가 먼저 나온 셈입니다.

 

  1. TensorFlow Basics
  2. Regression
  3. Classification
  4. Clustering
  5. Hidden markov models
  6. Autoencoders
  7. Reinforcement learning
  8. Convolutional Neural Networks
  9. Recurrent Neural Network