전체 글
-
[Python 기초 #4] 집합(set), 불(bool), 변수(variable)Programming 기초/Python 2023. 4. 15. 11:07
* set(집합) 자료형 - 요소에 순서가 없다. - 중복을 허용하지 않는다. - 딕셔너리와 비슷하게 인덱싱으로 접근하려면 리스트나 튜플로 변환해야 한다. list(), tuple() s1 = set([1, 2, 3]) # set함수 안에 배열을 넣는다. s2 = {5, 2, 1, 2} s3 = {'Hello'} # 이건 'Hello'를 하나의 요소로 인식한다. s4 = set("hello")# hello를 구성하는 문자 하나하나를 요소로 인식한다. print(type(s3)) print(s1) print(s2) print(s3) print(s4) ------------------------ {1, 2, 3} {1, 2, 5} {'Hello'} {'o', 'h', 'l', 'e'} 리스트 내의 중복된 요..
-
[Python 기초 #3] 튜플(tuple), 딕셔너리(dictionary)Programming 기초/Python 2023. 4. 14. 23:26
* Tuple(튜플) - 리스트는 []으로 둘러싸지만 튜플은 ()으로 둘러싼다. - 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다. - 괄호 생략 가능. - 1개의 요소만을 가질 때는 요소 뒤에 콤마를 반드시 붙여야함. 그 외 나머지는 리스트와 동일히다. t1 = () t2 = (1,) t3 = (1, 2, 3) t4 = 1, 2, 3 t5 = ('a', 'b', ('ab', 'cd') * Dictionary(딕셔너리) - Key와 Value를 한 쌍으로 갖는 자료형. - 연관 배열(Associative array) 또는 해시(Hash)라고 불림 - value값으로 리스트를 쓸 수 있으나 key 값으로 리스트를 쓸 수 없다. dic = {'name' : 'Eric', '..
-
[Python 기초 #2] 리스트 자료형Programming 기초/Python 2023. 4. 14. 17:20
list(리스트) a = [] # 빈 값 b = [1, 2, 3] # 숫자 c = ['Life', 'is', 'too', 'short'] #문자 d = [1, 2, 'Life', 'is'] #숫자 + 문자 e = [1, 2, ['Life', 'is']] # 리스트 안에 리스트 print(e[2][0]) ---------------------------------------- Life 리스트 연산하기 a = [1, 2, 3] b = [4, 5, 6] print(a+b) print(a*3) 리스트 값 수정하기 a = [1, 2, 3] a[2] = 4 print(a) b = ["서울", "인천", "부산"] b[0:2] = ["경기도", "충청도"] print(b) ------------------------..
-
[DL for VS #7] 신경망 하이퍼파라미터 튜닝Machine Learning/Deep Learning for Vision Systems 2023. 4. 13. 23:02
4.5.1 데이터 추가 수집 또는 하이퍼파라미터 튜닝 훈련 데이터에 대한 기존 성능이 납득할만한 수준인지 확인한다. 훈련 데이터 정확도(train_acc)와 검증 데이터 정확도(val_acc) 이렇게 두 가지 지표를 시각화해서 관찰한다. 훈련 데이터에 대한 성능이 낮다면 과소적합의 가능성이 있다. 과소적합은 기존 데이터도 충분히 활용하지 못하는 상황이므로 데이터를 추가 수집할 필요가 없다. 하이퍼파라미터를 조정하거나 기존 훈련 데이터를 클린징(정화)해야 한다. 훈련 데이터에 대한 성능은 괜찮은데 테스트 데이터에 대한 성능이 떨어진다면 일반화 성능이 떨어지는 과적합의 가능성이 있다. 데이터 추가 수집이 유효한 경우다. 데이터 레이블링이 수동작업으로 이루어짐.이미지 한 장 한 장 사람이 직접 보고 레이블링 ..
-
C언어 기초#9 문자열(string)Programming 기초/C Language 2023. 4. 13. 17:29
*문자열(string) 문자열은 “abc”와 같이 큰 따옴표로 표시하고 문자는 ‘a’와 같이 작은 따옴표로 표시한다. “”‘’ 가 없으면 변수의 이름으로 취급된다. ‘\0’은 NULL문자로, 아스키 코드 값이 0인 문자이다. (NULL 문자의 원래 의미는 터미널이나 프린터로 보내지는 NOP(No Operation) 명령어를 의미하였다. NULL 문자는 ‘\0’으로 표현하는데 이것은 아스키 코드에서 값이 0인 코드를 의미하므로 단순히 정수 0으로 쓰기도 한다.) NULL 문자의 필요성 : 컴퓨터는 쓰레기 값 역시 문자로 인식하기 때문에 어디까지가 의미 있는 문자열인지 알지 못한다. 예를 들어 10바이트의 배열을 선언하고 5바이트만 채웠을 때 끝이 지정되어 있지 않으면 나머지 5바이트에는 쓰레기 값이 들어간..
-
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)를 알아야 함...