전체 글
-
18.하노이의 탑practice_인공지능,머신러닝 2024. 10. 17. 13:40
답변: 하노이의 탑 문제는 재귀함수를 사용해 풀수있는 문제로 세 개의 기둥과 다수의 원반을 사용하여 원반을 이동시키는 문제입니다.(예, A-> C위치로 원판 3개이동) 재귀적 해결 방법은 원반을 n-1개를 A-> B위치로 이동한 후 가장 큰 원반 A-> C위치로 이동하고, 다시 n-1개 원반을 B->C로 이동하는 방식으로 해결합니다. 관련 개념: Tower of Hanoi (하노이의 탑): 원반을 세 개의 기둥 사이에서 원판을 이동시키는 문제입니다. Recursion (재귀): 문제를 더 작은 하위 문제로 나누어 해결하는 방법입니다. Base Case (기저 사례-제일마지막 1개까지진행): 재귀 호출을 종료하는 조건으로 이 하노이탑에서는 마지막 하나원판까지 옮기는것을 기저사례라한다.
-
RNN and Attentionpractice_인공지능,머신러닝 2024. 10. 16. 06:54
출처 : 파이토치를 이용한 자연어 처리 https://product.kyobobook.co.kr/detail/S000001810395 Q1. attention 왜 나왔는지sequence to sequence(encoder에서 vector통해 decoder나옴)의 Bottle neck문제(문장의 길이가 긴데 다 담지 못하는 문제)RNN 장기의존성문제, gradient vanishing문제를 해결해보려 나온게 attention Q2. Qurery, key, valuequery 는 decoder에서 나오는 벡터key, value 는 encoder에서 나온 벡터 (모든시점의 h) ---------------------------------------------------------------------..
-
RNNpractice_인공지능,머신러닝 2024. 10. 16. 06:53
RNN순차적 데이터 (Sequential data)Gradient vanishing - 로스를 w에 대해 미분했을때 곲하는값이 많아져서 gradient값(기울기 = 미분) 이 거의 0된데 Long term dependency문장 길이가 길어지면 초반 내용을 기억능력이 떨어짐-> 해결책 -> bidirectional RNN -> 좋은해결책아님장기 의존성(Long-term dependencies)은 모델, 시스템 또는 알고리즘이 입력 시퀀스의 초반부에서 중요한 정보를 시간적 또는 맥락적으로 먼 거리까지 기억하고 활용하는 능력을 말합니다. 이는 여러 머신러닝 및 자연어 처리(NLP) 작업에서 매우 중요한 개념으로, 특히 문장이나 문서 내에서 멀리 떨어진 단어들이나 개념들 간의 관계를 이해하는 데 필요합니다...
-
CNNpractice_인공지능,머신러닝 2024. 10. 16. 06:51
CNN (Convolution Neural Network)CNN : Kernel 로 stride 해주면서 연산하는 Neural Network (convoultion연산 - 내적x)사용이유: 순차적 데이터(이미지 특히) sequential data에 처리하기 좋아서 -> 이유: local feture를 잘 캐치함. 아래그림)모서리에 흰색왼쪽 빨간네모등 전체적 x는 다르지만 위치직 특징( local feature)를 잘뽑아낸다. 출처 https://velog.io/@skkumin/CNNConvolution-Neural-Network-%EC%9D%B4%EB%A1%A0 CNN(Convolution Neural Network) 이론컨브넷(convnet)이라고도 불리는 합성곱 신경망(..
-
04.Overfitting,Dropout,Weight Decay,Batch Normalizationpractice_인공지능,머신러닝 2024. 10. 16. 06:49
SummaryDropout : 학습중에 일부 가중치를 확률적으로 0으로 만드는것 Dropout 쓰는이유: overfitting 막는데 도움 Overfitting: 학습데이터를 모델이 거의 외워버린 상태 => 새로운 테스트 데이터 대해 모델이 성능 낮음 Overfitting 막는 방법: 데이터 늘리기, Early stopping(validation data), Weight Decay(가중치 감쇠), Dropout, Batch Normalization 아래그림) dropout 인공지능은 여러가지 입력값 (feature 들)을 받아서 예측을 한다. 이때, 모델이 특정한 입력값에 과하게 의존하게 되면, 이후 예측에 문제가 생길 수 있다. 예를 들어서, 오렌지와 레몬을 분류하는 인공지능을 만들었다고 하자. 사진이..
-
6. 동적프로그래밍practice_자료구조 2024. 10. 15. 18:43
동적 프로그래밍(DP)은 문제를 작은 부분 문제로 나누고, 각 부분 문제의 결과를 저장해 중복 계산을 피하는 알고리즘 기법입니다. 최적 부분 구조와 중복된 부분 문제가 있는 문제에서 효과적입니다. 이를 푸는 방법은 두 가지입니다:탑다운 방식(메모이제이션): 재귀적으로 문제를 풀고, 계산된 값을 저장해 중복 계산을 방지.바텀업 방식(테이블링): 작은 문제부터 해결해 큰 문제를 푸는 반복문 방식.예시로는 피보나치 수열, 최단 경로 문제, 배낭 문제 등이 있으며, 중복된 계산을 피하고 효율성을 높입니다. 피보나치수열 •따라서, 이미 계산한 값들을 적어 놓고 재사용한다면 (Memoization), 효율을 크게 올릴 수 있을 것 def dyn_fib(n):F = list()F[0] = 0F[1] = 1for ..
-
05.CNNpractice_인공지능,머신러닝 2024. 10. 14. 19:37
Q. 딥러닝에서 Convolutional Neural Network (CNN)의 기본 구조와 그 주요 층에 대해 설명해 주세요. A.Convolutional Neural Network (CNN)은 이미지나 시각 정보를 처리하는 딥러닝 모델로, 주요 층은 다음과 같습니다:입력층: 이미지 데이터를 입력받음.합성곱층 (Convolutional Layer): 필터를 사용해 이미지의 특징을 추출하고, 활성화 함수(ReLU)를 적용하여 비선형성을 추가.풀링층 (Pooling Layer): 차원을 줄이고 중요한 특징을 유지하는 역할, 최대 풀링(Max Pooling) 또는 평균 풀링(Average Pooling)을 사용.완전 연결층 (Fully Connected Layer): 추출된 특징을 바탕으로 분류 작업을 수..
-
KMP 문자열 검색 알고리즘practice_자료구조 2024. 10. 14. 15:18
KMP(Knuth-Morris-Pratt) 문자열 검색 알고리즘은 문자열 내에서 특정 패턴을 효율적으로 찾는 알고리즘입니다. 이 알고리즘은 부분 일치를 활용하여 불필요한 비교를 피하고, 패턴이 일치하지 않는 부분에서 이미 확인한 정보를 이용해 다음 비교를 효율적으로 수행합니다. 그 결과, KMP 알고리즘은 최악의 경우에도 시간 복잡도가 O(n)이 됩니다. n은 본문 문자열의 길이입니다. ### KMP 알고리즘의 주요 아이디어 KMP 알고리즘은 다음 두 단계로 나뉩니다: 1. **부분 일치 테이블(PI 배열 또는 LPS 배열) 생성**: 패턴 내부의 접두사와 접미사의 정보를 저장하여, 일치하지 않는 경우 얼마나 건너뛰어야 하는지를 계산하는 데 사용됩니다. 2. **본문 문자열 탐색**: 본문 문자열에서 패..