머신 러닝

[머신러닝 강의] 코세라 강의 로드맵

마빈 Marvin 2022. 5. 15. 04:26

 

들어가며

 

캐나다 데이터 과학자인 Greg Hogg 라는 유튜버의 Coursera ML 로드맵인데, 구성이 괜찮아 보여서 따라 해봐야지 하고 있다. 데이터 과학자 분들의 링크딘 프로필의 자격증란 (Licenses & certifications) 를 눈팅하는 편인데, 어떤 순서로 강의들을 들어야하나 고민이 있었다. Greg Hogg 의 영상에서 스텝-바이-스텝으로 강의를 추천해줘서 좋은 것 같다. 

 

방학을 계기로 하루에 몰아서 시간을 하루에 4-5시간씩 몰아서 듣고자 한다. 이전에 MySQL 수업 들을 때 일주일 동안 무료였던 걸로 기억한다. 나는 이 방식이 좋았던 것이 "금전적인 인센티브"가 생겨서 기간 안에 수업을 끝낼 수 있는 것 같다. 물론, 그 때 "취소"버튼을 누르지 않아서 결재를 했지만... 이번에는 좀 더 주의해서 수업을 들어봐야겠다. 

 

코세라 강의 링크와 간략한 수업 소개

 

Greg Hogg 의 Courseral ML 로드맵 영상 링크: https://www.youtube.com/watch?v=08G-u9HN8Kc

 

듣기에 앞서서 추천된 강의들내용들을 정리해봐야겠다. 

 

스텝 1: 데이터 과학 여행의 시작

 

IBM DS 자격증

링크:  https://coursera.pxf.io/9WjVmY

 

클릭해보면, 4개의 수업으로 구성되어 있다. 

수업1: 데이터 과학이란 무엇인가? - 총 8시간인데, 개론같은 느낌이다. 굳이 들어야하나 싶기는 한데 어떤 내용인지 궁금해서 들어봐야겠다.

수업2: 데이터 과학을 위한 툴(장비) - 총 20시간이다. Python, R, Scala, SQL 프로그래밍의 개략적인 내용을 다룬다. 깃헙, 주피터 노트북, RStudio IDE 를 다룬다. 주피터 노트북 공유하는 방법도 배운다고 한다. Scala 제외하면 조금씩 다뤄보기는 했는데, 정리하는 겸 해봐도 괜찮을듯싶다. 

수업3: 데이터 과학 방법론 - 총 8시간. 데이터 과학 방법론을 배우고, 비즈니에서의 분석을 배운다고 한다. 모델이 deploy 되었을 때 피드백이 중요한 이유와 동료가 평가하는 과제가 있다고 하는데, 강의계획서만 봐서는 무슨 내용인지 잘 감이 잡히지는 않는다. 

수업4: 데이터 과학을 위한 파이썬 - 총 17시간. 파이썬 기본, 파이썬 데이터 구조 등. 파이썬에 자주 사용되는 문법들을 정리하는데 도움이 되지 않을가 싶다. (총 5주차인데, 4주차까지 하고 5주차는 API, webscrapping 내용이라 일단 생략했다.)

수업5: (데이터 과학을 위한 파이썬 프로젝트) - 총 6시간. HTML 을 이용해서 webscrapping 을 한다. 

수업6: 파이썬과 함께하는 데이터 과학자를 위한 데이터 베이스와 SQL - 총 39시간. Python 을 이용해서 SQL DB 를 다룬다. SELECT 등의 쿼리도 배우는듯하다. 시카고 데이터셋으로 실습하는 내용이 있나보다. 

수업7: 파이썬을 이용한 데이터 분석 - 총 14시간. GroupBy, Ridge Regression 의 내용도 있다. 

수업8: (파이썬을 이용한 데이터 시각화) - 총 18시간. Matplot, creating a Dashboard. 

수업9: 파이썬을 이용한 머신러닝 - 총 24시간. 강화, 비강화, 컨텐츠 기반 추천시스템 (recommendation system). 

수업10: (데이터 사이언스 캡스톤 응용) - 총 17시간. 실습. RESTful API 를 이용해 EDA (Exploratory Data Anlysis) 를 하고, Interactive Visual Analytics and Dashboard 를 만든 후에 PRedictive Analysis (Classification) 을 수행한다. 잘 활용하면 맛보기로 괜찮을 것 같기도 하다. 연습한 내용을 내가 궁금한 토픽에 적용해보는 것도 좋은 연습이 될 것 같다. 

 

(괄호)를 친 수업은 일단 패스하고 다시 돌아와야겠다. 회색으로 itelic 표시를 한 내용은 일단 1차 시도는 성공한 강의이다.

 

스텝 2: 머신러닝 기본

 

앤드루 응 선생님의 수업 

링크: https://coursera.pxf.io/Ao1gxK

26시간. Matlab 을 사용한다. 최근에 DeepLearning.AI. 에서 해당 수업의 업데이트된 버젼을 보여준다고 한다. 홈페이지 가보니까 대기자 등록을 하라고 랜딩 페이지에 보인다. 

 

ML 에서 가장 유명한 수업이자 Coursera 가 시작할 때 만들어진 수업인데, 오래된 만큼 매트랩을 사용하는 것이 단점이다. 예전에 듣다가 말았던 것 같은데, 회귀식의 coefficient 구할 때 경사하강법 사용해서 흥미로웠다. 매트랩의 코드를 참고해서 파이썬으로 코드를 만들어 보는 것도 괜찮은 공부 방법이지 않을까 싶다. 

 

Gregg Hogg (DS 유튜버)는 파이썬으로 배우는 다른 수업도 추천해두었으니, 관심이 있다면 찾아보는 것도 좋을듯하다. 

 

스텝 3: 딥 러닝 기본

 

링크: https://coursera.pxf.io/Jrvke2

수업이 5가지로 이루어져있다. 

 

수업 1: 뉴럴 네트워크와 딥러닝 - 총 30시간. 로짓 회귀로 시작한다. 주피터/ipython 노트북도 이용한다. 그 이후에 뉴럴 네트워크에 대한 내용을 다루는데, 강의를 들어봐야 내용을 이해할 것 같다. 

수업 2: 뉴럴 네트워크 개선: Hyperparameter Tuning, Regularization and Optimization - 총 27 시간. 뉴럴 네트워크에 관한 심화된 내용을 다루는 듯하다. 텐서플로우를 다룬다. 

수업 3: Structuring ML Projects - 총 10시간. 프로젝트를 하면서 발생하는 문제들을 발견하고 개선하는 그런 내용을 다루는듯하다. 

수업 4: Convoultional Neural Networks - 총 40시간. 컴퓨터 비젼에 관한 내용도 다룬다. 흠... 나는 필요 없을듯한데... 나는 현재는 NLP 에 관심이 더 많은 것 같다. 시간이 부족하면 나는 스킵할 것 같다. 수업 5에서 스피치 recognition 과 NLP 가 나오는데 선수로 들어야하려나... 

수업 5: Sequence Models - 총 42 시간. 음성 recodnition, 챗봇, NLP 등을 다룬다. 재밌을 것 같다. 

 

여기까지 배우면 파이썬으로 데이터 다룰 줄 알고, ML/딥러닝 좀 공부했구나 싶지 않을까 싶다. 하지만, ML 관련 프로젝트를 보여주기 위해서는 관련 툴을 더 배워야하지 않을까. 이 다음 스텝들에서 그러한 툴들을 다루는 것 같다. 

 

스텝 4: ML 스킬의 적용

 

텐서 플로우 딥러닝 특화

링크: https://coursera.pxf.io/kj1Rj3

 

AI 를 이용한 알고리즘을 적용한 소프트웨어 개발자가 텐서 플로우를 실천할 수 있도록 해주는 강의인 것 같다. 

 

수업 1: AI, ML, 딥러닝을 위한 텐서플로우 서론 - 총 19시간. 뉴럴 네트워크에서 "헬로우 월드"를 할 수 있나보다. 뭔가 실습하는 내용이 많아보인다. 

수업 2: Convolutional Neural Networks in TensorFlow - 총 18시간. 본격적으로 적용하는 것 같다. 이미지 데이터를 사용하는 것 같다. 

수업 3: NLP in 텐서플로우 - 총 25시간. 단어 토큰화하는 등의 NLP 내용인 것 같다. 전에 파이썬의 word2vec 을 사용한 적이 있는데, 관련해서 좀 더 깊게 배울 수 있지 않을까 싶다. 

수업 4: 순서, 시계열과 예측 - 총 24시간. 시계열도 있고, 순서가 있을 때의 예측을 하는 것 같다. 어떤 원리로 "순서"의 개념을 딥러닝에서 적용하는지 궁금하다. 

 

스텝 5: 클라우드 

 

AWS Web 서비스 데이터 과학 특화

링크: https://coursera.pxf.io/n1Z4rV

수업 3개

수업 1: 데이터셋을 분석하고 AutoML 을 이용해서 ML 모델을 훈련하기 - 총 19시간. Amazon SageMaker 다룬다. Amazon Sage Maker Autopilot 으로 텍스트 분류를 하는듯하다. 

수업 2: Build, Train, and Deploy ML Pipelines using BERT - 총 14시간. BERT(Bidirectional Encoder Representations from Transformers) 를 이용해서 더 효율적으로 NLP 작업을 하는 것 같다. 

수업 3: ML 모델의 최적화와 Deploy Human-in-the-Loop Pipelines - 총 15시간. 모델의 퍼포먼스를 높이고 비용을 줄이는 테크닉을 배우는 것 같다.  강의 설명 중 "Amazon SageMaker Hyper-parameter Tuning (HPT), you will deploy two model candidates into an A/B test to compare their real-time prediction performance and automatically scale the winning model using Amazon SageMaker Hosting"

 

이거닷!!!

 

(또는)

 

구글 클라우드 빅 데이터 & 머신러닝 on 구글 클라우드 플랫폼

링크: https://coursera.pxf.io/a19K1o

BigQuery ML 도 있는 듯하다. 나는 AWS 에 집중할 예정이라 GCP는 패스해야겠다. 

 

스텝 6: 텐서플로우 마스터하기

링크: https://coursera.pxf.io/Ao1KoN

수업 4가지가 있다. 앞의 스텝1-5 해보고 나서 필요할 내용인지 고민해봐야겠다. 

 

보너스

강화학습

링크: https://coursera.pxf.io/15Mb5x

 

Apache Spark 특화

Spark 연습이 필요한데, 꼭 필요할까 싶기도 하다. SparkHadoop 관련해서는 다른 강의를 더 찾아봐야겠다. 

수업 1: 총 5시간 30분 .

수업 2: 총 10시간.

수업 3: 총 11시간

 

IBM 클라우/웹 개발 특화

IBM Full Stack 소프트웨어 개발자 자격증. 엔지니어링 스킬을 좀 더 보여줄 수 있지 않을까 싶었으나, 굳이 자격증이 필요할까 싶기는 하다. 웹사이트를 만든다면 자격증이 불필요하겠다는 생각이 들었다. 

 

수업 4개

수업 1: 클라우드 컴퓨팅 서론 - 총 10시간. 클라우드에 대한 개념 설명인듯합니다. 클라우드에서 DevOps 에 대한 내용도 있습니다. 

수업 2: 웹개발 서론 - 총 10시간. HTML, CSS, JavaScript - 총 00시간. 할 줄 알아서 굳이 할 필요가 있을까 싶다. 국내에 좋은 강의들이 이미 존재한다. 

수업 3: 깃과 깃헙 시작 - 총 7시간

수업 4: Developing Cloud Native Applications - 총 7시간. IBM Cloud web 이라는 단어가 나오는데 굳이 필요할까 싶기는 하다. 

 

그 외 관심 강좌

Modern Application Development with Node.js on AWS 특화 과정

링크 to Coursera

수업 3개

수업 1: AWS Cloud Technical Essentials - 총 16시간. AWS EC2, Storage 로 Dynamo DB 를 사용하는듯하다. MySQL 을 사용하는 DB 는 없을까? 

수업 2: Building Modern Node.js Applications on AWS - 총 13시간. AWS Lambda. 

수업 3: Amazon DynamoDB: Building NoSQL Database-Driven Applications - 총 7.5시간. AWS Dynamo DB. 

 

마무리하며

 

여름 방학 (약 3개월, 5월 중순-8월 중순) 의 목표는 AWS 를 이용해서 web application 에 추천 시스템을 AB testing 하는 것이다. 스텝 1-3 까지는 ML 에 대한 기본 개념을 익히고, 스텝 4에서는 텐서플로우를 적용하며, 스텝 5에서 AWS SageMaker 에서 ML 모델을 AB 테스팅 해볼 수 있으리라 기대한다. 

 

Spark, Hadoop 과 같은 데이터베이스에 대한 스킬셋도 필요하긴 한데, 일단 위의 프로젝트가 어느 정도 성과가 보이면 그 때 생각해봐야겠다.