본문 바로가기

전체 글

(43)
[7주차] 시각지능 딥러닝 + 3차 미니프로젝트 목차 1. CNN 2. 객체인식 3. 3차 미니프로젝트 - 저시력자를 위한 원화 화폐 분류 1. CNN - Convolutional Neural Network 1-1. CNN의 주요 구성 요소 합성곱 계층 (Convolutional layer) : 입력 이미지나 이전 계층의 출력에 여러 개의 필터를 적용해 특징 맵(feature map)을 생성. 이 필터들은 이미지의 지역적인 특징을 감지하는데 사용, feature map을 구하는 공식(암묵지)는 {(I -F + 2P) / S } + 1 이다. 활성화 함수 (Activation function) : 딥러닝의 활성화함수와 동일 풀링 계층 (Pooling layer) : 특징 맵의 크기를 줄이거나 다운샘플링하는데 사용. 이를 통해 계산 복잡도를 줄이고, 모델..
[6주차] 2차 미니프로젝트 목차 1. 공공데이터를 활용한 미세먼지 농도 예측 2. 장애인콜택시 대기시간 예측 3. 후기 및 발표자료 1. 공공데이터를 활용한 미세먼지 농도 예측 2021년 미세먼지 데이터와 날씨 데이터를 학습 데이터로, 2022년 미세먼지와 날씨 데이터를 테스트 데이터로 사용해 2022년 미세먼지 농도를 예측하는 프로젝트 전처리를 하고 머신러닝을 이용했으며 시계열 데이터인만큼 데이터의 특성을 제대로 이해하고 전처리를 진행해야 머신러닝모델을 학습시켰을 때도 성능이 좋게 나왔다. 특성 중요도를 확인하거나 데이터가 많지 않으므로 GridSerach를 진행한 것이 도움이 되었다. # Feature의 중요도 확인 코드 import matplotlib.pyplot as plt # 특성 중요도 추출 feature_importa..
[5주차] 딥러닝 목차 1. 활성화 함수 2. 기본 모델 구조 3. 배치정규화와 드롭아웃 4. EarlyStopping과 val_loss 5. 모델 사용 예시 1. 활성화 함수 시그모이드(sigmoid) 함수 (activation = 'sigmoid') $$ f(x)=\frac{1}{1+e^{-x}} $$ 값의 범위가 0에서 1사이 이진 분류 문제의 출력층에서 주로 사용 단점 : 그래디언트 소실 문제(Vanishing Gradient Problem)가 발생할 수 있음 하이퍼볼릭 탄젠트(tanh) 함수 (activation = 'tanh') $$ f(x)=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}} $$ 값의 범위가 -1에서 1사이 시그모이드 함수보다 그래디언트 소실 문제가 덜 함 단점 : 그래디언트 소실 ..
알고리즘 스터디 22일차 [마지막] 목차 1. 동적 계획법 실전 문제 2. 알고리즘 스터디를 마치면서 출처 Do it! 알고리즘 코딩테스트 with Python 1. 동적 계획법 실전 문제 https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 먼저 주어진 조건은 다음과 같다. (이친 수 = 0과 1로만 이루어진 수) 1) 이친수는 0으로 시작하지 않는다. 2) 이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다. 동적계획법에서 점화식을..
알고리즘 스터디 21일차 드디어 왔다 극악무도한 동적 계획법 녀석! 목차 1. 동적 계획법 핵심이론 2. 동적 계획법 실전 문제 출처 Do it! 알고리즘 코딩테스트 with Python 1. 동적 계획법 복잡한 문제를 여러 개의 간단한 문제로 분리하여 부분의 문제들을 해결 동적 계획법의 원리와 구현 방식 1) 큰 문제를 작은 문제로 나눌 수 있어야 한다. 2) 작은 문제들이 반복돼 나타나고 사용되며 이 작은 문제들의 결괏값은 항상 같아야 한다. 3) 모든 작은 문제들은 한 번만 계산해 DP테이블에 저장하며 추후 재사용할 때는 이 DP테이블을 이용한다. (=메모이제이션 기법) 4) 동적 계획법은 톱-다운 방식과 바텀-업 방식으로 구현할 수 있다. 피보나치 수열을 통해 이해해보자 (D[N] = D[N-1] + D[N-2] 의 점화..
알고리즘 스터디 20일차 목차 1. 조합 핵심 이론 2. 조합 실전 문제 출처 Do it! 알고리즘 코딩테스트 with Python 1. 조합 핵심 이론 조합 점화식은 DP(동적계획법)을 이용하는데 중요하다. 문제를 접근할 때 모든 부분 문제가 해결된 상황이라고 가정하고 지금 문제를 생각해야 한다. 무슨말이냐면 예를들어 5개중에 3개를 선택해야하는 조합문제에서 (데이터 1 2 3 4 5) 5를 선택해야 하는 경우의 수를 구한다. 단, 이때 나머지 데이터 1 2 3 4 에 대한 문제는 해결된 상황이라고 가정한다. 그럼 5를 선택하는경우와 선택하지 않는 경우로 나눌수 있고 두 경우는 각각 [이미 4개중 2개를 선택한경우]와 [이미 4개중 3개를 선택한경우]이다. 위의 내용을 점화식으로 나타내면 다음과 같다. D[5][3] = D[4..
[4주차] 머신러닝 목차 1. 분류 2. 회귀 3. 정리 및 예시 1. 분류 1.1 분류 모델 DecisionTreeClassifier from sklearn.tree import DecisionTreeClassifier KNeighborsClassifier from sklearn.neighbors import KNeighborsClassifier LogisticRegression from sklearn.linear_model import LogisticRegression RandomForestClassifier from sklearn.ensemble import RandomForestClassifier XGBClassifier from xgboost import XGBClassifier LGBMClassifier from..
알고리즘 스터디 19일차 목차 1. 최소 공통 조상 (LCA) 2. LCA 응용 - 빠르게 구하기 출처 Do it! 알고리즘 코딩테스트 with Python 1. 최소 공통 조상 (LCA) 트리 그래프에서 임의의 두 노드를 선택했을 때 두 노드가 각각 자신을 포함해 거슬러 올라가면서 부모 노드를 탐색할 때 처음 공통으로 만나게 되는 부모 노드 일반적인 최소 공통 조상 구하기 : 트리의 높이가 크지 않을 때 (시간제한의 제약이 없을 때) 2. LCA 응용 - 빠르게 구하기 일반적인 LCA는 한칸씩 노드를 올려가면서 확인했지만 빠르게 구하기는 2^k 씩 올라가 비교한다. 따라서 기존에 자신의 부모노드만 저장해 높던 방식에서 2^k번째 위치의 부모 노드까지 저장. 부모 노드 배열의 정의 : k[K][N] = N번 노드의 2^k 번째 ..