본문 바로가기
SW 교육

[2024.08.12] 딥러닝

by 하루한번토스트 2024. 8. 13.

[모두의 딥러닝]

 

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