하향식 학습 경로: 소프트웨어 엔지니어를 위한 기계 학습
코딩 인터뷰 대학에서 영감을 얻었습니다.
번역: 브라질 포르투갈어 | 중국어版本 | 프랑세즈 | 臺灣화어특본
나(Nam Vu)는 어떻게 머신러닝 엔지니어가 되기 위한 계획을 세웠는가?
그것은 무엇입니까?
이것은 모바일 개발자(독학, CS 학위 없음)에서 기계 학습 엔지니어로 나아가기 위한 몇 달 간의 학습 계획입니다.
나의 주요 목표는 초보자를 위해 주로 직접 실습하고 대부분의 수학을 추상화하는 기계 학습 연구에 대한 접근 방식을 찾는 것이었습니다. 이 접근 방식은 소프트웨어 엔지니어를 위해 설계된 하향식 및 결과 우선 접근 방식이라는 점에서 파격적입니다.
더 나아질 것이라고 생각되는 기여를 자유롭게 해주시기 바랍니다.
목차
- 그것은 무엇입니까?
- 왜 그것을 사용합니까?
- 사용방법
- 나를 따르라
- 당신이 충분히 똑똑하지 않다고 생각하지 마세요
- 비디오 리소스 정보
- 전제 지식
- 일일 계획
- 동기 부여
- 기계 학습 개요
- 머신러닝 숙달
- 머신러닝은 재미있다
- 더러워진 기계 학습
- 기계 학습: 심층 가이드
- 이야기와 경험
- 기계 학습 알고리즘
- 초급 도서
- 실용서적
- 캐글 지식 경연대회
- 비디오 시리즈
- MOOC
- 자원
- 오픈소스 기여자가 되기
- 계략
- 팟캐스트
- 커뮤니티
- 컨퍼런스
- 면접 질문
- 내가 존경하는 기업
왜 그것을 사용합니까?
나는 가까운 미래의 직업인 기계 학습 엔지니어를 준비하기 위해 이 계획을 따르고 있습니다. 저는 2011년부터 기본 모바일 애플리케이션(Android/iOS/Blackberry)을 구축해 왔습니다. 저는 컴퓨터 과학 학위가 아닌 소프트웨어 엔지니어링 학위를 가지고 있습니다. 나는 대학에서 미적분학, 선형 대수학, 이산 수학, 확률 및 통계에 관한 아주 약간의 기본 지식을 가지고 있습니다. 머신러닝에 대한 나의 관심을 생각해 보세요.
- CS 석사, 박사 학위를 공부하지 않고도 머신러닝을 배우고 취업할 수 있나요?
- "할 수는 있지만 현장에 들어갔을 때보다 훨씬 더 어렵습니다." 드랙 스미스
- 기계 학습을 독학하지만 직장에서 사용할 기회가 없는 소프트웨어 프로그래머로서 기계 학습 분야에 취업하려면 어떻게 해야 합니까?
- "나는 내 팀을 위해 기계 학습 전문가를 고용하고 있는데 당신의 MOOC가 당신에게 일자리를 주지 않을 것입니다(아래에 더 좋은 소식이 있습니다). 사실 기계 학습 석사 학위를 가진 많은 사람들이 일자리를 얻지 못할 것입니다. MOOC를 수강했습니다) 내 문제를 해결하는 데 도움이 될 깊은 이해가 없습니다." 로스 C. 테일러
- 머신러닝 작업에는 어떤 기술이 필요합니까?
- "첫째, 적절한 CS/수학 배경이 있어야 합니다. ML은 고급 주제이므로 대부분의 교과서에서는 당신이 그런 배경을 가지고 있다고 가정합니다. 둘째, 머신러닝은 고유한 기술을 요구하는 많은 하위 전문 분야가 포함된 매우 일반적인 주제입니다. 기계 학습에서 MS 프로그램의 커리큘럼을 탐색하여 코스, 커리큘럼 및 교과서를 볼 수 있습니다." 유리
- “확률, 분산 컴퓨팅 및 통계.” 수국
나는 어려움에 처해 있습니다.
AFAIK, 기계 학습에는 두 가지 측면이 있습니다.
- 실용적인 기계 학습: 이는 데이터베이스 쿼리, 데이터 정리, 데이터 변환을 위한 스크립트 작성, 알고리즘 및 라이브러리 결합, 어렵고 잘못 정의된 질문을 만족시키기 위해 데이터에서 신뢰할 수 있는 답변을 추출하는 사용자 정의 코드 작성에 관한 것입니다. 현실의 혼란입니다.
- 이론적인 기계 학습: 이것은 수학과 추상화, 이상적인 시나리오와 한계, 아름다움, 무엇이 가능한지 알려주는 것에 관한 것입니다. 그것은 훨씬 더 깔끔하고 깨끗하며 혼란스러운 현실에서 제거되었습니다.
실습 중심 방법론의 가장 좋은 방법은 '연습 - 학습 - 실습'이라고 생각합니다. 즉, 학생들이 먼저 문제와 해결책이 있는 기존 프로젝트(연습)를 가지고 해당 분야의 전통적인 방법에 익숙해지는 것을 의미합니다. 그들의 방법론으로. 몇 가지 기본적인 경험을 통해 연습한 후 책을 읽고 기본 이론을 공부할 수 있습니다. 이는 미래의 고급 연습을 안내하고 실제 문제를 해결하는 도구 상자를 향상시키는 역할을 합니다. 또한 이론을 공부하면 초등 경험에 대한 이해가 더욱 향상되고 고급 경험을 더 빨리 습득하는 데 도움이 됩니다.
장기적인 계획이에요. 몇 년이 걸릴 거예요. 이미 이것에 대해 많이 알고 있다면 시간이 훨씬 덜 걸릴 것입니다.
사용방법
아래의 모든 내용은 대략적인 내용이므로 위에서 아래로 순서대로 항목을 다루어야 합니다.
진행 상황을 확인하기 위한 작업 목록을 포함하여 Github의 특별한 마크다운 기능을 사용하고 있습니다.
Github 기반 마크다운에 대한 추가 정보
나를 따르라
저는 정말 열정적이고 미국에서 일하고 싶어하는 베트남 소프트웨어 엔지니어입니다.
이 계획 기간 동안 나는 얼마나 일했습니까? 직장에서 길고 힘든 하루를 보낸 후 대략 밤에 4시간 정도 걸립니다.
나는 여행 중입니다.
당신이 충분히 똑똑하지 않다고 생각하지 마세요
저는 책을 열자마자 다변량 미적분학, 추론 통계학, 선형 대수학이 전제 조건이라고 말하는 책과 강좌를 들으면 낙담합니다. 아직 어떻게 시작해야 할지 모르겠어요…
- 내가 수학을 잘 못 하면 어떡하지?
- 수학 배경지식 없이 머신러닝 알고리즘을 이해하는 5가지 기술
- 머신러닝은 어떻게 배우나요?
비디오 리소스 정보
일부 비디오는 Coursera 또는 EdX 수업에 등록해야만 볼 수 있습니다. 무료로 할 수 있지만 때로는 수업이 더 이상 진행되지 않아 몇 달을 기다려야 해서 접근할 수 없는 경우도 있습니다. 시간이 지남에 따라 공개 소스에서 더 많은 비디오를 추가하고 온라인 강좌 비디오를 대체할 예정입니다. 나는 대학 강의를 이용하는 것을 좋아한다.
전제 지식
이 짧은 섹션은 일일 계획을 시작하기 전에 배우고 싶었던 전제 조건/흥미로운 정보로 구성되어 있습니다.
일일 계획
각 과목을 완전히 이해하는 데 하루 종일 필요하지 않으며 하루에 여러 과목을 수행할 수 있습니다.
매일 나는 아래 목록에서 하나의 주제를 선택하여 처음부터 끝까지 읽고, 메모하고, 연습을 하고, Python 또는 R로 구현을 작성합니다.
동기 부여
기계 학습 개요
머신러닝 숙달
머신러닝은 재미있다
더러워진 기계 학습
기계 학습: 심층 가이드
이야기와 경험
기계 학습 알고리즘
초급 도서
실용서적
캐글 지식 경연대회
비디오 시리즈
MOOC
자원
계략
- Halite: AI 코딩 게임
- Vindinium: AI 프로그래밍 챌린지
- 일반 비디오 게임 AI 대회
- 앵그리버드 AI 대회
- AI 게임
- 격투게임 AI대회
- 코드컵
- 학생 스타크래프트 AI 토너먼트
- AIIDE 스타크래프트 AI 대회
- CIG 스타크래프트 AI 대회
- CodinGame - AI 봇 게임
오픈소스 기여자가 되기
팟캐스트
초보자를 위한 팟캐스트:
- 말하는 기계
- 선형 여담
- 데이터 회의론자
- 이번 주 기계 학습 및 AI
- 머신러닝 가이드
ML 실무자, 연구원, Kaggler와의 여정 인터뷰
- Chai Time 데이터 과학, 오디오, 글쓰기
- 초보자를 위한 기계 학습 - 인터뷰, 오디오
"더 보기" 고급 팟캐스트
- 부분 파생
- 오라일리 데이터 쇼
- 그렇지 않은 표준편차
고정관념에서 벗어나 생각해볼 수 있는 팟캐스트:
커뮤니티
쿼라
레딧
- 기계 학습
- 컴퓨터 비전
- 자연어
- 데이터 과학
- 빅데이터
- 통계
데이터 타우
딥러닝 뉴스
KDnuggets
컨퍼런스
- 신경 정보 처리 시스템(NIPS)
- 학습 표현에 관한 국제 회의(ICLR)
- 인공지능진흥협회(AAAI)
- IEEE 컴퓨터 지능 및 게임 컨퍼런스(CIG)
- 기계 학습 및 응용에 관한 IEEE 국제 회의(ICMLA)
- 기계 학습에 관한 국제 회의(ICML)
- 인공지능 국제합동회의(IJCAI)
- 전산언어학협회(ACL)
면접 질문
내가 존경하는 기업