그럼, 미니배치 같은 배치 데이터를 처리할 수 있는 교차 엔트로피 오차는 어떻게 구현할까요?
다행히 조금 전에 구현한 교차 엔트로피 오차(데이터 하나를 대상으로 한 구현)를 조금만 바
꿔주면 됩니다. 여기에서는 데이터가 하나인 경우와 데이터가 배치로 묶여 입력될 경우 모두를
처리할 수 있도록 구현하겠습니다.
def cross
_
entropy
_
error
(
y
,
t
):
if y
.
ndim
==
1
:
t
=
t
.
reshape
(
1
,
t
.
size
)
y
=
y
.
reshape
(
1
,
y
.
size
)
batch
_
size
=
y
.
shape
[
0
]
return
-
np
.
sum
(
t
*
np
.
log
(
y
))
/
batch
_
size
이 코드에서
y
는 신경망의 출력,
t
는 정답 레이블입니다.
y
가
1
차원이라면, 즉 데이터 하나당
교차 엔트로피 오차를 구하는 경우는
reshape
함수로 데이터의 형상을 바꿔줍니다. 그리고 배
치의 크기로 나눠 정규화하고 이미지
1
장당 평균의 교차 엔트로피 오차를 계산합니다.
정답 레이블이 원-핫 인코딩이 아니라 ‘
2
’나 ‘
7
’ 등의 숫자 레이블로 주어졌을 때의 교차 엔트로
피 오차를 다음과 같이 구현할 수 있습니다.
def cross
_
entropy
_
error
(
y
,
t
):
if y
.
ndim ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.
O’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
I wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
I’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
I'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.