Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 45

04 장 분류하는 뉴런을 만듭니다

― 이진 분류

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 1


Draft
• 04-1 초기 인공지능 알고리즘과 로지스틱 회귀를 알아봅니다

• 04-2 시그모이드 함수로 확률을 만듭니다

• 04-3 로지스틱 손실 함수를 경사 하강법에 적용합니다

• 04-4 분류용 데이터 세트를 준비합니다

• 04-5 로지스틱 회귀를 위한 뉴런을 만듭니다

• 04-6 로지스틱 회귀 뉴런으로 단일층 신경망을 만듭니다

• 04-7 사이킷런으로 로지스틱 회귀를 수행합니다

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 2


04-1 초기 인공지능 알고리즘과 로지스틱 회귀를 알아봅니다
퍼셉트론

• 1957 년 코넬 항공 연구소 (Cornell Aeronautical Lab) 의 프랑크 로젠블라트 (Frank Rosenblatt) 는


• 이진 분류 문제에서 최적의 가중치를 학습하는 퍼셉트론 (Perceptron) 알고리즘을 발표
• 직선 방정식을 사용하기 때문에 선형 회귀와 유사한 구조
• 퍼셉트론은 마지막 단계에서 샘플을 이진 분류하기 위해 계단 함수를 사용한다는 점이 차이점
• 계단 함수를 통과한 값을 다시 가중치와 절편을 업데이트 ( 학습 ) 하는데 사용

3 장에서 살펴본 뉴런 구조와 동일 ( 입력신호 (w2x2) 가 1 개 더많아짐 )


05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 3
04-1 초기 인공지능 알고리즘과 로지스틱 회귀를 알아봅니다
퍼셉트론

• 뉴런은 입력 신호들을 받아 z 를 만듦
• 다음 수식에 의해 z 를 만들며 , 다음 수식을 '선형 함수'라 칭함

w 1 x 1 + w2 x 2+ 𝑏=𝑧

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 4


04-1 초기 인공지능 알고리즘과 로지스틱 회귀를 알아봅니다
퍼셉트론

• 계단 함수는 z 가 0 보다 크거나 같으면 1 로 , 0 보다 작으면 -1 로 분류 ( 계단모양 )


• 퍼셉트론 -> 선형 함수를 통과한 값 z 를 계단함수로 보내 0 보다 큰지 ,
작은지 검사하여 1 과 -1 로 분류하는 아주 간단한 알고리즘

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 5


04-1 초기 인공지능 알고리즘과 로지스틱 회귀를 알아봅니다
퍼셉트론

• 왼쪽 : 3 장에서 배운 하나의 특성 사용했을 경우 뉴런


• 오른쪽 : 여러 개의 특성을 사용하는 뉴런

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 6


04-1 초기 인공지능 알고리즘과 로지스틱 회귀를 알아봅니다
퍼셉트론

• 특성이 n 개인 선형 함수는 다음과 같이 표기합니다 .

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 7


04-1 초기 인공지능 알고리즘과 로지스틱 회귀를 알아봅니다
아달린

• 아달린 : 퍼셉트론이 등장한 이후 1960 년에 스탠포드 대학의 버나드 위드로우 (Bernard Widrow) 와 테
드 호프 (Tedd Hoff) 가 퍼셉트론을 개선한 적응형 선형 뉴런 (Adaptive Linear Neuron) 을 발표
• 퍼셉트론과의 차이점 : 아달린은 선형 함수의 결과를 학습에 사용 , 퍼셉트론에는 학습의 절차가 없고 예측만 있음

아달린

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 8


04-1 초기 인공지능 알고리즘과 로지스틱 회귀를 알아봅니다
로지스틱 회귀

• 로지스틱 회귀는 퍼셉트론과 아달린보다 발전한 형태를 취하고 있음 .


• 로지스틱 회귀는 이름이 회귀지만 분류 알고리즘
• 활성화 함수 : 선형 함수를 통과시켜 얻은 z 를 임계 함수에 보내기 전에 변형시킴
• a : 활성화 함수를 통과시킨 값

아달린 로지스틱 회귀

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 9


04-1 초기 인공지능 알고리즘과 로지스틱 회귀를 알아봅니다

활성화 함수는 비선형 함수를 사용해야 함


만약 활성화 함수가 선형 함수라면 활성화 함수의 존재가 무의미

선혐 함수 a 와 동일한 구조의 식이 나오므로 활성화 함수의 의미 없어짐 !

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 10


선형회귀 vs 퍼셉트론 vs 아델린 vs 로지스틱 회귀

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 11


Draft
• 04-1 초기 인공지능 알고리즘과 로지스틱 회귀를 알아봅니다

• 04-2 시그모이드 함수로 확률을 만듭니다

• 04-3 로지스틱 손실 함수를 경사 하강법에 적용합니다

• 04-4 분류용 데이터 세트를 준비합니다

• 04-5 로지스틱 회귀를 위한 뉴런을 만듭니다

• 04-6 로지스틱 회귀 뉴런으로 단일층 신경망을 만듭니다

• 04-7 사이킷런으로 로지스틱 회귀를 수행합니다

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 12


04-2 시그모이드 함수로 확률을 만듭니다
시그모이드 함수의 역할

• 출력값 z 는 활성화 함수를 통과하여 a 가 됨


• 로지스틱 회귀에서 사용하는 활성화 함수인 시그모이드 함수는 z 를 0~1 사이의 확률값으로 변환
• 시그모이드 함수를 통과한 값 a 를 암 종양 판정에 사용하면 '양성 샘플일 확률'로 해석

활성화 함수 vs 임계 함수

활성화 함수는 입력을 모델의 출력


범위로 변환하는 역할을 하며 ,
임계 함수는 이 출력을 클래스
레이블로 변환하여 이진 분류를
수행합니다 . 활성화 함수는
모델의 출력을 결정하는데
사용되며 , 임계 함수는 모델의
출력을 해석 가능한 형식으로
변환하는 데 사용

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 13


04-2 시그모이드 함수로 확률을 만듭니다 로지스틱 함수의
시그모이드 함수가 만들어지는 과정 유도과정 참고

시그모이드 함수를 만드는 과정


오즈 비 > 로짓 함수 > 시그모이드 함수

오즈 비 로짓 함수 로지스틱 함수 =
시그모이드 함수

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 14


04-2 시그모이드 함수로 확률을 만듭니다
로지스틱 회귀 중간 정리

• 로지스틱 회귀는 이진 분류가 목표 -> ~ 의 범위를 갖는 z 의 값을 조절할 방법이 필요


• z 를 확률 처럼 해석하기 위해 시그모이드 함수를 활성화 함수로 사용
• A 를 0 과 1 로 구분하기 위해 마지막에 임계 함수를 사용

로지스틱 회귀 중간 정리

임계 함수로 이진 (0, 1) 분류
무한대의 범위를 가지는 Z 값을 시그모이드 함수로 조절

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 15


04-2 시그모이드 함수로 확률을 만듭니다
로지스틱 회귀 중간 정리

• 그런데 로지스틱 회귀에서 가중치와 절편을 적절하게 업데이트할 수 있는 방법은 ?

• 선형 회귀에서 손실 함수로 제곱 오차를 사용했음

• 분류 문제에서도 제곱 오차를 사용할 수 있을까 ?

• 로지스틱 회귀를 위한 손실 함수인 로지스틱 손실 함수에 대해 알아보자

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 16


Draft
• 04-1 초기 인공지능 알고리즘과 로지스틱 회귀를 알아봅니다

• 04-2 시그모이드 함수로 확률을 만듭니다

• 04-3 로지스틱 손실 함수를 경사 하강법에 적용합니다

• 04-4 분류용 데이터 세트를 준비합니다

• 04-5 로지스틱 회귀를 위한 뉴런을 만듭니다

• 04-6 로지스틱 회귀 뉴런으로 단일층 신경망을 만듭니다

• 04-7 사이킷런으로 로지스틱 회귀를 수행합니다

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 17


04-3 로지스틱 손실 함수를 경사 하강법에 적용합니다

• 선형 회귀의 목표 : 정답과 예상값의 오차 제곱이 최소가 되는 가중치와 절편을 찾는 것

• 로지스틱 회귀의 목표 : 올바르게 분류된 샘플 데이터의 비율 자체를 높이는 것

• 예를들어 사과 , 배 , 감을 분류하는 문제에서 사과 , 배 , 감으로 분류한 과일 중 진짜 사과 , 배 , 감으로 분류한 비율을 높이는 것

• 하지만 올바르게 분류된 샘플의 비율은 미분 가능한 함수가 아님

-> 경사 하강법의 손실 함수는 y 와 yhat 의 차이 ( 오차 ) 로 미분 가능

• 대신 비슷한 목표를 달성할 수 있는 다른 함수를 사용해야 함 -> 로지스틱 손실 함수

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 18


04-3 로지스틱 손실 함수를 경사 하강법에 적용합니다
로지스틱 손실 함수
• 제곱오차 손실 함수는 다음과 같음

• 로지스틱 손실 함수는 다중 분류를 위한 손실 함수인 크로스 엔트로피 손실 함수를 이진 분류 버전으로 만든것

• 이진 분류는 그렇다 , 아니다라는 식으로 2 개의 정답만 있음

( 아래의 식은 y 가 1 이거나 0 인 경우 )

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 19


04-3 로지스틱 손실 함수를 경사 하강법에 적용합니다
로지스틱 손실 함수 미분

POINT!! • 최적의 가중치와 절편 찾기 위해 로지스틱 손실 함수를 미분


• 로지스틱 손실 함수의 미분을 통해 로지스틱 손실 함수의 값을 최소로 하는 가중치와 절편을 찾아야 한다는 점만 기억하자

가중치 w 에 대해서 제곱오차 SE 을 미분 가중치 wi 에 대해서 로지스틱 손실 함수 L 을 미분

• 제곱 오차의 미분과 크게 다르지 않음 (y hat 이 a 로 변경됨 )


• 가중치와 절편 업데이트에 사용될 식
a 는 활성화 함수가 출력한 값
05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 20
Draft
• 04-1 초기 인공지능 알고리즘과 로지스틱 회귀를 알아봅니다

• 04-2 시그모이드 함수로 확률을 만듭니다

• 04-3 로지스틱 손실 함수를 경사 하강법에 적용합니다

• 04-4 분류용 데이터 세트를 준비합니다

• 04-5 로지스틱 회귀를 위한 뉴런을 만듭니다

• 04-6 로지스틱 회귀 뉴런으로 단일층 신경망을 만듭니다

• 04-7 사이킷런으로 로지스틱 회귀를 수행합니다

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 21


04-4 분류용 데이터 세트를 준비합니다
유방암 데이터 세트

• 유방암 세포의 특징 10 개에 대하여 평균 , 표준 오차 , 최대 이상치가 기록되어 있음


• 해결 문제 : 유방암 데이터 샘플이 악성 종양 인지 정상 종양인지 분류
• 의학 분야에서는 건강하지 않는 것을 악성 종양이라 부름 . 이진 분류 문제에서는 양성 샘플이라 칭함

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 22


04-4 분류용 데이터 세트를 준비합니다
유방암 데이터 세트 준비

1. load_breast_cancer() 함수 호출하기

• 사이킷런의 datasets 모듈 아래에 있는 load_breast_cancer() 함수를 사용하여 유방암 데이터 세트 불러오기

• 이 함수를 호출해서 Bunch 클래스의 객체를 가져오기

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 23


04-4 분류용 데이터 세트를 준비합니다
유방암 데이터 세트 준비

2. data 크기 알아보기
• Cancer 에는 569 개의 샘플과 30 개의 특성이 있음

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 24


04-4 분류용 데이터 세트를 준비합니다
유방암 데이터 세트 준비
2. data 크기 알아보기
• 양수 , 실수 범위의 값
• 대괄호 1 쌍으로 묶은 것이 샘플임
• 특성의 개수는 30 개

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 25


04-4 분류용 데이터 세트를 준비합니다
유방암 데이터 세트 준비
3. 눈에 띄는 특성 살펴보기
• 1 사분위 : 전체 n 개의 데이터중 n * 0.25 에 해당하는 데이터
• 3 사분위 : 전체 n 개의 데이터중 n *0.75 에 해당하는 데이터

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 26


04-4 분류용 데이터 세트를 준비합니다
유방암 데이터 세트 준비
• 1 사분위 : 전체 n 개의 데이터중 n * 0.25 에 해당하는 데이터
• 3 사분위 : 전체 n 개의 데이터중 n *0.75 에 해당하는 데이터

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 27


Draft
• 04-1 초기 인공지능 알고리즘과 로지스틱 회귀를 알아봅니다

• 04-2 시그모이드 함수로 확률을 만듭니다

• 04-3 로지스틱 손실 함수를 경사 하강법에 적용합니다

• 04-4 분류용 데이터 세트를 준비합니다

• 04-5 로지스틱 회귀를 위한 뉴런을 만듭니다

• 04-6 로지스틱 회귀 뉴런으로 단일층 신경망을 만듭니다

• 04-7 사이킷런으로 로지스틱 회귀를 수행합니다

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 28


04-5 로지스틱 회귀를 위한 뉴런을 만듭니다

• 3 장에서는 훈련 데이터 세트 전체를 사용하여 모델을 훈련함

• 훈련된 모델이 실전에서 얼마나 좋은 성능을 내는지 어떻게 알 수 있을까 ?

• 모델의 성능을 평가하지 않고 실전에 투입하면 잘못된 결과를 초래 할 수 도 있음

• 훈련 데이터 세트로 학습된 모델을 다시 훈련 데이터 세트로 평가하면 어떨까 ?

• 만약 모든 모델이 훈련 데이터 세트를 몽땅 외워버렸다면 평가를 해도 의미가 없음

• 그럼 어떻게 해야 모델의 성능을 제대로 평가할 수 있을까 ?

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 29


04-5 로지스틱 회귀를 위한 뉴런을 만듭니다
모델의 성능 평가를 위한 훈련 세트와 테스트 세트

• 훈련된 모델의 실전 성능을 일반화 성능이라고 부름


• 모델을 학습시킨 훈련 데이터 세트로 다시 모델의 성능을 평가하게 되면 -> 당연히 좋은 성능
• 이런 성능 평가를 ‘ 과도하게 낙관적으로 일반화 성능을 추정한다'라고 말함
• 그럼 올바르게 모델의 성능을 측정하려면 어떻게 해야 할까 ?
• 훈련 데이터 세트를 두 덩어리로 나누어 하나는 훈련에 , 다른 하나는 테스트에 사용하면 됨
-> 이때 각각의 덩어리를 훈련 세트와 테스트 세트라고 부름

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 30


04-5 로지스틱 회귀를 위한 뉴런을 만듭니다
모델의 성능 평가를 위한 훈련 세트와 테스트 세트

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 31


04-5 로지스틱 회귀를 위한 뉴런을 만듭니다
훈련 세트와 테스트 세트로 나누기
• 데이터 세트를 나눌때는 양성 , 음성 클래스가 고르게 분포하도록 만들어야 함
• 예를 들어 , cancer 데이터 세트를 보면 양성 클래스와 음성 클래스의 샘플 개수가 각각 357, 212 개
• 이 비율이 훈련 세트와 테스트 세트에도 그대로 유지되어야 함
• 훈련 세트에 양성 클래스가 너무 많이 몰리거나 테스트 세트에 음성 클래스가 너무 많이 몰리면
모델이 데이터에 있는 패턴을 올바르게 학습하지 못하거나 성능을 잘못 측정할 수도 있음

클래스 비율이 망가져 있음

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 32


04-5 로지스틱 회귀를 위한 뉴런을 만듭니다
훈련 세트와 테스트 세트로 나누기

1. train_test_split() 함수로 훈련 데이터 세트 나누기


• Sklearn.model_selection 모듈에서 train_test_split() 함수를 임포트함
• 사이킷런의 train_test_split() 함수는 기본적으로 입력된
훈련 데이터 세트를 훈련 세트 75%, 테스트 세트 25% 의 비율로 나눠줌

① 훈련 데이터를 나눌 때 클래스 비율을 동일하게 나눔


② 데이터 세트를 80:20 비율로 나눔
③ 무작위로 데이터 세트를 섞은 다음 나눔

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 33


04-5 로지스틱 회귀를 위한 뉴런을 만듭니다
훈련 세트와 테스트 세트로 나누기

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 34


04-5 로지스틱 회귀를 위한 뉴런을 만듭니다
훈련 세트와 테스트 세트로 나누기
2. 결과 확인하기
• 데이터 세트가 잘 나누어졌는지 확인하기
• Shape 속성을 이용해 확인해 보니 각각의 훈련 세트와 테스트 세트는 4:1 의 비율로 잘 나누어져 있음
• 30 은 유방암 데이터 세트의 특성 개수를 의미함

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 35


04-5 로지스틱 회귀를 위한 뉴런을 만듭니다
훈련 세트와 테스트 세트로 나누기
3. Unique() 함수로 훈련 세트와 타깃 확인하기
• 넘파이의 unique() 함수로 훈련 세트의 타깃 안에 있는 클래스의 개수를 확인
• 전체 훈련 세트의 클래스 비율과 거의 비슷한 구성
• 양성 클래스가 음성 클래스보다 1.7 배 정도 많음 => 클래스 비율이 유지됨

총 훈련데이터 개수 = 455

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 36


04-5 로지스틱 회귀를 위한 뉴런을 만듭니다
로지스틱 회귀 구현하기
• 로지스틱 회귀는 정방향으로 테이터가 흘러가는 과정과
가중치를 업데이트하기 위해 역방향으로 데이터가 흘러가는 과정을 구현해야 함
• 정방향 계산부터 역방향 계산까지 순서대로 구현해보자
• LogisticNeuron 클래스의 메서드는 3 장에서 구현했던 Neuron 클래스의 __init__(), forpass(), backprop() 메서드와 거의 동일

• __init()__ 메서드는 가중치와 절편을 미리 초기화하지 않음


 입력 데이터의 특성이 많아 가중치를 미리 초기화하지 않음
 가중치는 나중에 입력 데이터를 보고 특성 개수에 맞게 결정

• Forpass() 메서드에 넘파이 함수를 사용함 속성이 여러개


 가중치와 입력 특성의 곱을 모두 더하기 위해 np.sum() 함수 사용
 x * self.w 에서 x 와 w 는 1 차원 넘파이 배열인데 ,
넘파이 배열에 사칙연산을 적용하면 자동으로 배열의 요소끼리 계산

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 37


04-5 로지스틱 회귀를 위한 뉴런을 만듭니다
훈련하는 메서드 구현하기
1. fit() 메서드 구현하기
• fit() 메서드의 기본 구조는 3 장의 Neuron 클래스와 같음
• 다만 활성화 함수가 추가된 점이 다름 ( 로지스틱 회귀에는 이진 분류를 위한 활성화 함수인 시그모이드 함수가 필요했음 )
• Activation() 메서드는 정방향 계산 바로 다음에 구현됨
앞에서 초기화하지 않은 가중치는
np.ones() 함수를 이용하여
간단히 1 로 초기화하고 절편은
0 으로 초기화함
로지스틱 손실 함수

임계 함수로 이진 (0, 1) 분류
무한대의 범위를 가지는 Z 값을 시그모이드 함수로 조절
활성함수
05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 38
04-5 로지스틱 회귀를 위한 뉴런을 만듭니다
훈련하는 메서드 구현하기
2. activation() 메서드 구현하기
• activation() 메서드에는 로지스틱 회귀의 활성화 함수인 시그모이드 함수를 구현해야 함
• 시그모이드 함수는 자연상수의 지수 함수를 계산하는 넘파이의 np.exp() 함수를 사용하면 간단히 만들 수 있음

로지스틱 함수
(= 시그모이드 함수 )

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 39


04-5 로지스틱 회귀를 위한 뉴런을 만듭니다
예측하는 메서드 구현하기
선형 회귀에서 새로운 샘플에 대한 예측값을 계산할 때 forpass() 메서드를 사용
여러 개의 샘플을 한꺼번에 예측하려면 forpass() 메서드를 여러 번 호출하게 되는데 이 작업은 번거로움
분류에서는 활성화 함수와 임계 함수도 적용해야 하므로
새로운 샘플에 대한 예측값을 계산해 주는 메서드인 predict() 메서드를 만들어보자

1. predict() 메서드 구현하기


• predict() 메서드의 매개변수 값으로 입력값 x 가 2 차원 배열로 전달
• 예측값은 입력값을 선형 함수 , 활성화 함수 , 임계 함수 순서로 통과시키면 구할 수 있음
• 앞에서 forpass() 와 activation() 메서드를 이미 구현했으니 predict() 메서드는 다음과 같이 간단하게 구현 할 수 있음

파이썬 리스트 내포
x 데이터 하나씩 꺼내어
forpass() 메서드에 적용하고
그 결과를 이용하여
새 리스트 (z) 생성

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 40


04-5 로지스틱 회귀를 위한 뉴런을 만듭니다
로지스틱 회귀 모델 훈련시키기
1. 모델 훈련하기
• 모델을 훈련하는 방법은 3 장과 동일
• LosgisticNeuron 클래스의 객체를 만든 다음 훈련 세트와 함께 fit() 메서드를 호출

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 41


04-5 로지스틱 회귀를 위한 뉴런을 만듭니다
로지스틱 회귀 모델 훈련시키기
2. 테스트 세트 사용해서 모델의 정확도 평가
• 위 코드를 통해 훈련이 끝난 모델에 테스트 세트를 사용해 예측값을 넣고 예측한 값이 맞는지 비교

x_test : True 나 False 배열


y_test : 0 이나 1 배열
비교연산자
올바르게 예측한 샘플의 비율

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 42


04-5 로지스틱 회귀를 위한 뉴런을 만듭니다
구현 내용 한눈에 보기

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 43


04-5 로지스틱 회귀를 위한 뉴런을 만듭니다
구현 내용 한눈에 보기
실습 1) 방금 배운 예제를 돌려보기
실습 2) 다음 페이지의 LogisticNeuron 클래스와 경사 하강법을 적용한 Neuron 클래스의
차이점
나열해보고 , 발표자료들을 살펴보면서 다음페이지의 빨간 글씨 질문에 대해 답을 작성해보자

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 44


초기화 하지 않는 이유는 ?

형태가 바뀐이유는 ?

이 수식은 어디서 왔을까 ?

여기서
초기화
하는 이유 ?

활성화 함수
사용하는 이유 ?

05/23/2024 정직하게 코딩하며 배우는 딥러닝 입문 45

You might also like