스터디 83

[논문] Evaluation of Pooling Operations in Convolutional Architectures for Object Recognition

ann, cnn 강의 도중 참고하면 좋은 논문들이 있어서 읽어보았다. 영어로 되어있기 때문에 띄엄띄엄 한국어로 번역하고, 내용서치와 대략적인 이해에 중점을 두었다.(오역주의) 제목은 Evaluation of Pooling Operations in Convolutional Architectures for Object Recognition (객체 인식을 위한 컨볼루션 아키텍처의 풀링 작업 평가)로 저자는 Dominik Schere, Andereas Muller, Sven Behnke 이다. Scherer, Dominik, Andreas Müller, and Sven Behnke. "Evaluation of pooling operations in convolutional architectures for obj..

스터디/AI 2023.01.29

[알고리즘] 정렬 알고리즘

이코테2021 강의를 듣고 공부한 글이다. 정렬(Sorting)이란 데이터를 특정한 기준에 따라 순서대로 나열하는 것을 의미. ① 선택정렬 : 처리되지 않은 데이터 중 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸는 것을 반복. => 매번 선형 탐색 시행, 이중 반복문을 통해 구현 가능, 시간복잡도는 빅오 표기법에 따라 O(N^2) array = [7,5,9,0,3,1,6,2,4,8] for i in range(len(array)): min_index = i #가장 작은 원소의 인덱스 for j in range(i+1, len(array)): #선형탐색시작 if array[min_index] > array[j]: #min index 보다 값이 더 작으면 min_index = j array[i],..

[이론] 순환신경망 이론 RNN

목차 1. 순환신경망이란 무엇인가. 2. 기울기 소실 문제 3. LSTM 순환신경망 순환신경망은 머신러닝 지도학습 방법 중 시계열 데이터 분석에 사용하는 Recurren Neural Netsorks(RNN) 알고리즘을 말한다. 머신러닝은 지도학습, 비지도학습, 강화학습으로 나눌 수 있다. 이에 대해 보기 좋게 정리된 블로그 글은 아래를 참조하면 좋을듯하다. https://ebbnflow.tistory.com/165 [인공지능] 지도학습, 비지도학습, 강화학습 머신러닝의 학습 방법은 크게 3가지로 분류됩니다. 지도학습 비지도학습 강화학습 ● 지도학습(Supervised Learning) 지도 학습은 말 그대로 정답이 있는 데이터를 활용해 데이터를 학습시키는 것입 ebbnflow.tistory.com * 일..

스터디/AI 2023.01.27

[이론] 컨볼루션 신경망 이론 CNN

목차 1. 컨볼루션 신경망이란 무엇인가 2. 컨볼루션 연산 3. relu 레이어 3. Pooling 4. Flattening 5. Full Connection 6. 요약 + 소프트맥스, 교차 엔트로피 컨볼루션 신경망 신경망은 이미지를 어떻게 인식하는지 그 기초가 되는 개념을 살펴보았다. 우선 신경망은 흑백과 컬러로 나누어 이미지를 인식한다. 흑백이미지는 각 픽셀이 0에서 255까지(8비트 정보로 2의 8제곱 = 256, 색상의 채도를 나타내며 0은 검은색, 255는 흰색 픽셀로 표현)의 2차원 배열로 인식한다. 컬러이미지는 3차원 배열로 RGB 픽셀을 가진다. 세 가지 값을 조합해 어떤 이미지, 해당 픽셀이 어떤 색인지 나타낼 수 있다. Step 1-1. 컨볼루션 Feature Detector 전체 컨볼..

스터디/AI 2023.01.27

[알고리즘] 그래프 탐색 알고리즘 DFS/BFS

개념정리 탐색 알고리즘 : 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정. 스택 자료구조 : 먼저 들어온 데이터가 나중에 나가는 선입후출의 자료구조로, 박스 쌓는 것을 예로 들 수 있음 파이썬에서 스택을 사용하고 싶으면 리스트를 사용하면 스택처럼 사용 할 수 있음. stack = [] stack.append(1) #1 추가 stack.pop() #마지막 원소 삭제 stack.append(2) stack.append(3) stack.append(4) stack.append(5) print(stack[::-1]) #뒤집어서 최상단 원소부터 출력 [5,4,3,2,1] print(stack) #최하단 원소부터 출력 [1,2,3,4,5] 큐 자료구조 : 먼저 들어온 데이터가 먼저 나가는 선입선출의 자료구조,..

[이론] 인공신경망 이론 (ANN)

1. The Neuron 독립변수1, 독립변수2, 독립변수3 ----------> neuron -----------> 출력 값 뉴런에서 일어나는 일 step 1. 모든 입력값들이 모두 더해짐 step 2. 가중치로 곱해진 값을 모두 합한 후에는 활성화 함수를 적용 step 3. 뉴런이 다음 뉴런으로 값을 내보낼지 결정 2. 활성화함수 1. Threshold Function 한계값 함수 : 한계값 함수로 X축엔 입력의 가중치 값들이, Y축은 0에서 1까지의 값이 있다, 한계값 함수는 값이 0보다 작으면 0을 리턴하고, 0보다 크면 1을 리턴하는 간단한 계단 모양의 함수이다(이분적) 2. Sigmoid Function 시그모이드 함수 : 1을 1더기 E의 -x 승으로 나누는 함수, X는 입력의 가중치 값들이..

스터디/AI 2023.01.19

[TensorFlow] 텐서플로우 2.0 소개

Udemy에 TensorFlow 유료강의를 기반으로 공부해본 내용을 정리한 글이다. 텐서플로우 1.0 에서 2.0으로 넘어오면서 큰 차이는 상수와 변수에 대한 차이가 있다. 1. 상수,변수 값의 정의 텐서플로우 1.0에서는 tensor = tf.constant([[23,4], [32,51]) 이런식으로 텐서플로우에서 가져온 constant 함수를 사용한다. 일반적으로 텐서라는 명을 사용한다. 대괄호가 두 개로 2열2행의 2차원 텐서로 정의된다. tf.constant를 정의한 뒤 불러와보면 tessor # 이런식으로 값이 아니라 형태만 확인 할 수 있다. 텐서플로우 1.0에서는 값을 가져올때 eval() 함수를 사용하는데, 상수나 변수 값에 접근하고싶으면 그 전에 먼저 세션을 초기화 등록해야하는 절차가 필..

스터디/AI 2023.01.19

[알고리즘] 그리디 알고리즘

그리디 알고리즘 그리디 알고리즘 = 탐욕법 : 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미 정당성 분석이 중요! 단순히 가장 좋아보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토. 문제 1. 거스름돈 문제 Q. 500원, 100원, 50원, 10원짜리 동전이 무한한 경우 손님에게 거슬러 줄 돈이 N원일 때, 동전의 최소 개수는? 단, 거슬러 줄 돈 N은 항상 10의 배수 A. 가장 큰 화폐 단위부터 돈을 거슬러 주면 되는데 이게 최적의 해를 보장하는 이유는, 가지고 있는 동전 중에서 큰 단위가 항상 작은 단위의 배수이므로 작은 단위의 동전들을 종합해 다른 해가 나올 수 없기 때문 (만약 500원, 400원, 100원 이면 이런식으로는 최적의 해가 나오지않음) n=1260 #거슬..

[파이썬] 파이썬문법

코테 유형 - 온라인 코딩 테스트 : 인터넷 활용, 검색 허용 - 오프라인 코딩 테스트 : 시험장 방문, 검색 허용 X, 회사 제공 컴퓨터 환경 이용 코딩테스트 준비 시 온라인 저지 추천 - 해외 : 릿코드, 탑코더 ... - 국내 : 백준, 프로그래머스 ... 빅오 표기법 - 가장 빠르게 증가하는 항 만을 고려. - 상수시간(best) 일반적으로 핵심 아이디어를 캐치 한다면, 간결하게 소스코드를 작성할 수 있는 형태로 ..

[문제풀이]String,Array,Sorting 937.Reorder Data in Log Files

리트코트 문제 풀이 Medium 937번 문제 배열 logs가 제공 되었을 때, 로그는 공백으로 구분된 문자열이며 첫번째 단어는 식별자입니다. 다음과 같은 두 가지 유형의 로그가 있습니다. Letter-logs : 식별자를 제외한 모든 단어는 영문 소문자로 구성됩니다. Digit-logs : 식별자를 제외한 모든 단어는 숫자로 구성됩니다. 다음과 같이 이러한 로그를 재정렬합니다. 문자 로그 는 모든 숫자 로그 앞에 옵니다 . 문자 로그 는 내용에 따라 사전순으로 정렬됩니다. 내용이 같으면 식별자를 기준으로 사전순으로 정렬합니다. 숫자 로그 는 상대적인 순서를 유지합니다. 로그의 최종 순서를 반환하세요. Example 1: Input: logs = ["dig1 8 1 5 1","let1 art can","..