728x90

전체 글 57

[Algorithm] 너비 우선 탐색 (BFS, Breadth-first Search)

그래프 (Grpah) 함수 그래프 != 그래프 이론의 그래프 함수 그래프 : x(정의역), y(치역)에 해당하는 값을 좌표 상에 표시하는것 그래프 이론의 그래프 : *꼭짓점(Vertex)과 간선(Edge)으로 구성, G = (V, E) *꼭짓점(Vertex) == 노드(Node) +추가 - 그래프에는 간선이 화살표 => 단방향, 실선인 경우 => 양방향 그래프 - 간선에 가중치를 주는 경우도 있음, 아무것도 쓰여있지 않으면 모두 1이거나 같은 가중치 너비 우선 탐색 (BFS, Breadth-forst Search) : 연결되어있는(인접한) 노드를 우선적으로 탐색하는 것이다. 자료구조 *큐(queue) 를 사용하여 구현할 수 있으며 과정은 현재 노드와 연결된 노드를 큐에 append 후 큐의 가장 처음 노..

[ISLP Chapter 2] 통계학습

일반적인 형태Y = f(X)+εf : 알려지지 않은 고정함수Y : 종속변수, 결과변수 등등X : 독립변수, 설명변수 등등ε : 랜덤 오차항 (X와 독립적, 평균 = 0) 1. 통계학습이란?: f를 추정하는 일련의 기법들을 말한다 1.1 f를 추정하는 이유는?: 대표적으로 예측과 추론을 수행하기 위함 예측(Prediction) -> 축소가능 오차를 최소로 하는 f를 추정하는 것이 목표 Ŷ = f̂(X)ε 의 평균이 0이어서 생략f̂  : 블랙박스로 취급 한다. f̂ 이 Y에 대한 정확한 예측을 수행한다면 모델의 형태에는 신경쓰지 않는다예측 정확성축소가능(reducible) 오차 : f를 다시 추정해나가면서 개선 가능축소불가능(irreducible) 오차 : 개선 ..

통계/ISLP 2024.01.24

[Algoritnm] 깊이 우선 탐색 (DFS, Depth-first Search)

그래프 (Grpah) 함수 그래프 != 그래프 이론의 그래프 함수 그래프 : x(정의역), y(치역)에 해당하는 값을 좌표 상에 표시하는것 그래프 이론의 그래프 : *꼭짓점(Vertex)과 간선(Edge)으로 구성, G = (V, E) *꼭짓점(Vertex) == 노드(Node) +추가 - 그래프에는 간선이 화살표 => 단방향, 실선인 경우 => 양방향 그래프 - 간선에 가중치를 주는 경우도 있음, 아무것도 쓰여있지 않으면 모두 1이거나 같은 가중치 깊이 우선 탐색 (DFS, Depth-first Search) : 말 그대로 상위 레벨의 노드 --> 하위 레벨의 노드를 우선적으로 탐색하는 것이다. 하지만 이미 방문했던 노드는 다시 방문하지 못하며 더이상 탐색할 노드가 없을 시 이전 노드로 옮겨서 방문하지..

[파이토치 서포터즈] 파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터 비전 심층학습

위키북스에서 진행하는 파이토치 서포터즈에 신청을 해서 선정되었다. 작년 ai관련 프로그램에 참여하면서 머신러닝, 딥러닝 뿐만 아니라 DS나 DA에 필요한 여러 과목을 배웠었는데 특히 딥러닝 과목에서 애를 먹었다. 파이토치는 익숙하지 않아서... 프로젝트를 할 때 자연어 처리를 기반으로 하는 주제여서 파이토치 배우는것에 대한 필요성을 확실히 느꼈었다. 목차 1. 파이토치 시작하기 2. 자연어 처리 3. 컴퓨터 비전 4. 서비스 모델링 부록 페이지수 786p 책이 두꺼워 부담스러울 수 있지만 단순히 딥러닝에 대한 지식 뿐만이 아닌 통계, 머신러닝에 대한 내용이 포함되어 있어 공부할 때 내용을 이해하는데 도움이 될것 같다. 사실 책 고를 때 잘 읽히는 내지 구성이나 디자인의 책을 우선적으로 생각하는데 책 내부..

[Data structure] 스택(Stack), 큐(Queue)

스택(Stack) stack : 쌓다 Last In First Out (LIFO) - 후입 선출 (== First In Last Out, 선입 후출) push : 가장 마지막에 쌓는다 pop : 가장 마지막에 들어간 것을 뺀다 python 구현 - push : append()를 사용하여 수행 (시간복잡도 == O(1)) - pop : pop()을 사용하여 수행 (시간복잡도 == O(1)) arr = [1,2,3,4] arr.append(5) #arr에 5를 push print(arr) #output : [1,2,3,4,5] arr.pop() #arr의 마지막 원소를 pop print(arr) #output : [1,2,3,4] 큐 (Queue) queue : 줄 First In First Out (FIF..

[Algorithm] 그리디 알고리즘 (Greedy Algorithm)

그리디 알고리즘 (Greedy Algorithm) Greedy : 탐욕스러운 각 단계에서 최적의 선택을 하는 방식(=Greedy) 으로 최종 답에 도달하는 알고리즘을 말한다. 단, 항상 최적의 해를 구할 수 있는 것이 아니고 특정한 경우에만 그리디 알고리즘으로 최적의 해에 도달할 수 있다. **특정한 경우 == 최적의 해를 보장할 수 있는 경우 예시) 백준 11399 ATM (Python) 줄 선 사람들이 돈을 인출하는데 걸리는 시간의 합의 최솟값을 구해야한다. 각 사람이 소요되는 시간은 이전 사람들이 걸리는 시간 + 내가 걸리는 시간 이다. 각 단계의에서 최적의 선택을 하여 최종 해에 도달 할 수 있다는 것을 보장할 수 있는가? 이 경우 입력받은 걸리는 시간들을 오름차순 정렬하여 각 단계에서 (앞사람들..

[Algorithm] 최대공약수

최대공약수 -정수들의 공통된 약수중 가장 큰 약수 방법1: 전체 순회 1) 정수들 중 가장 작은 정수를 찾눈다 2) 정수의 값을 하나씩 줄여 나가면서(i) 두 정수를 나눈다 3) 둘 다 0으로 나누어 떨어질 때의 i 가 최대공약수가 된다 N, M = map(int, input().split()) lst = [] minimum = min(N,M) for i in range(1,minimum+1): if (N % i == 0) and (M % i == 0): lst.append(i) else: continue print(lst[-1]) 방법 2 : 유클리드 알고리즘 - a>b, a와 b의 최대공약수는 b와 a%b와 같다 (gcd(a, b) == gcd(b, a%b)) 1) 정수 두개 중 작은값을 찾는다 2)..

기획, ppt, 발표 이게 도대체 뭐죠

과제와 프로젝트 과제 - 주어진것에 대해서 해결책을 찾고 구현한다 - 주제에 대해서 엄청난 고민이 필요하기 보다는 이미 주어진 주제를 실현시켜주는것 프로젝트 - 어느정도 주어진 것에서 새로운 시각으로 살펴봐야함 - 도메인 지식을 공부하고 얻은 인사이트를 바탕으로 문제점을 정의하여 프로젝트 목적을 파악 - 사용자에게 정말 필요한 서비스인지에 대한 고민이 필요 기획 - 우리가 만든 서비스를 사고싶게끔 - 전체적인 스토리가 있어야한다. ( 공감 --> 정의 --> 아이디어 --> 구현) 기획서 intro (도메인 소개) -진행할 프로젝트에 대해서 대략적으로 설면 - 청중이 도메인 지식이 없다면 초 3도 이해 할 수 있게 내용 구성 why (추진배경) - 왜 이런 프로젝트를 진행했냐?? - 현재의 트렌드 - 프..

2023/배웠음 2023.12.12

[Algorithm] 이분탐색 (Binary Search)

배열을 정렬 중앙값을 찾는다 중앙값을 기준으로 찾을 값이 큰 값 -> 반의 오른쪽으로 중앙값을 기준으로 찾을 값이 작은 값 -> 반의 왼쪽으로 같다면 -> 찾은 값을 반환 -> break 오른쪽 왼쪽을 구분하기 위하여 start, end 값을 지정 start = 0 end = len(배열) 중앙값 (start + ) // 2 list_a = [1,2,3,4,5,6,7] def binary_search(target, data): start = 0 end = len(data) - 1 while start target: end = mid-1 print(data[start:end]) else: start = mid+1 print(data[start:end]) print('없다') binary_search(3, ..

728x90
반응형