본문 바로가기

728x90

ComputerScience

(329)
Deep Learning 1-1 강의를 듣고 정리한 내용입니다. house의 크기에 따른 price를 예측하는 model을 만든다고 가정해보자. 주어진 점들을 가장 잘 fitting할 수 있는 line을 찾는 것이 neural network가 하는 일이다. neural network는 입력값으로 다양한 features를 받고 찾은 line을 바탕으로 price를 도출해 낸다. 처리할 데이터를 특징에 따라 두가지로 구분할 수 있다. 목적에 따라 다양한 model을 선택하게 된다. 그럼 갑자기 deep learning이 부상한 이유는 뭘까? 1. 디지털화가 가속화 됨에 따라 data의 양이 증가 2. bigger NN을 train할 수 있게 되었다. 3. cpu, gpu의 발전으로 인한 faster computation 4. algorit..
CG - 1. 컴퓨터 그래픽스? 1. 컴퓨터 그래픽스 - 컴퓨터로 이미지를 만드는 것 - 물체를 2D 화면에 보이기, 합성, 변환 등을 하는 것. 2. Raster Graphics - 2D 또는 실세계의 3D 물체를 scan conversion/rasterization 하여 2D화면으로 보여주는 방식. - 화면을 array of pixels로 구성하고 각 픽셀들의 값으로 2D, 3D물체가 표현된다. *용어 - frame 전체 그림 - refresh rate(fps, Hz) : 초당 몇개의 frame을 그릴 수 있나? - resolution : 총 표현 가능한 pixel의 수 - aspect ratio : frame 가로 세로 비율 - cpu로부터 받은 데이터를 가지고 gpu가 픽셀 값들을 계산하고 그 pixel 정보들을 frame bu..
AI - 1. Artificial Intelligence 1. 인공지능 - 터미네이터의 스카이넷을 strong AI라고 한다. 자의식이 있는 인공지능을 말한다. - 반대로 자의식이 없는, 특정 영역에서의 문제를 해결하는 인공지능을 weak AI라고 한다. (ex. 알파고) - 인간 처럼 창의적인 문제 해결에서 약점을 보이지만 빠른 속도의 논리적 추론에서 강점을 갖는다. - 즉 인간이 사물을 이해하고 학습하는 능력을 컴퓨터가 지녀 problem solving하는 것을 말한다. - Big Data를 가지고 Learning하여 Reasoning(추론)을 한다. - Act Rationally 2. Turing Test - 사람의 질문에 대한 대답을 기계가 했는지 사람이 했는지 알 수 없다면 인공지능이 구현되었다고 할 수 있다. - 앨런 튜링이 고안한, 인공지능 구현을..
DB - 1. Introduction 1. DBMS - 서로 관련된 데이터의 집합 - data에 접근하기 위한 프로그램 집합 - data를 사용하기에 편리하고 효율적인 환경 - 위 세가지 조건을 제공하는 시스템을 DBMS라고 한다. Data Base Management System, 즉 Oracle, SQL Server, DB2, MySQL과 같이 DB를 관리하는 소프트웨어이다. - 가치있는 대용량의 데이터를 관리할 수 있어야 한다. 또한 이 공유자원을 여러 사용자가 접근할 수 있도록 해야한다. - DB를 사용하지 않는 서비스는 없다! 2. Old concept before DB system - DB시스템 출현 이전에는 file system에 데이터를 저장하고 이를 불러와 사용하였다 - business상황 에서 업무마다 각자 필요한 데이터 ..
컴퓨터 통신 - 1. 정의, 기본개념, 다중화 1. 컴퓨터 통신 * 컴퓨터기반 기기 혹은 응용프로그램들이 필요에 따라 중계기/스위치를 경유 하면서, 디지털 데이터를 담고 있는 신호를 교환해서 의미를 교환한다. ex) 휴대폰 문자 교환, 메신저, 스트리밍, 파일 교환 2. 의미교환? - 문자, 음성 등을 디지털화한 데이터를 기기를 통해 전달하는 것. - 컴퓨터기반 기기 위에서 돌아가는 응용 프로그램들이 교환의 주체가 된다. - 그럼 0,1로 구성된 디지털 데이터를 어떻게 보내는가? 이 데이터를 아날로그 혹은 디지털 신호화 해서 유/무선 전달을 구현한다. 3. 신호 교환 - 디지털 데이터가 아날로그 신호 혹은 디지털 신호로 변환되면 매체를 통해 전파된다. - 블루투스 같은 경우는 직접적으로 통신을 하지만 불특정 다수와의 신호 교환을 위해 대개는 기지국/..
OOP - 1. What Is Good Software? 1. What Is Good Software? - Correctness - Efficiency (Time & Space(memomory), HW utilization(GPU)) - Easy to maintain (related to cost) modifiability readability reuseablility easy to debug, repair testability easy to extend platform-independent - robustness, reliable, dependable - Secure (security) - documentation (versionning/github) - easy to use (usability, user interface) 2. Software Crisis..
Algorithm&DataStructure - Queue 1. Linear Queue - 선입선출(FIFO, First In First Out) 방식의 선형 자료구조 - 문제점 : rear, front는 계속 증가만 한다. 나중에 한정된 메모리 끝에 rear가 도달 했을 때, 사실상 메모리에 비어 있는 공간이 있을 수 있다. 즉, int 100개 만큼의 메모리를 할당해도 100개의 정수를 넣기도 전에 rear가 끝에 도달 할 수 있다. - 해결 1 : 빈 공간이 생길 때 마다 원소들을 앞으로 당긴다. - 해결 2 : Circular Queue - 해결 3 : Linked List로 구현 class Queue { private: int front; int rear; int count; const int size; int* values; public: Queue(..
C++ - 2차원 vector 생성자로 초기화 하기 vector v(10,vector (10,0)); 10 by 10 크기의 0으로 초기화된 2차원 배열 선언

728x90