본문 바로가기

728x90

분류 전체보기

(430)
Deep Learning 1-3-1 - Neural Network는 이전 시간에서 배운 neuron(logistic regression unit)들을 쌓은 것이다. - neuron에서 y^, 즉 a를 구하고 Loss를 계산했다. - 그림에서의 neural network는 layer[1]에서 결과들을 가지고 layer[2]에서 한번더 계산해서 y^을 구한다. - Loss를 가지고 backward하면서 gradient를 구한다. - x1,x2,x3들이 input features이다. 이 layer를 input layer라고 부른다. - hidden layer : 학습도중에 값들이 관찰되지 않기 때문에 hidden이라고 부른다. - 결과값을 반환하는 layer를 output layer라고 한다. - 위 그림은 2 layer Neural Netw..
AI - 2. Search 1. 탐색 - 알파고는 deeplearning 뿐만 아니라 탐색 알고리즘을 통해 가능한 수들을 탐색하며 최적의 수를 결정한다. 2. 상태공간 - 왼쪽의 초기상태에서 타일을 옮겨 우측의 목표상태를 만든다고 가정해보자. - 초기상태에서 여러 연산을 거쳐 목표상태로 도달하는 과정들을 상태공간이라고 한다. 3. 탐색트리 4. Blind Search Method - 맹목적인 탐색, 목표 노드에 대한 정보를 이용하지 않고 기계적인 순서로 노드를 확장해간다. DFS - 깊이 우선 탐색 BFS - 너비 우선 탐색 5. Heuristic Search Method - 목표 노드에 대한 경험적인 정보를 사용해서 노드를 확장 Hill-Climbing - 현재 상태에서 평가함수를 통해 cost를 계산하고 이 cost가 가장 적..
OOP - 2. OOP concepts 1. Data Abstraction - ADT (Abstract Data Type) = data + operations, 추상 자료형 - class without implementation - class를 정의하는데 실제 구현은 하지 않되 data와 동작을 정의 하는 것이다. - 예로 Dog라는 Data type을 정의해보자. string name; void eat(); void walk(); void sleep() - 이렇게 Dog를 정의할 수 있을 것이다. 이를 ADT라고 한다. 즉 Dog의 interface를 정의하는 것이다. - user는 visible한 ADT만 보고 기능을 사용하게 된다. 2. Object, Class - class는 data Abstraction의 기본 unit이다. - cl..
DB - 3. Relational Database 1. Relation - 데이터의 여러 속성(attribute)들을 column으로 묶어서 관계들을 table로 정의한다. 2. Atrribute - table의 각 column에 해당하는 attribute가 존재한다. - ID가 될 수 있는 값들을 모은 집합을 domain of ID(attribute)라고 한다. 예를 들면 domain of ID = {00000 ~ 99999}이 된다. - relational database의 attribute가 되기 위해서는 atomic한 조건이 요구된다. attribute는 반드시 단일값이여야 한다는 것이다. 즉 위의 예시에서 Wu라는 교수님이 Finance와 Music을 겸직해서는 안된다. - 만약 겸직하는 교수님을 relation db로 표현해야 한다면 tabl..
DB - 2. Basic SQL statements 1. Domain SQL Types 2. Create table - ()는 할당된 메모리 크기를 말한다. - name column의 타입을 정의할 때 not null을 해주면 null삽입의 시도를 막을 수 있다. - 참고로 primary key같은 제약을 걸어주면 ID에는 null 값이 못 들어오게 된다. - 여러개의 foreign key를 선언할 수도 있다. 3. Insertion - course라는 테이블에 해당 record를 삽입한다. 4. Select - instructor 테이블에서 where 조건을 만족하는 name record의 name을 가져와라 - 결과는 relation으로 반환한다. - 기본적으로 sql은 중복을 허용한다. 따라서 instructor relation에서 dept_name..
Deep Learning 1-2-2 강의를 듣고 정리한 내용입니다. vectorization으로 코드상의 for loop를 줄이고 big dataset에 대해 더 효율적인(빠른) 계산이 가능하도록 한다. vectorization으로 for loop로 적은 코드를 더 효율적으로 만들 수 있다. forward propagation 과정을 vectorization으로 표현해 보자. backward propagation 과정을 vectorization으로 표현해 보자. broadcasting으로 python code를 더 빠르게 할 수 있다. for loop 없이 matrix 연산을 더 빠르게 구할 수 있다. 3 by 4인 A를 1 by 4인 cal로 나누는 것은 broadcasting으로 구현한 코드이다. broadcast의 다른 예를 보여준다..
Deep Learning 1-2-1 강의를 듣고 정리한 내용입니다. 사진을 입력값으로 받고 고양이인지 강아지인지 판별해야 한다. 컴퓨터는 사진을 색 정보를 지닌 세 matrices로 이해한다. 이 세 matrices를 하나의 input feature vector, x로 만든다. (x,y) : (input, output) x(i), y(i) : training example m_train : train example 수 m_test : test example 수 X : x(i)들을 column으로 나열, m개의 columns로 구성 Y : y(i)들을 column으로 나열, m개의 columns로 구성 (파랑) binary classification 문제에서 사용하는 learning 방법이다. X가 주어졌을 때 w, b parameter를 ..
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..

728x90