<링크드리스트와 배열의 차이>
1. Array
: 논리적 순서에 따라 데이터를 입력, 물리적인 주소 또한 순차적이다.
: 인덱스를 가지고 있어 데이터에 쉽게, 한번에 접근 가능(접근 속도가 빠르다)
: 삽입/삭제에 취약 -> 삽입/삭제된 데이터 이후 데이터들 또한 바꾸어줘야하기 때문
2. Linked List
: 논리적 순서에 따라 데이터를 입력하지만, 물리적인 주소는 순차적이지 않음
: 인덱스 대신 현재 위치, 다음 위치를 기억한다.
: 인덱스가 없기에 한 번에 데이터에 접근 불가, 링크를 따라가며 접근해야한다.
: 삽입/삭제가 용이 -> 논리적 주소만 바꿔주면 되기 때문에
<자료구조로써의 스택과 영역으로써의 스택>
1. 자료구조
: 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO(Last In First Out)형식의 자료구조
2. Stack 영역
: 프로세스의 메모리 공간을 관리하기 위한 알고리즘
: 지역변수, 매개변수, 리턴값 등등이 저장되고 함수 호출시 기록, 종료되면 제거한다.(LIFO방식으로)
: stack영역을 초과할경우 stack overflow에러 발생
++ 메모리 영역의 구조(code(text), data, stack, heap)
code(text) | (실행할)코드, 함수, 제어문 |
Data | 전역(global) 변수, 정적(static)변수, 정적 구조체 등 컴파일 시 크기가 결정되는 것들 |
Heap(런타임시 크기 결정) | 동적할당(new, malloc등을 통한 동적 할당 객체) |
Stack(컴파일시 크기 결정) | 지역변수, 매개변수(임시로 사용하는 것들에 대한 영역) -> 매개변수와 리턴값은 함수 호출 시 생성, 함수 수행 끝나면 반환 |
사용자가 프로그램 실행 요청 -> 프로그램의 정보를 읽어 메모리에 로드 -> CPU는 프로그램 코드를 가져다 메모리를 관리하고 명령문 실행 -> 동적 메모리가 할당 되면 free store영역 사용(heap: 아래쪽으로 이동) -> 스택 메모리가 할당되면 free store영역 사용(stack: 위로 이동)
++ Heap
Java에서는 가비지 컬렉터가 자동으로 힙영역의 동적 할당 메모리를 해제함.
나머지 언어는 해제해줘야함. 안하면 memory leak발생
메모리 주소값에 의해서만 참조되고 사용되는 영역
<Logistic Regression과 Linear Regression의 차이>
Logistic Regression : categorical, 입력 데이터가 주어졌을 때 해당 데이터의 결과가 특정 분류로 나눠짐
(Classification 기법)
Linear Regression: 데이터의 경향을 나타내는 선분을 긋는다.
<Activation Function의 개념과 필요성>
Activation Function -> 신경망을 구성하는 각 뉴런 모델에서 임계값을 넘었을 때 출력을 처리하는 함수
신호 입력을 받은 후 뉴런에서는 그 값들을 합하여 출력을 만들어 낸다
-> "값들을 합한다"
실제 뉴런: 반응을 일으킬 필요가 있는 수준의 자극만 전달 -> 그 수준에 미치지 못하는 신호는 무시
Activation Function이 이런 역할을 하게 된다
-> 조건을 만족하는 경우에만 다음 노드로 신호를 전달하기 위함
[종류]
1. Sigmoid Function - binary classification에 적절,
1.1 Hard Sigmoid Function
1.2 Sigmoid-Weighted Linear Units(SiLU)
1.3 Derivative of Sigmoid-Weighted Linear Units(dSiLU)
2. Hyperbolic Tangent Function(Tanh)
2.1 Hard Hyperbolic Function
3. Softmax Function
4. Softplus Function
5. Softsign
6. Rectified Linear Unit(ReLU) Function
6.1 Leaky ReLU
6.2 Parametric Rectified Linear Units
6.3 Randomized Leaky ReLU
6.4 S-shaped ReLU
7. Exponential Linear Units(ELUs)
7.1 Parametric Exponential Linear Units(PELU)
7.2 Scaled Exponential Linear Units(SELU)
8. Maxout Function
9. Swish Function
10. ELiSH
'공부일지 > CS 기초' 카테고리의 다른 글
[개념 정리] 정리를 또 해보자 (0) | 2019.10.22 |
---|---|
[개념 정리] 운영체제 (0) | 2019.10.18 |