본문 바로가기

전체 글

(20)
< 심화 학습2 > 파이썬 코딩으로 짜 보는 신경망 환경 변수 설정하기 실제 값이 될 XOR 진리표는 다음과 같다. 먼저 두 개의 입력 값과 한 개의 타깃 값으로 먼저 설정하겠습니다. 실행 횟수, 학습률, 모멘텀 계수도 설정하겠습니다. import random import numpy as np # 환경 변수 지정 # 입력값 및 타깃 값 data = [ [[0, 0], [0]], [[0, 1], [1]], [[1, 0], [1]], [[1, 1], [0]] ] # 실행 횟수(iterations), 학습률(lr), 모멘텀 계수(mo) 설정 iterations=5000 lr=0.1 mo=0.4 # 활성화 함수 - 1. 시그모이드 # 미분할 때와 아닐 때의 각각의 값 def sigmoid(x, derivative=False): if (derivative == T..
< 심화 학습1 > 오차 역전파의 계산법 출력층의 오차 업데이트 + w2의 값 중 하나인 w31을 업데이트하는 과정 + > t는 한 단계 앞, t + 1은 현재 단계의 계산을 의미. > 맨 오른쪽 식은 Yout을 구하고 이를 w31에 대해 편미분하라는 의미입니다. 오차 공식 - 오차 Yout 안에는 두개 (y01, y02)의 출력 값이 있습니다. 오차는 평균 제곱 오차를 이용해 구합니다. y01, y02의 실제 값을 yt1, yt2라고 할 때, 다음과 같이 계산합니다. 즉 오차 Yout은 다음과 같이 구할 수 있습니다. 체인 룰 W31에 대해 오차를 편미분 하는 것은 합성 함수(함수 안에 또 다른 함수가 들어 있는 것을 의미) 미분 공식을 따릅니다. 즉, 체인 룰에 의해 다음과 같이 계산할 수 있습니다. 체인 룰 계산하기 - Yout = 오차 ..
데이터 다루기 판다스 : 판다스는 데이터 분석과 관련된 다양한 기능을 제공하는 파이썬 라이브러리입니다. 데이터 만들기 # 1. 판다스 라이브러리 불러오기 import pandas as pd # 2. 데이터 프레임 만들기 df = pd.DataFrame( # df라는 변수에 데이터 프레임을 담아 줍니다. {"a" : [4 ,5, 6, 7], # 열 이름을 지정해 주고 시리즈 형태로 데이터를 저장합니다. "b" : [8, 9, 10, 11], "c" : [12, 13, 14, 15]}, index = [1, 2, 3, 4]) # 인덱스는 1,2,3으로 정해 줍니다. # 3. 데이터 프레임 출력 df # 4. 데이터의 열 이름을 따로 지정해서 만들기 df = pd.DataFrame( [[4, 8, 12], [5, 9, 13..
< 셋째 마당 > 딥러닝의 시작, 신경망 7장 퍼셉트론과 인공지능의 시작 인공지능의 시작을 알린 퍼셉트론 - 퍼셉트론: 입력 값을 여러 개 받아 출력을 만드는데, 이때 입력 값에 가중치를 조절할 수 있게 만들어 최초로 '학습'을 함. - 아달라인: 퍼셉트론에 경사 하강법을 도입해 최적의 경계선을 그릴 수 있도록 함. + 가중합이란? 입력 값과 가중치를 모두 곱한 후 바이어스를 더한 값 + 퍼셉트론의 과제 : 퍼셉트론이나 아달라인은 모두 2차원 평면상에 직선을 긋는 것만 가능합니다. 이 예시는 경우에 따라 선을 아무리 그어도 해결되지 않는 상황이 있다는 것을 말해 줍니다. ( 각각 엇갈려 놓인 검은색 점 두개와 흰색 점 두 개를 하나의 선으로 구별x ) 8장 다층 퍼셉트론 다층 퍼셉트론의 등장 1. x1과 x2를 두 연산으로 각각 보냅니다. 2...
CHAPTHER 4 - 5 최적의 선 구하기 다음 두 가지 방법을 이용해 주어진 데이터에 맞는 최적의 선 구하기. [1] import numpy as np # 데이터 x = 2 * np.random.rand(100, 1) y = 4 + 3 * x + np.random.randn(100, 1) numpy 의 np.random.randint vs rand/randn - np. random.seed: seed를 통한 난수 생성 - np.random.randint: 균일 분포의 정수 난수 1개 생성 - np.random.rand: 0부터 1사이의 균일 분포에서 난수 matrix array 생성 - np. random.randn 가우시안 표준 정규 분포에서 난수 matrix array 생성 - np.random.shuffle: 기존의 데이..
<둘째 마당> 예측 모델의 기본 원리 : 독립 변수 x를 사용해 종속 변수 y의 움직임을 예측하고 설명하는 작업. : 임의의 직선을 그어 이에 대한 평균 제곱 오차를 구하고, 이 값을 가장 작게 만들어 주는 a 값과 b 값을 찾아가는 과정. : 예측 하기 위해 y = ax + b에서 직선의 기울기 a 값과 y 절편 b 값을 정확히 예측해야한다. 1) 종류 + 단순 선형 회귀: x 값만으로도 y 값을 설명할 수 있다. + 다중 선형 회귀: x 값이 여러 개 필요하다. 2) 최소 제곱법(독립 변수가 하나 일때) : 가진 정보가 x 값과 y 값 일때 이를 이용해 기울기 a를 구할 수 있다. - y 절편인 b 구하기 - b = y의 평균 - (x의 평균 x 기울기 a) - 파이썬 코딩으로 구하는 최소 제곱 - import nump..
6장.확률 : 이산확률변수 X 분포 : 함수값 -> 확률 : 연속확률변수 X 분포 : 함수의 넓이 -> 확률 : 변량 X의 값이 불연속적인 값을 가지는 것. : 0과 1 사이의 모든 값에 동등한 비중을 준 분포. : 숫자 하나의 비중은 0 > 확률 밀도 함수로 연속 분포를 표현. - 균등 분포의 확률 밀도 함수 def uniform_pdf(x:float) -> float: return 1 if 0 : 확률변수의 값이 특정 값보다 작거나 클 확률 def uniform_cdf(x: float) -> float: """균등 분포를 따르는 확률변수의 값이 x보다 작거나 같은 확률을 반환""" if x : mu = 0 이고 sigma = 1..
음악 장르 경향 분석 1) 주제 선정 이유 - 요즘 많은 사람들이 음악과 함께 살아가고 있습니다. 길거리 어디를 돌아다니든 음악이 나오는 것을 들을 수 있습니다. 저도 음악을 좋아하는 한 사람으로써 평소 음악을 많이 듣습니다. 음악을 듣다보면 개인 마다 좋아하는 음악 스타일이 다르기도하고 계절별로 음원 사이트 상위를 장식하는 음악의 장르가 달라지는 것을 확인 할 수 있습니다, 저는 이번 텀프로젝트를 통해 사람들이 계절별로 어떤 장르의 노래를 선호하는지, 해가 거듭하면서 어떤 장르들이 사랑받는지에 관해 데이터를 분석하고 계절별로 어떤 장르의 노래를 출시해야 성공가능성이 높은지 분석해보고 싶어졌습니다. 또한 분석한 데이터를 토대로 어떤 장르의 노래를 어느 계절에 내야 가장 히트를 칠지 예상해보도록 하겠습니다. 2) 인터넷을 통한..