Dark light (2023)
Dark light < Dark light > series consists of 10 artworks. It is a collection of pieces with a strong contrast of light and shadow, inspired by everyda...
Python Roadmap
🔹 목표: 파이썬 기초, 자료형, 제어문, 리스트/배열 개념 확실히 익히기
Day | 학습 내용 | 필수 실습 활동 |
---|---|---|
Day 1 | 변수 & 자료형 (int , float , str , bool ) |
✅ type() 을 활용해 자료형 직접 확인 |
Day 2 | 문자열 다루기 (split , strip , replace , join ) |
✅ [::-1] 로 문자열 뒤집기 |
Day 3 | 리스트 & 튜플 (list.append() , tuple ) |
✅ list vs. array 차이 코드로 실험 |
Day 4 | 딕셔너리와 집합 (dict , set ) |
✅ dict 에서 keys() , values() , items() 활용 |
Day 5 | 조건문 & 반복문 (if , for , while ) |
✅ range() 활용, for 반복문으로 구구단 만들기 |
Day 6 | 반복문 심화: zip() , enumerate() 활용법 |
✅ 두 리스트를 zip() 으로 병렬 순회 |
Day 7 | 함수 (def , return , lambda ) & 리스트 컴프리헨션 |
✅ lambda 와 map() 을 활용해 제곱수 리스트 만들기 |
🔹 목표: 리스트, 스택, 큐, 해시 테이블 익히기 + 기본 정렬 알고리즘 학습
Day | 학습 내용 | 필수 실습 활동 |
---|---|---|
Day 8 | 재귀 함수 & 팩토리얼 구현 | ✅ 피보나치 수열 재귀로 구현 |
Day 9 | 스택 (list , collections.deque ) |
✅ 괄호 검사 문제 ("{[()]}" ) |
Day 10 | 큐 & 우선순위 큐 (queue.Queue , heapq ) |
✅ heapq 를 사용해 최솟값 찾기 |
Day 11 | 정렬 알고리즘: 선택 정렬, 버블 정렬 (O(n²) ) |
✅ sorted() 없이 버블 정렬 구현 |
Day 12 | 정렬 알고리즘: 삽입 정렬, 병합 정렬 (O(n log n) ) |
✅ 병합 정렬 직접 구현 |
Day 13 | 탐색 알고리즘: 선형 탐색, 이진 탐색 (O(n) , O(log n) ) |
✅ bisect 모듈을 활용한 이진 탐색 |
Day 14 | 정렬 & 탐색 복습 + 미니 프로젝트 | ✅ CSV 파일 정렬 및 검색 프로그램 만들기 |
🔹 목표: 고급 정렬, 해시 테이블, 트리 자료구조 익히기
Day | 학습 내용 | 필수 실습 활동 |
---|---|---|
Day 15 | 퀵 정렬 (O(n log n) ) |
✅ sorted() 없이 퀵 정렬 구현 |
Day 16 | 슬라이딩 윈도우 & 투 포인터 알고리즘 | ✅ 특정 합을 만족하는 부분 배열 찾기 |
Day 17 | 트리 자료구조 (이진 탐색 트리, AVL 트리) | ✅ 이진 탐색 트리 직접 구현 |
Day 18 | 그래프 이론 (DFS , BFS ) |
✅ 미로 탈출 문제 해결 |
Day 19 | 다익스트라 최단 경로 알고리즘 (heapq ) |
✅ 최단 거리 계산 |
Day 20 | 동적 프로그래밍 (memoization , lru_cache ) |
✅ 피보나치 DP 구현 |
Day 21 | 알고리즘 프로젝트: 최적 경로 탐색기 만들기 | ✅ Dijkstra 알고리즘 활용 |
🔹 목표: 데이터 다루는 법 익히고 머신러닝 기본 개념 이해하기
Day | 학습 내용 | 필수 실습 활동 |
---|---|---|
Day 22 | 파일 I/O (open() , json , csv ) |
✅ CSV 데이터 읽고 분석 |
Day 23 | 데이터 분석 (pandas , numpy ) |
✅ pandas 를 이용한 기초 데이터 분석 |
Day 24 | 데이터 시각화 (matplotlib , seaborn ) |
✅ matplotlib 을 활용한 그래프 그리기 |
Day 25 | 기본 머신러닝 개념 (지도학습 vs. 비지도학습) | ✅ 선형 회귀 개념 이해 |
Day 26 | Scikit-learn으로 머신러닝 모델 학습 | ✅ LinearRegression 실습 |
Day 27 | 딥러닝 개요 (뉴런, 활성화 함수, 신경망 구조) | ✅ 신경망 Forward/Backward Propagation 개념 이해 |
Day 28 | 텐서플로우 & 파이토치 기초 | ✅ TensorFlow 로 간단한 모델 만들기 |
🔹 목표: 머신러닝의 기본 개념을 이해하고, 주요 알고리즘을 직접 구현
Day | 학습 내용 | 필수 실습 활동 |
---|---|---|
Day 29 | 머신러닝 기본 개념 (지도학습 vs. 비지도학습, 과적합 문제 이해) | ✅ 머신러닝 주요 용어 (Feature, Label, 모델 학습 과정) 정리 |
Day 30 | 데이터 전처리 (pandas , numpy ) & 결측값 처리 |
✅ dropna() , fillna() 를 활용한 결측값 제거 및 대체 |
Day 31 | 선형 회귀 (Linear Regression) 원리와 구현 | ✅ sklearn.linear_model.LinearRegression 으로 모델 학습 |
Day 32 | 다항 회귀 & 다중 회귀 (Polynomial Regression, Multiple Regression) | ✅ 다항식 변환 후 회귀 모델 학습 (PolynomialFeatures ) |
Day 33 | 로지스틱 회귀 (Logistic Regression) & 분류 문제 | ✅ sklearn.linear_model.LogisticRegression 으로 분류 문제 해결 |
Day 34 | k-최근접 이웃 (kNN) 알고리즘 & 거리 개념 | ✅ sklearn.neighbors.KNeighborsClassifier 활용 |
Day 35 | 5주차 미니 프로젝트: 머신러닝을 활용한 타이타닉 생존자 예측 | ✅ Titanic Dataset 을 활용해 생존자 예측 모델 구축 |
🔹 목표: 머신러닝 모델 최적화 & 딥러닝 기초 학습 시작
Day | 학습 내용 | 필수 실습 활동 |
---|---|---|
Day 36 | 결정 트리 (Decision Tree) & 랜덤 포레스트 | ✅ sklearn.tree.DecisionTreeClassifier 활용 |
Day 37 | SVM (Support Vector Machine) 이해 및 구현 | ✅ sklearn.svm.SVC 로 이미지 분류 |
Day 38 | 앙상블 학습 (배깅 & 부스팅: XGBoost, LightGBM) | ✅ XGBoost 및 LightGBM 모델 학습 |
Day 39 | 모델 평가 지표 (Precision, Recall, F1-score, AUC-ROC) | ✅ classification_report() 으로 모델 평가 |
Day 40 | 신경망 기본 개념 (퍼셉트론, 활성화 함수, 손실 함수) | ✅ sigmoid , ReLU 활성화 함수 직접 구현 |
Day 41 | 텐서플로우 & 케라스 기초 (TensorFlow , Keras 사용법 익히기) |
✅ Dense 레이어를 활용한 MLP 모델 만들기 |
Day 42 | 6주차 미니 프로젝트: MNIST 숫자 이미지 분류 모델 구축 | ✅ Keras 로 MNIST 데이터셋 학습 |
🔹 목표: CNN과 RNN을 활용해 이미지 & 자연어 처리 학습
Day | 학습 내용 | 필수 실습 활동 |
---|---|---|
Day 43 | 합성곱 신경망 (CNN) 기초 - 컨볼루션, 풀링 | ✅ Conv2D 레이어를 사용해 필터 적용 실습 |
Day 44 | CNN을 활용한 이미지 분류 실습 | ✅ CIFAR-10 데이터셋으로 CNN 모델 학습 |
Day 45 | 순환 신경망 (RNN, LSTM, GRU) 개념 이해 | ✅ SimpleRNN vs LSTM 비교 실험 |
Day 46 | RNN을 활용한 시계열 데이터 분석 | ✅ 주식 데이터 예측 모델 구축 |
Day 47 | 자연어 처리 (NLP) 기초: 토큰화, 임베딩 개념 | ✅ nltk , spaCy , word2vec 실습 |
Day 48 | 트랜스포머 (Transformer) 개념 & BERT 소개 | ✅ Hugging Face 의 transformers 라이브러리 활용 |
Day 49 | 7주차 미니 프로젝트: 감성 분석 AI 모델 만들기 | ✅ IMDB 영화 리뷰 데이터로 감성 분석 모델 구축 |
🔹 목표: 실전 프로젝트 수행 & 최신 딥러닝 모델 활용
Day | 학습 내용 | 필수 실습 활동 |
---|---|---|
Day 50 | GAN (Generative Adversarial Network) 개념 이해 | ✅ DCGAN 을 활용한 이미지 생성 실습 |
Day 51 | Style Transfer & Autoencoder | ✅ VGG-19 을 활용한 스타일 변환 |
Day 52 | 강화학습 (Reinforcement Learning) 기초 개념 이해 | ✅ OpenAI Gym 환경에서 에이전트 훈련 |
Day 53 | 강화학습 심화 (DQN, PPO, A3C) | ✅ Stable-Baselines3 활용한 학습 실험 |
Day 54 | 8주차 실전 프로젝트 1: 이미지 생성 AI 모델 구축 | ✅ GAN을 활용한 이미지 생성 모델 |
Day 55 | 8주차 실전 프로젝트 2: 자연어 기반 챗봇 구축 | ✅ transformers 라이브러리로 챗봇 만들기 |
Day 56 | 최종 프로젝트 마무리 & 모델 최적화 | ✅ 프로젝트 코드 정리 및 발표 자료 준비 |
Dark light < Dark light > series consists of 10 artworks. It is a collection of pieces with a strong contrast of light and shadow, inspired by everyda...
Speculative Artificial Mycelium Network 🏆2024 AI x Art Hackathon 3rd Place < Speculative Artificial Mycelium Network > illuminates the limitation...
Focus < Focus > embodies the essence of intense concentration. My experience of focus, which resembles switching on the light inside of me, was symbol...
Foodlink: Grocery Management App Design for International Students at Dormitories