카테고리 보관물: Machine Learning

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

MLYearning Draft

바이두의 앤드류 응(Andrew Ng) 교수가 쓰고 있는 Machine Learning Yearning 의 첫 드래프트(v0.5)가 공개되었습니다. 저자가 앞서 밝혔던 의도대로 수학식이 가득한 알고리즘 책이 아니고 머신 러닝 개발자에게 필요한 실천전략을 담고 있습니다. 전체는 대략 100여 페이지가 조금 넘을 듯 하고 약 55개 장으로 각 장마다 1~2 페이지 정도의 내용을 담고 있습니다. v0.5 드래프트에는 12개의 장이 포함되어 있습니다. 그리고 지금이라도 메일링 리스트에 가입하면 앞으로 업데이트될 때마다 책을 받아 볼 수 있습니다.

(업데이트) 14장까지 업데이트 된 합본입니다.

scikit-learn v0.18.1 Release

사이킷런 0.18 버전의 버그와 개선사항을 포함한 0.18.1 버전이 릴리즈 되었습니다. 사이킷런을 사용하는 모든 사람들에게 이 업데이트가 권장됩니다. 자세한 버그와 개선사항은 여기를 참고해 주세요. 아나콘다에서는 아래 명령으로 간단히 업데이트할 수 있습니다.

$ conda update scikit-learn

DL is Out of Control

내년 4월에 열리는 ICLR 컨퍼런스 리뷰를 위해 오픈 리뷰 사이트에 등록된 페이퍼가 500개가 훌쩍 넘었습니다. 종전에는 리뷰 대상 페이퍼가 많아야 백여건 정도라고 알고 있는데요. 500이 넘는 숫자는 정말로 압도적인 것 같습니다. 이 중에서 관심있는 분야의 것을 골라내는 것만 해도 일이 될 것 같으네요.

이는 비단 우리만의 문제는 아닌 것 같습니다. 많은 연구자들이 급속도로 발전하고 있는 딥 러닝 분야의 속도로 인한 고충을 토로하고 있습니다. 아마 어느 누구도 500 건이 넘는 페이퍼를 모두 읽지는 못할 것 같습니다. 선택과 집중 그리고 지식의 공유가 더욱 절실해지고 있습니다.

해커에게 전해들은 머신러닝

머신러닝과 딥러닝은 최근에 많은 개발자들에게 큰 관심을 받게 된것 같습니다. 이글은 서점에 있는 입문서를 보는데도 어려움을 느끼는 제 친구들을 위해 시작했습니다. 그러다 한빛미디어 세미나를 위해 조금 확장하여 작성하였습니다. 혹 머신러닝을 잘 아는 분이 이 글을 읽는다면 더 많은 사람들에게 도움이 될 수 있도록 부족한 점이나 잘못된 점을 알려 주시면 감사하겠습니다. 궁금한 점이나 개선할 부분 등 어떤 의견도 환영합니다.

세미나의 동영상이 한빛미디어 사이트에 등록되었습니다. 이 동영상을 수강하시면 제게도 도움이 됩니다. 🙂

가능하면 용어나 수식의 기호는 중용을 선택할 수 있도록 노력했고 수학 이론은 꼭 필요한 것만 다루었습니다. 여러 알고리즘이 있지만 가장 간단한 회귀 분석 부터 뉴럴 네트워크까지 자연스럽게 이어질 수 있도록 했습니다.

이 글에서 사용된 주피터 노트북 코드는 깃허브에서 확인할 수 있습니다. 소스 코드는 scikit-learn 버전 0.18 ,0.18.1 과 텐서플로우 버전 0.10, 0.11 에서 테스트 되었습니다.

그리고 이 글은 OpenAI의 안드레이 카패시(Andrej Karpathy)의 글 ‘해커가 알려주는 뉴럴 네트워크‘에서 일부분 영감을 얻었음을 밝힙니다. 재미있게 읽어 주세요.

 

해커에게 전해들은 머신러닝 #1

  • 머신러닝이란
  • 우리에게 필요한 도구들
  • 머신러닝 알고리즘 분류
  • 당뇨병 데이터
  • 하나의 뉴런
  • 경사하강법
  • 사이킷런에서는
  • 배치, 미니배치
  • 최소제곱법

해커에게 전해들은 머신러닝 #2

  • 테스트 데이터
  • 학습 속도
  • 검증 데이터
  • 정형화
  • 두개의 뉴런
  • 유방암 데이터
  • 로지스틱 회귀 분석
  • 사이킷런에서는

해커에게 전해들은 머신러닝 #3

  • 여러개를 분류하기
  • 소프트맥스
  • 손글씨 숫자 데이터
  • 딥 뉴럴 네트워크
  • 완전 연결 레이어
  • 그래디언트 행렬 계산
  • 완전 연결 뉴럴 네트워크
  • 사이킷런에서는

해커에게 전해들은 머신러닝 #4

  • 콘볼루션
  • 스트라이드, 패딩
  • 렐루
  • 서브샘플링
  • 텐서 크기
  • 콘볼루션 뉴럴 네트워크
  • 학습 결과

scikit-learn 0.18 Release

사이킷런(scikit-learn) 0.18 버전이 정식 릴리즈 되었습니다. 아나콘다를 사용할 경우 conda 명령으로 바로 업데이트 할 수 있습니다. 0.18 버전에는 퍼셉트론(Perceptron)이 추가되어 뉴럴 네트워크를 사이킷런에서 구현할 수 있게 되었습니다. 상세한 변경 내용은 이곳을 참고해 주세요.

Coursera: Probabilistic Graphical Models Start

코세라의 유명한 강좌 중 하나인 다프니 콜러(Daphne Koller)의 Probabilistic Graphical Models 강의 시리즈가 드디어 시작되었습니다. 지금 시작된 것은 첫번째 강의 Representation이고 나머지 두 강의는 Inference와 Learning 입니다. 아마도 코세라가 새로운 플랫폼으로 이전하면서 강의를 나누어 Specialization으로 만든 것 같습니다. 예전과는 달리 무료로 들을 경우엔 어떤 Certificate나 Statement도 주지 않습니다.