본문 바로가기

Data Science

(51)
딥러닝 모델 개선 | 2. DNN 모델의 크기를 변경하는 방법 딥러닝 모델 개선 방법 Epoch 수와 과적합 DNN 모델 크기 변경 Dropout Layer 추가를 통한 Overfitting 규제 Batch Normalization (배치정규화) Optimizer의 Learning rate(학습율) 조정을 통한 성능 향상 Hyper parameter tuning 2. DNN 모델의 크기를 변경하는 방법 DNN 모델 크기 모델의 layer나 unit 수가 많을 수록 복잡한 모델이 된다. Overfitting일 경우 모델을 간단하게 만들고 Underfitting일 경우 모델을 크게 만든다 ⇒ 큰 모델에서 시작하여(overfitting 발생, 최적화 가능) ⇒ layer나 unit수를 줄여가며 validation loss의 감소 추세를 관찰해 최적화 - linear에서는..
딥러닝 모델 개선 | 1. Epoch수와 과적합 Epoch과 과적합 데이터셋을 여러번 반복 학습을 하게 되면 초반에는 train, validation 성능이 모두 개선된다. 그러나 학습이 계속 반복되면 train 의 성능은 계속 좋아지지만 어느시점부터는 Overfitting이 발생하여 validation 의 성능은 나빠진다. Epoch을 반복하는 것은 같은 데이터셋을 반복적으로 학습하는 것이기 때문에 적절한 Epoch수를 넘어가면 Overfitting이 발생한다. ⇒ Validation set의 성능이 나빠지기 전의 반복 횟수를 모델의 최적의 Epoch으로 선택한다.
딥러닝 모델 성능 개선 | 과대적합과 과소적합의 문제 해결하기 모델을 만들기 전 목표 평가 지표를 정한다 → 그 목표의 정확도를 달성하면 모델을 선택 1. 어떤 모델을 선택해야하는가? 일반화된 모델 최적화 : trian data에서 최고의 성능을 얻으려고 파라미터들을 조정 = 모델을 학습 일반화된 모델 ⇒ 모델링을 통해 찾아야하는 목표 훈련된 모델이 처음 보는 데이터에 대해서도 잘 추론할 수 있는 특징을 찾음 = 학습을 통해 일반화된 특징 찾음 2. 모델 성능 문제와 개선 방향 Summary 과소적합문제와 과대적합 문제를 해결하여 그 중간의 적절한 정확도를 가지는 ‘일반화된 모델’을 선택해야한다. 2.1 과소적합 검증 결과 학습이 덜되어서(underfitting) Train set과 Validation 모두 성능이 안좋음 모델이 Train dataset 크기에 비해..
딥러닝 개요 1. 인공지능 인공지능 (AI-aritificial Intelligence) 기계가 사람의 지능을 모방하게 하는 기술 규칙 기반, 데이터 학습기반 1.1 Strong AI( 강 인공지능 ) vs Weak AI (약 인공지능) 강 인공지능 AGI성능을 가지는 인공지능 인공지능 연구가 목표하는 방향 약 인공지능 인간은 쉽게 처리할 수 있었지만 컴퓨터로 처리하기 어려웠던 일을 컴퓨터가 수행할 수 있도록 하는 것 지각을 가지고 있지 않으며 특정한 업무를 처리하는데 집중 1.2 인공지능의 발전을 가능하게만든 세가지 요소 데이터의 급격한 증가 사진, 동영상,IoT 기기, SNS컨텐츠 등으로 데이터가 증가 전 세계 디지털데이터의 90%가 최근 2년동안 생성 알고리즘의 발전 급증한 데이터를 이용한 기존 알고리즘 개선 ..
[python] 03.자료구조 | Set 4. Set 구문 { 값 , 값 , 값 } - { } 빈 set이 아니라 빈 dictionary를 생성 s2 = {1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,5,5,5,5} s2 #중복을 허용하지 않아 unique value만 남긴다 > {1, 2, 3, 4, 5} s2[0] #개별 원소 조회 불가(식별자=index가 없음) 연산자 in, not in 연산자 값 in Set Set의 원소로 값이 있으면 True, 없으면 False 반환 값 not in Set Set의 원소로 값이 없으면 True, 있으면 False 반환 len(Set) Set의 원소의 개수 반환 1 in s2,10 in s2 > (True,False) 연산자 - 추가 : add, update - 제거 : pop, remove ..
[python] 03.자료구조 | Dictionary 3.Dictionary 값을 키(key)-값(value) 쌍으로 묶어서 저장하는 자료구조이다. (리스트의 값들의 인덱스에 이름을 붙인 형태 - key) key-value 쌍으로 묶은 데이터 한개를 item 또는 entry라고 한다. Dictionary 생성 구문 { 키 : 값, 키 : 값, 키 : 값 } dict(key=value, key=value) 함수 이용 키(key)는 불변(Immutable)의 값들만 사용 가능하다. (숫자, 문자열, 튜플) 일반적으로 문자열을 사용한다. dict() 함수를 사용할 경우 key는 변수로 정의한다 예) customer_info = {"name" :"홍길동", "age" : 20, "nickname" : "박명수", "email": "abc@abc.com", "add..
[python] 03.자료구조 | Tuple 2. Tuple 리스트처럼 순서대로 원소를 관리, 단 원소를 변경할 수 없음 소괄호로 관리되고, 괄호는 생략가능 (value, value,,,,) 예) 튜플 대입 a,b,c = 10,20,30 = (10,20,30) (50)은 그냥 정수 - 파이썬에서는 괄호를 '연산자 우선수위'를 알려준다고 생각, 그냥 정수로 인식 (50,) or 50, - 뒤에 쉼표를 붙여줘야 tuple로 인식 Indexing과 Slicing을 이용한 원소(element) 조회 조회 과정 자체는 리스트와 동일하지만, 튜플은 조회만 가능하고 원소를 변경할 수 없음 #조회 index t2 = (10,20,30,40,50,60) #양수/음수 index t2[0] -> 10 t2[5],t2[-1] -> 60,60 #범위 조회 t2[1:5] ..
[python] 03.자료구조 | List 파이썬에서 제공하는 4개의 자료구조 타입 자료구조란 여러개의 값들을 모아서 관리하는 데이터 타입을 의미한다. List, Tuple 여러 값을 순서로 식별 가능 list : 순서 o, 중복 가능, 원소 변경 가능 Tuple : 순서 x, 중복 가능, 원소 변경 불가 Dictionary, Set 여러 값을 순서로 식별할 수 없음 예) 홍길동(이름), 20(나이), 서울(주소) - 한 사람의 정보임, 같은 종류의 정보 x이므로 순서로 식별x Dictionary : 순서 x, key-value형태, value는 중복된 값을 저장가능 그러나 key는 중복될 수 없음 Set : 순서 x, 핵심은 중복을 허용하지 않는다는 것, 집합의 개념 len(자료구조) 함수 : 문자열에서는 글자수를, 자료구조에서는 값들의 개수를..