Data Science (데이터과학 [240178], Spring Semester, 2023)


“Student-professor relationships are based on trust. Acts, which violate this trust, undermine the educational process. Your classmates and the professor will not tolerate violations of academic integrity.”


1. Course Schedule & Lecture Notes


# Date Lecture Presentation Notice
01 03월 06일(월) - 강의 소개
- Introduction to Data Science 강의 노트
Homework #1 (기한: 3월 26일 오후 23시 59분)
- Learn X in Y minutes에 소개된 코드를 자신만의 jupyter notebook 구성하여 URL 제출 (비전공자)
- 딥러닝과 파이토치 소개 (강의 교재 1장) 읽고 간단하게 요약하기
- 사전 훈련된 신경망 (강의 교재 2장) jupyter notebook 구성하여 URL 제출
02 03월 13일(월) - Deep Learning #1 강의 노트 - jupyter notebook 단축키
  • ESC, a: 현재 셀 바로 위에 새로운 코드 셀 추가
  • ESC, b: 현재 셀 바로 아래에 새로운 코드 셀 추가
  • ESC, dd: 현재 셀 삭제
  • ESC, m: 현재 셀을 markdown 셀로 변환
  • ESC, y: 현재 셀을 code 셀로 변환
  • ESC, c: 현재 셀 복사
  • ESC, y: 현재 셀 잘라내기
  • ESC, v: 복사하거나 잘라낸 셀을 붙여넣기
03 03월 20일(월) - Deep Learning #2
  1. Neural Network
  2. MSE Loss
  3. Cross Entropy Loss
  4. Learning (Backpropagation)
- Class Github: https://github.com/linklab/link_pytorch
04 03월 27일(월) - [1부] 파이토치 핵심: 3장 텐서 구조체 강의 노트
  1. Tensor - Basic
  2. Tensor - Advanced
  3. Tensor - Advanced II

-
05 04월 03일(월) - - [1부] 파이토치 핵심: 4장 실제 데이터를 텐서로 표현해보기
(Team 01. 이재홍, 김동호, 최대준)
Homework #2 (기한: 4월 16일 일요일 오후 23시 59분)
- 4.7 Exercises(연습문제) Problem 1(1번) 풀이
- 5.7 Exercises(연습문제) Problem 1(1번) 풀이
- 6.5 Exercises(연습문제) Problem 2(2번) 풀이
- 위 3개 문제의 풀이를 jupyter notebook으로 구성하여 URL 제출 (notebook viewer 주소 변환 필수)
06 04월 10일(월) . - [1부] 파이토치 핵심: 5장 학습 기법
(Team 02. 황자영, 윤혜빈, 라티나 아스투티)
- [1부] 파이토치 핵심: 6장 신경망을 활용한 데이터 적합
(Team 03. 권준형, 남태민, 김세진)
-
07 04월 17일(월) - Entropy, Cross Entropy, KL Divergence 강의 노트 - [1부] 파이토치 핵심: 7장 새와 비행기 구별하기: 이미지 학습
(Team 04. 김현재, 김경민, 박채호)
-
08 04월 24일(월) - - [1부] 파이토치 핵심: 8장 컨볼루션을 활용한 일반화
(Team 05. 조든솔, 신길종, 김성준)
09 05월 01일(월) - - [2부] 실전 이미지 학습: 10장 여러 데이터 소스를 통합 데이터셋으로 합치기
(Team 06. 권진우, 강동우, 조재민)
- pip install SimpleITK==2.2.1
- pip install diskcache==4.1.0
- wget https://zenodo.org/record/3723295/files/subset0.zip
- wget https://zenodo.org/record/3723295/files/subset1.zip
- ... - wget https://zenodo.org/record/3723295/files/subset5.zip
- wget https://zenodo.org/record/3723295/files/subset6.zip
- wget https://zenodo.org/record/4121926/files/subset7.zip
- wget https://zenodo.org/record/4121926/files/subset8.zip
- wget https://zenodo.org/record/4121926/files/subset9.zip
- 7z x subset0.zip
10 05월 08일(월) - - [2부] 실전 이미지 학습: 11장 종양 탐지를 위한 분류 모델 훈련
(Team 07. Hafiz Shakeel Ahmad, Sana Munir Khan, Ahmed Maaz)
-
11 05월 15일(월) - Evaluation 강의 노트 - [2부] 실전 이미지 학습: 12장 메트릭과 증강을 활용한 훈련 개선
(Team 08. 지창훈, 석영준, 차민혁)
-
12 05월 22일(월) - - [2부] 실전 이미지 학습: 13장 세그멘테이션을 활용한 의심 결절 탐색
(Team 09. 깅봉현, 쿠람 아슈파크, 김동근)
- Why is the word "Transposed" used in the term "Transposed Convolution"?
13 05월 29일(월) - 대체 공휴일
14 06월 05일(월) - - [2부] 실전 이미지 학습: 14장 엔드투엔드 결절 분석, 그리고 남겨진 과제
(Team 10. 황현서, 임상훈, 정승운)
-
14 06월 12일(월) - Terminology, Python Coroutines, JIT 강의 노트 - [3부] 드디어, 배포: 15장 제품으로 배포하기
(Team 11. 김영우, 김지우, 박회종, 박재웅)
15 06월 12일(월) 기말 고사

2. Course Information


  • - Lecturer: 한연희 교수 (Rm. 2공학관 423호, Email: yhhan@koreatech.ac.kr)
  • - Classes: 월요일 (16:00 ~ 18:50)
  • - Lecture Room: 317호

3. Book Presentation


  • - 팀발표: 팀당 3명 (모든 팀원이 발표 내용을 나누어 발표를 해야됨, 13장을 발표하는 팀만 4명)
  • - 팀구성 원칙: 1개 팀에는 반드시 두 개 이상의 학과 학생들로 구성되어야 함
  • - 팀구성 알림: 팀장이 모든 팀원들의 학과, 학번, 이름과 함께 발표하고자 하는 '장(Chapter)'를 1순위 및 2순위 선정하여 3월 27일(월요일)까지 yhhan@koreatech.ac.kr로 알림. 이 기한까지 알림을 주지 못한 팀은 3월 27일(월요일) 수업시간에 임의 배정 및 팀 구성 점수 10% 감점.
  • - Evaluation: 내용 이해도 (40%), 발표 자료 충실도 (30%), 발표 역량 (20%), 팀 구성 (10^%)
  • - 발표 자료 제출 사이트: http://el2.koreatech.ac.kr 의 자유게시판 활용 (게시물 제목에 팀 명, 팀 원 이름 제시)

  • [숙제 준비 방법]


    • 1) jupyter notebook 환경에서 각 숙제별로 ipynb 파일 생성


    • 2) ipynb 파일 내에 코드를 작성하고 작성한 코드 설명시에 Markdown 문법으로 입력해야 함


    • 3) 생성한 ipynb 파일에 대해 자신만의 방법을 사용하여 온라인상 URL을 생성

      • 로컬 파일을 원격으로 업로드하고 URL을 얻으려면 Google Drive, Dropbox 또는 OneDrive와 같은 클라우드 스토리지 서비스를 사용할 수 있음.
      • 다음은 Google 드라이브에 로컬 파일을 업로드하고 URL을 얻는 단계임:
        1. Google 드라이브 계정에 로그인합니다.
        2. "새로 만들기" 버튼을 클릭하고 "파일 업로드"를 선택합니다.
        3. 선택 업로드할 로컬 파일.
        4. 파일이 업로드되면 파일을 마우스 오른쪽 버튼으로 클릭하고 "링크 가져오기"를 선택합니다.
        5. 팝업 창에서 " 링크가 있는 사람은 누구나 볼 수 있습니다."
        6. 제공된 링크를 복사하면 업로드된 파일의 URL이 됩니다.

    • 4) 다음 사이트에 해당 URL을 입력

      • - http://nbviewer.jupyter.org
      • - 위 nbviewer 사이트를 통하여 보여지는 자신의 숙제를 확인하고 해당 nbviewer URL을 EL2의 자유게시판 본문에 글쓰기로 등록
        1. 따라서, 숙제 등록 URL은 반드시 http://nbviewer.jupyter.org/ 로 시작해야 함.
        2. 숙제 등록 URL 예: http://nbviewer.jupyter.org/urls/dl.dropbox.com/s/t9nmklgjkp7w4ok/kmeans.ipynb

4. Homework Guide


  • - PyTorch 기반 GNN 코딩 결과 리포트 제출
  • - 추후 구체적인 숙제 내용 제시
  • - 숙제 제출 사이트: http://el2.koreatech.ac.kr 의 자유게시판 활용

5. References


[강의 노트]

  • - 수업 시간 PDF로 제공

[발표 교재]

  • - 파이토치 딥러닝 마스터 , Deep Learning with PyTorch
    - 파이토치 딥러닝 마스터 Github

[보조 교재]

  • - Python 익히기:
  • - PyTorch 튜토리얼:

6. Logistics


  • - Attendance: one class absence will result in the deduction of two points out of 100 points. Five absences will not result in ten points deduction, but “failure” (i.e., grade ‘F’) in this course.
  • - Homework: much intensive homework will be set. Any cheating (or copying) will result in grade ‘F’.
  • - Exam: there will be the final examination for the evaluation of the knowledge learned from the class.

7. Lecture Evaluation


  • Attendance (10%), Book Presentation (35%), Homework #1 & #2 Reports (20%), Final Exam. (35%)