본문 바로가기

AI & Data Analysis19

[모두의 딥러닝] #9장: 신경망에서 딥러닝으로 지금까지 오차를 줄이기 위한 방법 중 경사하강법에 집중해 공부했다. 하지만, 다층 퍼셉트론에 오차역전파가 사용될 때도 역시나,,, 한계점이 존재했는데.... 이 한계점이 바로 기울기 소실 문제이다. 활성화 함수의 미분값을 사용하여 가중치를 업데이트하게 되는데, 시그모이드 함수를 미분했을 때, 미분값은 점점 0에 가까워지는 것을 볼 수 있다... 결국, 층이 많아질수록 기울기가 소실되는 문제가 발생하게 된다. 이런 문제를 바탕으로 해결하기 위해 여러 고급 경사하강법이 개발되었는데...! 살펴보도록 하자~ 확률적 경사 하강법 적용실습) 데이터 로드 In [1]: import pandas as pd fish = pd.read_csv('https://bit.ly/fish_csv_data') fish_input .. 2022. 1. 22.
[모두의 딥러닝] #8장: 오차는 다운! 정확도는 업! 오차역전파 이번 8장에는 오차를 낮추고 정확도를 높이는 과정을 역으로 업데이트하는 방식으로 수행하는 오차역전파에 대해 공부하겠다! 지금까지 공부했던 내용들 중에서도 가장 난이도가 높은... 그리고 수학적 이해가 상당히 필요한 챕터이기 때문에 공부하면서 유독 많은 시간을 할애했다... 이걸 보고 계신 여러분도.. 포기하지 마시고 화이팅~! XOR 문제 오차역전파로 해결하기) 신경망의 구현 과정 1 | 환경 변수 지정: 데이터셋(입력 값, 결괏값), 학습률, 활성화 함수, 가중치 포함. 2 | 신경망 실행: 초기값 입력 -> 활성화 함수, 가중치 -> 결과값 3 | 결과를 실제 값과 비교: 오차 측정 4 | 역전파 실행: 출력층, 은닉층의 가중치 수정 5 | 결과 출력 In [1]: # 라이브러리 import impo.. 2022. 1. 22.
[모두의 딥러닝] #7장: XOR 문제의 극복, 다층 퍼셉트론 앞써 6장에서 우리는 하나로 이루어진 퍼셉트론의 한계점, XOR문제를 살펴보았다. 이 문제를 해결하기 위해 많은 공학자들이 많은 시간 오랜 고민, 일명 인공지능 암흑기를 겪었다고 전해진다. 과연 공학자들은 이 문제를 어떻게 해결할 수 있었을까? 이번엔 그 해결법인 다층 퍼셉트론의 등장 배경과 더불어 기본 설계와 구성에 대해 공부해보았다. XOR 문제 해결하기 실습 코드) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 다층 퍼셉트론으로 XOR 문제 해결하기 (By. 은닉층) import numpy as np # 가중치(w)와 바이어스(b) w11 = np.array(.. 2022. 1. 22.
[모두의 딥러닝] #6장: 가장 작은 인공신경망 단위, 퍼셉트론 지금까지 인공신경망 구축의 기본적인 원리를 이해 하고, 인공신경망 구축을 위한 튼튼한 기초를 잡아왔다. 이제 본격적으로 인공신경망을 뜯어볼 것이다! 우선 인공신경망의 가장 작은 단위인 퍼셉트론의 개요를 알고 어떠한 한계점을 갖고, 어떻게 해결해 나갔는지에 대해 공부해보려고 한다. 이번 스터디 내용중 가장 신기했던 것은 결국 인공신경망은 인간의 뉴런을 표본으로 구축되었다는 점이었다. 이 호기심은 더 나아가 세상 수많은 인간들이 어떻게 각기 다른 생각을 하며 다른 결론에 도달하는지에 대해 생각해보게 되었다. 2022. 1. 22.
[모두의 딥러닝] #5장: 참 거짓 판단 장치, 로지스틱 회귀 Logistic_regression 실습 코드) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 import numpy as np import pandas as pd import matplotlib.pyplot as plt # 공부 시간 x와 합격 여부 y의 리스트 만들기 (1: 합격, 0: 불합격) data = [[2,0],[4,0],[6,0],[8,1],[10,1],[12,1],[14,1]] x_data = [i[0] for i in data] y_data = [i[1] for i in data] # 그래프로 나타내기 plt... 2022. 1. 19.
[모두의 딥러닝] #4장: 오차 수정하기 : 경사하강법 두 번째 딥러닝 스터디 시간이 찾아왔따! 이번에도 주피터 노트북을 사용해 실습까지 이쁘게 무엇보다 꼼꼼히 진행해 보았다. 전 시간에는 최소 제곱법을 이용해 기울기 값과 y절편의 값을 구해 방정식을 세우고, 예측을 진행하는 단일 선형 회귀를 진행했다. 이번 시간에는 앞써 진행했었을 때의 오차를 떠올리며! 어떻게 오차를 최소화 시킬 수 있는가? 에 대한 solution 경사하강법에 다루고, 다중 선형 회귀 실습을 진행해 보았다. 실습 과정) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 5.. 2022. 1. 13.