목록분류 전체보기 (45)
ENN

AlexNet - 2012년 ILSVRC대회 우승을 차지한 CNN구조이다. 특징 1. ReLU함수의 사용 : non-linear함수로 gradient vanishing 문제를 해결함 2. Overlapping pooling : Max-pooling을 사용해서 에러율 감소와 과적합 방지의 효과를 낸다. 3. LRN(Local Response Normalization) :ReLU함수를 활성함수로 사용하면서 conv나 pooling시 주변 픽셀에도 영향을 미치는데, 이를 LRN을 통해 같은 위치의 픽셀끼리 정규화해준다. 4. dropout : dropout이란 Fully-Connected Layer의 뉴런 중 일부를 생략하면서 학습을 진행하고, 랜덤한 드랍아웃을 통해 과적합을 효과적으로 방지한다. 5. Dat..

서론 프로그래밍 방법은 다음과 같이 구분된다. 명령형 프로그래밍 절차지향 프로그래밍 객체지향 프로그래밍 선언형 프로그래밍 함수형 프로그래밍 명령형 프로그래밍 vs 선언형 프로그래밍 한 문장으로 설명하면 이렇다. 명령형 프로그래밍 : 무엇(What)을 할 것인지 나타내기보다 어떻게(How) 할 건지를 설명하는 방식 선언형 프로그래밍 : 어떻게 할건지(How)를 나타내기보다 무엇(What)을 할 건지를 설명하는 방식 다음의 예시를 보면 보다 쉽게 이해된다. 코드로 확인하면 다음과 같다. 다음은 모든 요소에 2를 곱하는 함수를 구현한 것이다. 명령형 프로그래밍 //배열을 받아서 -> for문으로 반복해서 -> 각 요소에 2를 곱해서 -> 반환한다 function double (arr) { let results..
Pandas의 주요 구성 요소 dataframe: column과 row로 구성된 2차원 데이터셋 series : 1개의 column 값으로만 구성된 1차원 데이터셋 index : DMBS의 기본키(pk)랑 같은 개념 #기본 세팅 import pandas as pd titanic_df = pd.read_csv('titanic.csv') #파일 불러오기 head()와 tail() head()는 dataframe의 맨 앞부터 일부 데이터만 추출 titanic_df.head() tail()은 dataframe의 맨 뒤부터 일부 데이터만 추출 titanic_df.tail() #display 옵션 설정 pd.set_option('display.max_rows',100) #보이는 행의 개수 설정 pd.set_opti..
개념 멀티쓰레드 환경에서 여러 쓰레드가 동일한 자원을 참조할 수 있을 때, 해당 공유자원에 대한 동시접근을 막아주는 것이 synchronized이다. 여러 쓰레드가 경쟁가능한 자원을 사용하는 영역을 critical section이라고 하는데, 하나의 쓰레드가 이 critical section에 접근할 때 synchronized를 사용하면 lock을 걸어 다른 다른 쓰레드의 접근을 막을 수 있다. critical section을 사용중인 쓰레드를 제외한 다른 쓰레드들은 lock이 풀릴 때까지 기다리게 하는 방식으로 동시접근의 순차화가 가능하다. 사용 synchronized는 다음과 같이 사용되어 다양하게 lock의 범위를 설정한다. 1. 메서드에 synchronized 키워드를 추가 그 메서드가 포함된 객..

행렬(배열 작성) np.array()형태로 작성한다. import numpy as np a= [[1,2],[3,4]] b=np.array(a) print(b) print(b.shape) #행렬의 차원 print(b[1,1]) #행렬의 특정 원소에 접근 특수한 배열 만들기 import numpy as np print(np.zeros((3,2))) #영행렬 print('\n') print(np.ones((2,4))) #유닛행렬 print('\n') print(np.full((3,4),1)) #모든 원소가 1인 3*4행렬 print('\n') print(np.eye(4)) #단위행렬 Numpy 슬라이싱과 인덱싱 배열[시작인덱스:끝인덱스-1 , 시작인덱스: 끝인덱스-1] 시작인덱스나 끝인덱스를 생략할 수 있음 ..