분류 전체보기
-
C 언어 기초#8 포인터(pointer)Programming 기초/C Language 2023. 4. 13. 16:19
*포인터(pointer)포인터(pointer)는 메모리 주소를 가지고 있는 변수이다.간접 참조(dereferencing, 역참조; indirection) 연산자 * : 만약 p가 변수 I를 가리킨다고 하면 *p는 변수 I와 같다. *p는 p가 가리키는 위치에 있는 데이터를 가져오라는 의미이다. 만약 p가 int형 포인터이면 p가 가리키는 위치에 정수가 있다고 가정하고 4바이트를 읽어 들인다. 만약 double형 포인터이면 p가 가리키는 위치에 실수가 있다고 생각하고 8바이트를 읽어 들이는 것이다. 이것이 포인터의 타입이 필요한 이유이다.&(앰퍼샌드) - 주소 연산자(address-of oprerator), 변수의 주소를 구하여 포인터에 대입할 때 사용*(star) - 포인터를 통하여 변수를 간접 참조할 ..
-
[Python 기초 #1] 기본 문법1 - 문자열, count, find, index,Programming 기초/Python 2023. 4. 12. 19:55
* 파이썬이란? 1990년 암스테르담의 귀도 반 로섬(Guido Van Roasadd)이 개발한 인터프리터 언어. 본인이 좋아하는 코미디 쇼인 '몬티 파이썬의 날아디는 서커스(Monty Python's Flying Circus)'에서 따왔다고 함. 사전적 의미는 고대 신화에 나오는 파르나소스 산의 동굴에 살던 큰 뱀을 뜻함. 알로 신이 델파이에서 파이썬을 퇴치했다는 이야기가 전해짐. 대부분의 파이썬 책 표지와 아이콘이 뱀 모양으로 그려진 이유. 구글의 절반이상, 인스타그램, 파일 동기화 서비스 드롭박스(dropbox)등이 파이썬으로 제작. * 파이썬의 문법 1. //는 몫을 구한다. /는 나누기를 실행한다. 2. 제곱은 ** a = 3 b = 4 print(a//b) print(a/b) print(a**..
-
[DL for VS #6] 성능 지표 - 정확도, 혼동 행렬, 정밀도, 재현율, F-점수, 시각화 예제Machine Learning/Deep Learning for Vision Systems 2023. 4. 12. 16:50
4. 딥러닝 프로젝트 시동 걸기와 하이퍼파라미터 튜닝 머신러닝 시스템의 성능 지표 정의하기 베이스라인 모델 설정하기 학습 데이터 준비하기 모델을 평가하고 성능 지표 해석하기 신경망을 개선하고 하이퍼파라미터 튜닝하기 4.1 성능 지표란 모델의 성능을 평가하는 지표에는 정확도, 정밀도, 재현율, F-점수 등이 있다. 4.1.1 정확도 정확도 = 정답을 맞힌 횟수 / 전체 표본 수 희귀질환 양성/음성 판정 시스템 예시에서, 정확도는 이 모델의 성능 평가하기 적합한 지표가 아니다. 전체 1백만 명 중 1명꼴로 발병한다면, 음성 예측 시스템은 99.999%의 정확도를 갖는다.(정확도 지표가 의미가 없음) 4.1.2 혼동 행렬 또 다른 지표를 정의하기 앞서 혼동 행렬(confusion mamtrix)를 알아야 함...
-
[DL for VS #5] 컬러 이미지 합성곱 연산 실습Machine Learning/Deep Learning for Vision Systems 2023. 4. 12. 16:40
3.6 컬리 이미지의 합성곱 연산(3D 이미지) 컬러이미지는 R, G, B채널을 포함하기 때문에 28x28 크기의 이미지를 컴퓨터는 28x28x3크기의 행렬로 다룬다. 3.6.1 컬러 이미지를 대상으로 합성곱 연산하기 합성곱 커널을 입력 이미지 위로 이동시키며 특징 맵을 계산하면 되는데, 이제 커널도 채널이 추가되어 3차원이 되었다. *훈련데이터 : 모델을 학습하는데 사용하는 데이터 *검증 데이터 : 하이퍼파라미터를 튜닝할 때 훈련 데이터에 치우치지 않도록 하기 위한 별도의 데이터. 검증 데이터에서 학습한 내용이 모델 설정에 끼어들면 모델 평가가 편향된다. *테스트 데이터 : 모델의 성능을 최종 판단하기 위해 사용하는 데이터 *레이블 행렬 원-핫 인코딩을 적용해서 (1,n) 모양의 레이블 벡터를 (10,..
-
[DL for VS #4] CONV kernel, stride, padding, pooling, dropoutMachine Learning/Deep Learning for Vision Systems 2023. 4. 12. 16:33
3.1 다층 퍼셉트론을 이용한 이미지 분류 MNIST 예제를 이용할 것임. MNIST(Modified National Institute of Standards and Technology database) 손글씨 숫자들로 이루어진 대형 데이터베이스MNIST 데이터셋이 깔끔하고 완벽하게 전처리된 상태이기 때문에 MLP 성능(96%)과 CNN 성능(99%)이 비슷하다. 3.1.1 입력층 3.1.2 은닉층 전결합층(fully connected layer, FC = 밀집층, dense layer) 이전 층의 모든 노드가 각기 다음 층의 모든 노드와 연결된 것. 이런 신경망을 전결합 신경망(fully connected network)이라고 함. 노드와 노드를 연결하는 에지(edge)는 해당 노드의 출력에 대한 중요..
-
C 언어 기초#7 배열, 정렬, 탐색(순차탐색, 이진탐색), 다차원배열Programming 기초/C Language 2023. 4. 12. 01:20
*배열 동일한 타입의 데이터가 여러 개 저장되어 있는 데이터 저장 장소. int grade[배열의 크기] // 배열의 크기 >0 grade[배열의 순서] // 0= sizeof(grade)는 전체 배열의 크기, sizeof(grade[0]);는 배열 원소의 크기 *배열과 함수 1.배열 원소를 인수로 하여서 함수를 호출하면 복사본이 전달된다. 배열은 원본이 전달되지만 배열 원소는 복사본이 전달된다. 2..
-
C 언어 기초#6 함수와 변수, 가변매개변수함수, 순환함수Programming 기초/C Language 2023. 4. 11. 23:27
*함수 -> 반환형 함수이름 (매개변수1, 매개변수2) e.g) int add (int x, int y) { 함수 몸체 } c.f.) 타입이 동일한 두 개의 매개 변수를 선언할 때 변수를 정의하듯이 하면 오류가 발생한다. 즉 float형의 두 개의 매개 변수 x, y를 선언할 때 float x, y라고 하면 x는 float 타입으로 선언되지만 y는 타입이 없는 것으로 간주되어 int형으로 된다. -> 매개변수는 외부에서 전달되는 데이터가 저장되는 변수이다. *함수원형(function prototype) int compute_sum(매개변수1, 매개변수2); 함수 원형은 컴파일러에게 미리 함수에 대한 정보를 주어서 함수의 매개 변수 검사, 반환형 검사 등을 하게 하기 위한 것. //소수체크 프로그램 #de..
-
[DL for VS #3] 최적화 알고리즘-(배치, 확률적, 미니배치)경사하강법, 역전파 알고리즘Machine Learning/Deep Learning for Vision Systems 2023. 4. 8. 23:30
2.6.2 배치 경사 하강법(batch gradient descent, BGD) 1.경사 (경사=미분=기울기 ) 가장 가파른 방향을 찾는다. 3차원으로 생각해보면 여러 편미분값 중 가장 가파른(가장 큰 편미분값) 방향을 선정하는 것. 2.보폭(학습률 α) 학습률(learning rate)은 경사하강법 수행 중 가중치를 수정할 때 이동할 보폭에 해당. 가장 중요한 하이퍼파라미터 중 하나. 학습률 크면 신경망 학습 빠르게 진행(오차 함수의 언덕을 큰 보폭으로 내려가므로) 학습률이 너무 크면 보폭 사이에 골이 존재할 경우 오찻값이 진동(oscillating)하기만 할 뿐 감소하지 않는다. 학습률이 너무 작으면 학습 시간이 오래 걸림. 학습률은 0.1 또는 0.01을 초깃값으로 설정한 다음 추후 조정. 3.방향..