전체 글(137)
-
Pytorch로 시작하는 딥러닝 입문(02-01 파이토치 패키지의 기본 구성)
♣ torch메인 네임스페이스. 텐서 등의 다양한 수학 함수를 포함하고 있으며 Numpy와 유사한 구조 가짐 ♣ torch.autograd자동 미분을 위한 함수를 포함하고 있음. 자동 미분의 on/off를 제어하는 콘텍스트 매니저(enable_grad/no_grad)나 자체 미분 가능 함수를 정의할 때 사용하는 기반 클래스인 Function 등이 포함되어 있음. ♣ torch.nn신경망을 구축하기 위한 다양한 데이터 구조나 레이어 등이 정의되어 있음. RNN, LSTM과 같은 레이어, ReLU와 같은 활성화 함수, MSELoss와 같은 손실 함수들이 있음 ♣ torch.optim확률적 경사 하강법(Stochastic Gradient Descent, SGD)를 중심으로 한 파라미터 최적화 알고리즘이 구현..
2024.01.30 -
Pytorch로 시작하는 딥러닝 입문(01-05 데이터 분리, Splitting Data)
♣ 데이터를 분리하는 방법(독립변수, 종속변수)1. zip 함수를 이용하여 분리하기zip 함수는 동일한 개수를 가지는 시퀀스 자료형에서 각 순서에 등장하는 원소들끼리 묶어주는 역할을 함. 리스트의 리스트 구성에서 zip 함수는 X(독립변수)와 y(종속변수)를 분리하는 데 유용함. 각 데이터에서 첫 번째로 등장한 원소들끼리 묶이고, 두 번째로 등장한 원소들끼리 묶임. 이를 각각 X, y 데이터로 사용 2. 데이터프레임을 이용하여 분리하기 데이터프레임은 각 열에 접근이 가능하므로 이를 이용하면 손쉽게 X 데이터와 y 데이터를 분리할 수 있음 3. Numpy 이용하여 분리하기(slicing 이용) ♣ 테스트 데이터 분리하기이미 X와 y가 분리된 데이터에 대해 테스트 데이터를 분리하는 과정. 1. 사..
2024.01.30 -
Pytorch로 시작하는 딥러닝 입문(01-04 Machine Learning Workflow)
♣ 머신 러닝 워크플로우데이터를 수집하고 머신 러닝을 하는 과정 1. 수집(Acquisition)머신 러닝을 하기 위해 필요한 데이터를 수집하는 과정 2. 점검 및 탐색(Insepction and exploration, EDA)수집한 데이터를 점검하고 탐색하는 단계. 데이터의 구조, 노이즈 데이터, 머신러닝 적용을 위해서 데이터를 어떻게 정제할 지 등을 파악함.탐색적 데이터 분석(Exploratory Data Analysis, EAD) 단계라고도 하는데 독립 변수, 종속 변수, 변수 유형, 변수의 데이터 타입 등을 점검하며 데이터의 특징과 구조적 관계를 알아내는 과정임. 간단한 시각화와 통계 테스트를 진행하기도 함. 3. 전처리 및 정제(Preprocessing and Cleaning)데이터 전처리 ..
2024.01.30 -
DFS(깊이우선탐색, 백준 알고리즘 4963번)
♣ DFS(Depth-First-Search, 깊이우선탐색)트리나 그래프를 탐색하는 기법 중 하나로, 시작 노드에서 자식의 노드들을 순서대로 탐색하면서 깊이를 우선으로 탐색하는 알고리즘을 의미한다. 깊이를 우선시하여 모든 경우의 수를 탐색하며, 주로 반복문이나 재귀문을 활용하여 구현한다. ♣ DFS 탐색과정 1. 현재 노드를 방문한 것으로 표시함2. 방문 표시가 되어 있지 않은 각각의 인접한 정점을 탐색함3. 더 이상 방문하지 않은 정점이 없으면 이전 정점으로 역추적(backtracking)함4. 모든 정점을 방문할 때까지 과정을 반복함 0번 노드에서 탐색을 시작하면서 자식 노드인 1과 2를 탐색할 수 있다. 1번 노드를 탐색하였다고 결정하면 1번 노드의 자식들까지 완벽하게 탐색하기 전까지 2번 노드는..
2024.01.29 -
Chapter8. 협업 필터링 깊게 알아보기
♣ 데이터 확인하기 u.data 파일에 기본 테이블이 있음. u.data는 탭 문자로 구분된 문서형식에 기반한 사용자, 영화, 영화평점, 타임스탬프 열로 구성됨. 영화의 정보와 사용자의 정보를 조합하여 사용자가 아직 보지 않은 영화를 보았을 때 어떤 점수를 매길지 예측할 수 있음. 예시) 영화: 스타워즈 시리즈(SF, 액션, 고전 요소 표현) / 사용자(SF, 액션, 고전으로 각 요소별 선호하는 정도) * 노란색 = SF, 파란색 = 액션, 붉은색= 고전 둘 조합에서 유사성 계산하기 두 벡터를 곱한 결과를 모두 더하는 연산을 점곱(dot product)이라고 함. 예시) 영화: 카사블랑카(SF, 액션, 고전 요소 표현) / 사용자(SF, 액션, 고전으로 각 요소별 선호하는 정도) 이렇듯 SF, 액션, 고..
2024.01.22 -
BFS(너비우선탐색2, 백준알고리즘 11725번)
♣ 문제 ♣ 문제 이해 이전 글인 너비우선탐색을 이용하여 해결할 수 있는 문제이다. https://jy-deeplearning.tistory.com/72 BFS(너비 우선 탐색, 백준 알고리즘 16953번) ♣ 문제 ♣ 문제 이해 주어진 정수 A를 정수 B로 바꾸는 문제로, A*2를 하거나 str(A)+'1'을 해서 숫자를 바꿔간다. 첫 번째 예제를 보면 2 -> 4 -> 8 -> 81 -> 162 루트를 통해서 162를 만들 수 있고, 4번의 숫 jy-deeplearning.tistory.com 주어진 트리의 루트는 1이고, 1부터 시작하여 노드들이 연결된다. 이때 각 노드의 부모를 출력하는 문제이다. 위의 첫 번째 예제를 보면 트리는 아래와 같다. 노드 1을 제외하고 2부터 마지막 7까지의 부모 노드..
2024.01.22