컴퓨터에서 실수는 부동소수점(Floating Point)으로 표현된다. 이에 따라 마무리 오차, 오버/언더 플로우, 유효숫자의 상실이 발생한다. 이번 게시글에서는 부동소수점수의 진법 변환과 각각의 오차에 대해 다루고자 한다.
1/ 부동소수점수와 정밀도
* 2배 정밀도: 지수부 11비트, 가수부 52비트 (64비트)로 [2^-1024, 2^1023] 16자리의 정밀도를 갖음
* 단일 정밀도: 지수부 8비트, 가수부 23비트 (32비트)로 [2^-128, 2^127] 6자리의 정밀도를 갖음
2/ 기저의 변환
3/ 오차 (error)
* 절대오차: |X_t - X_A|
* 상대오차: |X_t-X_A| / |X_t| (Scale로 표준화)
4/ 유효숫자의 개수 (significant digit)
참값과 비교 시 0이 아닌 첫 자리부터 연속적으로 동일한 자리의 개수
(eg) 참값 3.14159와 3.1425의 유효숫자는 3
5/ 마무리 오차
연산 결과를 반올림(rounding), 버림(chopping) 등으로 적절히 정리함에 따라 발생하는 오차
6/ 오버플로우 & 언더플로우
7/ 유효숫자의 상실
연산 과정 중 유효숫자의 상실로 오차 발생
I'm a Senior Student in Data Science !
데이터 사이언스를 공부하고 있는 4학년 학부생의 TIL 블로그입니다. 게시글이 도움 되셨다면 구독과 좋아요 :)
'Basic Statistics > #Statistic' 카테고리의 다른 글
[통계] 알고리즘의 복잡도 (2) - 알고리즘의 여러 차수 (0) | 2020.12.28 |
---|---|
[통계] 알고리즘의 복잡도 (1) (0) | 2020.12.27 |
[통계] 선형회귀와 알고리즘 (0) | 2019.10.09 |
[통계] 선형회귀 가설과 비용 함수 (0) | 2019.10.05 |