목차 1. 파일 시스템이란 2. 파일 시스템의 단점 3. DBMS를 사용한 데이터베이스 관리 4. DBMS의 장점 5. 파일 시스템과 DBMS 비교 1. 파일 시스템을 사용한 데이터 관리 파일의 기본적인 구성요소는 순차적인 레코드들이다. 한 레코드는 연관된 필드들의 모임이다. * 파일 시스템에서는 정보를 운영 체제의 파일에 저장한다. * 일반적으로 각각의 응용 프로그램마다 별도의 파일을 유지한다. * 파일을 접근하는 방식이 응용 프로그램 내에 상세하게 표현되므로, 데이터에 대한 응용 프로그램의 의존도가 높다. => 대부분의 경우 응용 프로그램과 데이터 파일이 1:1로 대응되는 특징이 있다. 1.2 파일 시스템의 단점 * 데이터가 많은 파일에 중복해서 저장된다. : 중복된 데이터의 변경을 제어하는 것이 어..
목차 1. 데이터베이스란 2. 데이터베이스 스키마 3. 데이터베이스 시스템의 구성요소 4. 데이터베이스 시스템의 요구사항 1. 데이터베이스란 데이터베이스는 조직체의 응용 시스템들이 공유해서 사용하는 운영 데이터들이 구조적으로 통합된 모임이다. 간단히, 다수 사용자 / 다수 프로그램들이 공유해서 사용하는 데이터의 모임이라 할 수 있다. 데이터베이스(database) * 어떤 조직체에 관련된 사실들을 수집한 데이터를 의미합니다. * 일반적으로 다수 사용자 / 다수 응용 프로그램들이 공유하기 위해 설계됩니다. * 한 조직체의 어떤 영역과 연관된 데이터를 수집하여 조직하며 이는 여러 수준의 의사 결정을 지원하기 위한 정보를 제공하는데 쓰입니다. 데이터 베이스가 필요로 하는 환경 데이터의 양이 방대해야 한다. 데..
개요 pickle 이란 무엇인가 pickle의 장점 import pickle 사용법 머신러닝, 딥러닝 공부를 하면서 사용한 데이터를 저장하는 방법 중 하나인 pickle 정리해보고자 합니다. (1) pickle 이란 사용하는 데이터를 텍스트 상태의 데이터가 아닌 파이썬 객체 형태 자체로 파일로 저장하는 것을 의미합니다. ( dictionary, list, tuple, set과 같은 형태로 필요한 데이터를 저장이 가능합니다. 이때, pickle 모듈을 활용해 저장하는 객체 자체를 바이너리 파일로 저장합니다.) 파이썬 객체를 파일에 저장하는 과정을 피클링 / 파일에서 객체를 읽어오는 과정을 언피클링이라고 합니다. (2) pickle의 장점 원하는 객체 자체를 바이너리로 저장하기에, 필요할 때 불러오기만 하면..
합성곱 신경망 (CNN)고수준 뉴런이 이웃한 저수준 뉴런의 출력에 기반한다는 아이디어에서 착안된 신경망 모델이며 각 뉴런은 이전 층에 있는 몇 개의 뉴런에만 연결됩니다.이미지나 영상을 처리하는데 유용한 신경망입니다.이미지 전체를 한 번에 계산하는 것이 아닌 이미지의 국소적 부분을 계산함으로써 시간과 자원을 절약하여 이미지의 세밀한 부분까지 분석할 수 있는 신경망입니다. 1) 합성곱 신경망의 구조입력층합성곱층폴링층완전연결층출력층 첫 번째 합성곱층의 뉴런은 입력 이미지의 모든 픽셀에 연결되는 것이 아닌 합성곱 층 뉴런의 수용장 안에 있는 픽셀에만 연결됩니다.두 번째 합성곱층에 있는 각 뉴런은 첫 번째층의 작은 사각 영역 안에 위치한 뉴런에 연결됩니다.이런 구조는 네트워크가 첫번째 은닉층에서 작은 저수준 특..
딥러닝 모델을 사용하려면 매번 계속 몇 시간 동안 학습시켜야 되는지 궁금할 것입니다. 딥러닝 모델을 학습시킨다는 의미는 딥러닝 모델이 가지고 있는 뉴런들의 가중치를 조정하는 것을 의미합니다. 그러므로, 우리는 모델 구성과 가중치를 저장만 해놓으면, 필요할 때 언제든 저장한 모델의 구성과 가중치를 불러와서 사용할 수 있습니다. 개요 학습 모델(아키텍처, 가중치) 저장하기 저장한 모델 불러오기 모델 형태 보기 학습 모델 가중치만 저장하기 (1) 학습 모델 저장하기 ( model.save("*****.h5") ) 모델은 크게 모델 '아키텍처'와 모델 '가중치'로 구성됩니다. 아키텍처는 모델이 어떤 층으로 어떻게 쌓여있는지에 대한 모델 구성이 정의되어 있습니다. 가중치(weights)는 처음에는 임의의 값으로 ..
"딥러닝 텐서플로 교과서" 책을 공부하고 정리한 것입니다. 감사합니다. 개요 RNN이란 무엇인가 RNN의 유형 RNN의 구조 RNN 계층과 셀 (1) RNN (Recurrent Neural Network) 시간적으로 연속성이 있는 데이터를 처리하려고 고안된 인공 신견망이다. 이전 은닉층이 현재 은닉층의 입력이 되면서 반복되는 순환구조를 가진다. 기존 네크워크와 달리 '기억'을 가지고 있으며, 새로운 입력이 네트워크로 들어올 때마다 기억은 조금씩 수정된다. 대표적으로 자연어 처리에서 사용이 되고 있다. 첫 번째 입력이 들어오면 첫 번째 기억(h1)이 만들어진다. 두 번째 입력이 들어오면 기존 기억(h1)과 새로운 입력을 참고하여 새 기억(h2)을 만든다. RNN은 외부 입력과 자신의 이전 상태를 입력받아 ..
딥러닝을 공부하면서 모델의 입력 (차원) 형태와 이미지의 형태(차원)를 맞춰주기 위해서 expand_dims() 메서드를 정리하려고 합니다. expand_dims() * 배열의 모양을 확장한다 = 배열의 차원을 추가한다. (1) Test 용 1차원 넘파이 배열 생성하기 import numpy as np x = np.array([2,4]) print(x) print(x.shape) numpy 배열의 shape 출력 결과에서 다음 순서대로 축의 순서가 정해진다. (첫 번째 축, 두 번째 축, 세 번째 축)!! (2) 첫 번째 축에 차원 추가하기. expand_dims np.newaxis y = np.expand_dims(x, axis=0) print(y) print(y.shape) print('\n') y ..