DL(Deep-Learning)/개념
[실습] numpy로 만드는 다층 신경망
이번에는 multiple Perceptron을 구현해보자 하나의 은닉계층을 갖는 다층 퍼셉트론 구현하기 📍 은닉층이 하나인 다층 신경망을 만들기 위한 설계도 파란색으로 표시된 새롭게 정의된 함수들에 대해서 살펴보자. 1. 파라미터 초기화 함수 init_model_hidden1() 정의 input_cnt, hidden_cnt, output_cnt를 받아 각 크기에 맞는 입력 계층과 은닉 계층 사이, 은닉 계층과 출력 계층 사이의 파라미터를 생성한다. def init_model_hidden1(): global pm_output, pm_hidden, input_cnt, output_cnt, hidden_cnt pm_hidden = allocate_param_pair([input_cnt,hidden_cnt]) ..
[실습] numpy로 만드는 단층 신경망 - 다중 분류2
우리는 다중 분류 문제를 예측하는 단층 신경망을 만들어 볼 것이다. 다중 분류 문제에서는 불량철판문제 데이터를 가지고 불량 철판의 종류를 예측하는 신경망을 구축해 볼 예정이다. 데이터 셋은 Kaggle에 있는 불량 철판 문제 에서 받아서 사용 할 수 있다. ✔︎ 데이터 살펴보기 import numpy as np import csv import pandas as pd data = pd.read_csv('data/faults.csv') 독립 변수는 철판의 불량 상태를 의미하는 지표인 총 27가지의 값이 주어지며, 종속 변수로는 one − hot vector 로 표현된 7가지의 불량 종류가 존재하는 1941개의 데이터셋 이다. 📍 다중 단층 신경망을 만들기 위한 설계도 1. 모듈 불러오기 import nump..
[실습] numpy로 만드는 단층 신경망 - 다중 분류1
이번에는 다중 분류를 위한 신경망을 만들어보려 한다. 이진 분류가 두 개의 선택지 중 하나를 고르는 문제였다면, 세 개 이상의 선택지 중 하나를 고르는 문제를 다중 클래스 분류라고 한다. 다중 분류 신경망은 이진 분류에서 처럼 일단 각 후보 항목에 대한 로그 척도의 상대적 추천 강도, 즉 로짓값을 추정하도록 구성된다. 이때 퍼셉트론 하나가 후보 하나에 대한 로짓값을 출력하게 된다. 따라서 다중 분류를 수행하려면 다중 분류 후보 수 만큼의 퍼셉트론이 필요하게 된다. 우선 로짓값은 상대적인 가능성을 로그를 이용해 나타낸 값이라 할 수 있다. 그리고 다중 분류에서 로짓값의 표현 대상은 각 후보 항목을 답으로 추정할 확률이 된다. 로짓값을 확률로 변환하지 않고서도 어떤 후보가 더 큰 값을 갖고 있는지 알 수 있..
[실습] numpy로 만드는 단층 신경망 - 이진 분류 2
우리는 이진 분류 문제를 예측하는 단층 신경망을 만들어 볼 것이다. 이진 분류 문제에서는 Pulsar 데이터를 가지고 별인지 펄서인지 예측하는 신경망을 구축해 볼 예정이다. 데이터 셋은 Kaggle에 있는 Pursar dataset 에서 받아서 사용 할 수 있다. ✔︎ 데이터 살펴보기 import numpy as np import pandas as pd df = pd.read_csv('data/pulsar_stars.csv') 총 8개의 독립변수와 하나의 종속변수로 약 17800여개의 데이터셋이 준비되어 있다. 📍 이진 단층 신경망을 만들기 위한 설계도 1. 모듈 불러오기 import numpy as np import csv # 실험 결과를 재현하기 위해 난수 발생패턴을 고정시키는 np.random.se..