본문 바로가기

파이썬 프로그래밍59

24. 딥러닝에서 데이터 표준화, 정규화가 필요한 이유 딥러닝 실행 전에 데이터 표준화(Normalization)와 정규화(Standardization)가 왜 필요할까? Kaggle 콘크리트 강도 계산(Calculate Concrete Strength) 데이터를 예시로 들어보자. 콘크리트 강도 계산 feature는 8개로 구성되어 있는데 각각 성질은 아래와 같다. Cement Component : - 시멘트의 혼합량 Blast Furnace Slag : - 고로 슬래그 미분말 함유량 (링크 참고) Fly Ash Component : - 플라이애시 혼합량(링크 참고) Water Component : - 물 혼합량 Superplasticizer Component : - 가소제 혼합량(링크 참고) Coarse Aggregate Component : - 굵은 골재 .. 2022. 4. 19.
평균, 분산, 표준편차, 정규화, 표준화 딥러닝에 들어가기 앞서, 데이터 전처리(preprocessing)은 정말 미친듯이 중요하다. 전처리만 잘해도 훈련 성공률은 어마무시하게 올라간다. 전처리에는 일반적으로 통계학(statistics)이 사용된다. 그래서 극단적으로 표현하면 인공지능 = 통계 라고 볼 수 있다. 그렇다면 딥러닝을 위한 전처리는 어떻게 해야 할까 이번시간엔 이에 대한 수학적 개념을 짚고 넘어갈 것이다. 대표값(Representative value) 이라는 개념이 있다. 대표값은 어떤 데이터를 대표하는 하나의 값 이라고 생각하면 되는데 예를들면 · 어떤 학급의 과학 점수 데이터 집단 대표값 : 평균 · 어떤 학급의 모의고사 데이터 집단 대표값 : 총점 · 어떤 학급의 세벳돈 데이터 집단 대표값 : 중앙값 → 왜냐하면 아예 못 받은.. 2022. 3. 2.
23 - 학습 성능 개선 : Mini batch & Shuffle 구현하기 지난 시간까지 복잡한 데이터에 대한 학습은 다중 퍼셉트론(MLP)가 효율적이라는 것을 배웠고 좀 더 빠르게 수렴하기 위해 경사하강법을 Momentum, RMSprop, Adam 으로 개선하여 학습해 보았다. 이번 시간부터 '학습 성능 개선'을 주제로 어떻게 해야 좀 더 빠르고 효율적으로 학습을 할 수 있을가에 대해 여러 방법들을 알아볼 것이다. 학습 성능을 개선한다는 것은 최단 학습으로 지역 최소점에 빠지지 않고 전역 최소점에 수렴하는 방법을 찾는 것이라고 생각해도 좋을 것이다. 사실 위의 경사하강법 개선도 학습 성능 개선 방법 중 하나이다. 기본적으로 쓰여서 그렇지... 1. 아이리스 분류 풀 데이터셋 다시 살펴보기 10. 단층 퍼셉트론 을 다시 살펴보고 오자. 150개 오리지널 데이터셋을 한번 섞고(.. 2022. 2. 11.
22. 다중회귀-소프트맥스 함수 역전파(고급, 쉬운 방법) 이번 시간엔 소프트맥스 함수 역전파를 고급지게(?) 다뤄볼 것이다. 왜냐하면 기존에 다룬 방법(8.다중분류 구현하기(기초실습), 9.다중분류 구현하기(심화실습) ) 은 너무 비효율적이기 때문이다. (그래도 고급을 이해하기 위해서 읽고 오시라, 기본 수학적 배경 없으면 읽기 힘들 수 있다.) 일일이 소프트맥스 미분 행렬을 만드는 것은 너무나도 귀찮은(...) 일이다. 아래는 IRIS 꽃 분류에 사용하였던 소프트맥스 미분 행렬이다. 3개 출력이므로 (3, 3) Size의 행렬이 된다. dsmax_dg_matrix = np.array([[(smax_WXB1*(1-smax_WXB1))[0], -(smax_WXB1*smax_WXB2)[0], -(smax_WXB1*smax_WXB3)[0]], [-(smax_WXB1.. 2022. 2. 10.