[모두의 딥러닝]
9쪽 깃허브에서 파일 다운로드
1장 주피터 설치하는 내용이라 스킵
2장 스킵
3장 스킵
4장
1. 최소 제곱법은 1차방정식의 a와 b를 구한다.
2. 평균 제곱 오차: 최소 제곱법과 방식만 다를분 a와 b를 구하는것을 목표로한다
5장 경사 하강법<< 단어 기억하기
6장 로지스틱 회귀모델
p379쪽 텐서플로 설치하기
! pip install tensorflow
import numpy as np
import matplotlib.pyplot as plt
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
#데이터 수
#input
x = np.array([2, 4, 6, 8, 10, 12, 14])
#target
y = np.array([0, 0, 0, 1, 1, 1, 1])
# Sequential : 알고리즘을 가지고 있는 객체.
model = Sequential()
model.add(
Dense( #설정
1, #출력값이 1개임을 설정(분류)
input_dim=1, #입력컬럼이 몇개 인지 설정한다.
activation='sigmoid' #o,x를 판단하는 함수이름이 시그모이드 함수이다.
# sigmoid >> ReLU >>... > softmax
)
)
# 교차 엔트로피 오차 함수를 이용하기 위하여 'binary_crossentropy'로 설정합니다.
# model.add(Den())
model.compile(
#알고리즘 중 어떤 가중치 알고리즘을 쓸지 선택
#GD(경사하강법) ->> SGD(확률적 경사하강법)
optimizer='sgd', #x*w1 + y*w2+ z*w3 =0
#RMSprop ->> Adagrad ->> ...->> Adam
loss='binary_crossentropy'
#[step2]손실 함수를 설정
#훈련중에 얻어낸 가중치 값이 평균보다 얼마나 떨어져있는지 구하는 함수
#MSE: 평균 제곱 오차 ->> RMS ->> ... ->> binary_crossentrop로 발전되었다.
)
# w1=랜덤값, w2=랜덤값, w3=랜덤값
# 입력데이터 10개를 1,2,3 알고리즘으로 한바퀴 돌린것을 1 에폭이라고 한다.
# 이때 구해진 w1,w2,w3값을 다시 입력 데이터 10개와 1번 더 돌려본다.
#verbose=0; 하면 출력 안나옴
model.fit(x, y, epochs=300,verbose=0)
#[step4] 평가 지표
# 분류 : Accurary, Precision
# 회귀 : Mse
plt.scatter(x, y)
plt.plot(x, model.predict(x),'r')
plt.show()
#임의의 학습시간을 집어넣어 합격 예상 확률을 예측해 보겠습니다.
hour = np.array([7])
prediction = model.predict([hour])
print("%.f시간을 공부할 경우, 합격 예상 확률은 %.01f%%입니다" % (hour, prediction * 100))
print('exit')
7장 스킵
8장 다층 퍼셉트론
XOR문

'SW 교육' 카테고리의 다른 글
[2024.08.27] React (1) | 2024.08.28 |
---|---|
[2024.08.19] 데이터분석이론과 경사 하강법 (0) | 2024.08.19 |
[2024.08.06] 데이터 처리 (0) | 2024.08.06 |
[2024.08.05] 데이터 분석 (0) | 2024.08.05 |
[2024.08.02] 특성 공학과 규제 (0) | 2024.08.02 |