목록분류 전체보기 (134)
개발 블로그

1. openAI Gym이란? openAI에서 개발한 openAI Gym(https://www.gymlibrary.dev/)은 다양한 시뮬레이션 환경을 제공하고, 이를 이용해 기계 학습/인공지능/강화 학습 등의 연구에 활용할 수 있다. openAI는 정확하게 구현된 환경을 제공하는데, 잘못 구현된 환경을 사용하면 학습이 안되거나 잘못된 규칙을 학습하는 경우가 발생해 강화 학습 성능을 평가하기 위해서는 정확한 환경이 필요하다. 또한 openAI Gym은 프로그래밍 또는 제어하기 쉬워 편리하다. 2. Car Racing 게임 환경 구축하기 https://www.gymlibrary.dev/environments/box2d/car_racing/ Car Racing - Gym Documentation Previo..

머신러닝/립더닝 모델의 성능 분석에 필요한 용어 정리 1. Confusion matrix(오차 행렬) training을 통한 모델의 예측 성능을 측정하기 위해 예측값과 실제값을 비교하기 위한 표 true/false: 실제와 예측이 일치하는가? positive/negative: 무엇으로 예측했는가? TP(True Positive): 실제는 positive인데, positive로 예측 FN(False Negative): 실제는 positive인데, negative로 예측 FP(False Positive): 실제는 negative인데, positive로 예측 TN(True Negative): 실제는 negative인데, negative로 예측 이 4가지 값들을 조합해 precision, recall 값을 계산..

colab에서 Keras로 인공신경망 학습하기 1. MNIST handwriting classification example: ANN colab에서 ANN 모델로 MINST 분류하는 모델을 만든다. (참고: https://keras.io/examples/vision/mnist_convnet/) 1) 모델을 위한 데이터를 준비한다. # Model / data parameters num_classes = 10 input_shape = (28*28,) # Load the data and split it between train and test sets (x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data() x_train = x_train..

1. openAI Gym 환경 openAI에서 개발한 openAI Gym(https://www.gymlibrary.dev/)은 다양한 시뮬레이션 환경을 제공하고, 이를 이용해 기계 학습/인공지능/강화 학습 등의 연구에 활용할 수 있다. openAI는 정확하게 구현된 환경을 제공하는데, 잘못 구현된 환경을 사용하면 학습이 안되거나 잘못된 규칙을 학습하는 경우가 발생해 강화 학습 성능을 평가하기 위해서는 정확한 환경이 필요하다. 또한 openAI Gym은 프로그래밍 또는 제어하기 쉬워 편리하다. 2. google colab 개발 환경 google colab은 클라우드 기반의 무료 Jupyter 노트북 개발 환경이다. colab은 웹 브라우저에서 텍스트와 프로그램 코드를 자유롭게 작성할 수 있는 일종의 온라인..

오늘은 ERD를 relation schema로 사상(mapping)하는 과정에 대해 알아본다. 사상(mapping) : 한 데이터 집합을 다른 데이터 집합으로 1:1 대응시키는 것이다. ex) 수학->1, 영어->2, 과학->3 ERD를 relation schema로 사상하는 과정 강한 엔티티, 약한 엔티티, 1:1 관계, 1:N 관계, M:N 관계, 다치 속성 순서대로 사상한다. 1) 강한 엔티티 사상 회원 엔티티에 존재하는 모든 속성을 회원 relation schema로 사상한다. ※다치 속성은 마지막에, 복합 속성은 분리하여 사상. 2) 약한 엔티티 사상 약한 엔티티는 스스로 식별될 수 없고, 약한 엔티티의 relation은 강한 엔티티의 relation을 참조한다. 3) 1:1 관계 사상 두 개의..

관계형 모델 설계 전체적인 과정을 서술하자면, 먼저 현실 세계에 있는 문제 상황에 대해 요구 사항을 정확하게 분석해야 한다. 파악한 요구 사항을 데이터 모델링을 해 ERD(Entity Relationship Diagram)로 데이터와 데이터 간의 관계를 표현한다. 그리고 ERD를 이용해 릴레이션을 위한 관계 스키마를 작성한다. 이는 릴레이션에는 어떤 속성이 있고, 어떤 관계인지 설계하는 과정이다. 마지막으로 요구사항과 관계 스키마를 이용해 데이터 모델을 만든다. 각 과정에 대해 자세히 알아보자. 정리된 요구 사항으로 데이터 모델을 설계해야 한다. ERD(Entity Relationship Diagram)이란? 데이터에 대한 관계를 설명하는 다이어그램으로, 요구 사항을 사람이 이해하기 쉽게 다이어그램으로 ..

속성(attribute): 표에서 열에 해당하는 부분 ex) 회원번호, 아이디, 이름, 나이 튜플(tuple): 표에서 행에 해당하는 부분 ex) {2, test2@xx.com, 이지혜, 17, 여성} ->튜플에는 순서가 존재하지 않는다. 릴레이션 스카마(relation schema): 자료의 구조를 정의한 것으로 해당 자료에 해당하는 데이터만 작성해야 한다. ex) 회원 번호, 아이디, 이름, 나이 릴레이션(relation) 이란? 속성, 튜플, 스키마를 합친 것으로 테이블이라고도 한다. ->릴레이션은 단순히 튜플들의 모음 릴레이션 이름 : 릴레이션의 의미를 나타내는 이름 릴레이션 상태 : 특정 시점의 릴레이션의 내용으로 튜플 추가, 삭제, 수정에 따라 릴레이션 상태가 달라진다. 관계 스키마 : 각 릴..

먼저 데이터 베이스를 왜 배우는 것일까? 자료구조와 비슷하게, 데이터를 잘 저장하고 잘 찾고 잘 관리하기 위해 사용한다. 데이터 베이스가 있기 전에는 '파일 단위'로 데이터 관리를 했는데 이는 복잡도가 늘어날 수록 보안과 관리가 힘들었다. 데이터 베이스의 목표는 관리의 효율성: 데이터가 중복되지 않고 데이터를 추가, 수정이 용이한 것 데이터의 보안: 누구나 데이터에 접근하는 것 막거나 권한이 있는 사람만 접근 가능 데이터(Data) 란? 과학적인 실험이나 관측된 결과로 얻은 값이나 수치를 숫자, 문자, 기호 같은 것으로 표현한 것 ex) 남성, 김커피, 15, 파란색 데이터베이스(Database)란? 최소한의 중복으로 저장된 통합, 공유, 운영을 위한 구조화된 데이터의 모음 다시 말해, 특정한 의미를 가..

실험 목적 1. 스캐터 파일의 이해 및 플래시 프로그래밍 2. 릴레이 모듈의 이해 및 임베디드 펌웨어를 통한 동작 3. 폴링 방식의 이해 실험 과정 1. 사전 지식 scatter loading (분산 적재) 이란? 꺼내기의 한 형식으로 판독 모듈의 제어 섹션을 주기억 장치 가운데 각각의 장소에 적재(load)하는 것 -> 원하는 위치에서 읽기 위해 file을 분리하여 필요한 여러 곳에 적재(load)하는 것. scatter file 이란? 실행시킬 바이너리 이미지가 메모리에 로드될 때, 바이너리 이미지의 어떤 영역이 어느 주소에 어느 크기만큼 배치되야 할 지 작성한 파일 -> 필요한 이유는? 1) 바이너리의 여러 부븐을 각각 별개의 메모리 영역에 로드해야 될 때 2) 자주 사용되거나 빠른 실행을 요구하는..
큐를 이용해 스택을 구현해보자 먼저 큐(queue)는선입선출(FIFO)로 먼저 들어간 요소가 먼저 나오고 스택(stack)은 후입선출(LIFO)로 마지막에 들어간 요소가 가장 먼저 나온다. 구현할 스택 연산 push(x) : 요소 x를 스택에 삽입한다. pop() : 스택의 첫 번째 요소를 삭제한다. top() : 스택의 첫 번째 요소를 가져온다. empty() : 스택이 비어 있는지 여부를 리턴한다. class Stack : def __init__(self) : self.que = collections.deque() def push(self, int x) : self.que.append(x) for i in range(len(self.que)-1) : self.que.append(self.que.pop..