본문 바로가기

분류 전체보기113

# 6. 정확도와 오차행렬 (Accuracy and Confusion matrix) 이번 포스트에서는 모델의 성능을 평가하기 위한 지표에 대해서 알아볼 것이다. 그중에서 가장 직관적인 방법인 정확도와 정확도의 한계점을 보완하기 위한 오차행렬에 대해서 알아본다. 정확도는 실제 데이터와 예측 데이터가 얼마나 같은지를 판단하는 지표이다. 정확도의 공식은 다음과 같다. 정확도는 쉽고 직관적이지만, 불균형한 데이터 세트에서는 적절하지 않다. 예시를 들자면, 100개의 데이터중 True가 90개, False가 10개가 있다고 가정하자. 이러한 경우 무조건 결과를 True로 반환하는 경우 정확도는 90%가 된다. 정확도가 가지는 한계점을 극복하기 위해 여러가지 분류 지표를 적용해야 한다. 앞에서 언급한 여러가지 분류 지표의 기반이 되는 개념은 오차행렬에 대해서 알아보겠다. 오차행렬을 도식화하면 다음.. 2021. 10. 11.
# 8. QR 분해 (QR Decomposition) - 2 저번 포스트에 이어 직교 행렬과 실제로 QR 분해 활용에 대해 알아봅니다. 결론부터 얘기하면 직교 행렬은 곧 직교 좌표계를 의미한다. 행렬의 각 열벡터가 직교할 경우 해당 행렬은 직교 좌표계를 의미한다. 정규직교행렬은 각 열벡터를 정규화함으로써 각 열벡터의 크기가 1인 행렬을 의미한다. 즉, 정규직교행렬은 서로 직교하는 크기가 1인 기저벡터들의 집합이라고 정의할 수 있겠다. 선형 시스템의 A는 좌표계를 의미한다. 해당 A 행렬이 직교 행렬일 경우 역행렬을 통해 해를 구할 필요가 없다. 위의 투영 벡터 공식을 보면 알 수 있다. 벡터 u를 벡터 a에 투영했을 때 는 기저 a에 대한 좌표값이다. 즉, 벡터 a를 얼마나 스칼라배를 해야하는지를 의미(기저 a에 대한 좌표)하는 것이다. 위 개념을 예시에 적용하면.. 2021. 10. 5.
# 8. QR 분해 (QR Decomposition) - 1 QR 분해의 내용은 두 포스팅에 걸쳐서 진행하겠습니다. QR 분해는 정방 행렬($A_{m \times m}$)을 분해하는 방법 중 하나로 투영(projection)을 기반으로 하는 알고리즘인 그람 슈미트 과정(Gram-Schmidt Process)로 진행한다. 고로 투영을 이해하기 위해 기본적으로 벡터의 정의부터 파악하려고 한다. 벡터를 물리적으로 정의하면 방향과 스칼라의 조합이다. 벡터 v의 방향은 화살표의 방향, 크기(스칼라 형태)는 화살표의 길이를 의미한다. 벡터의 수학적인 정의는 수들의 집합이며 각 수들은 각 축에 대한 좌표값이다. 예를 들어, 벡터 v = (1, 2, 3) 이리면 원점으로부터 x축으로는 1, y축으로는 2, z축으로는 3의 지점을 향하는 화살표이다. 수들의 갯수가 늘어날수록 차원.. 2021. 10. 5.
# 7. 선형 변환 (Linear Transform) 이론 함수는 정의역(Domain)과 공역(Codomain)간의 1대 1 mapping 관계를 의미한다. 함수는 크게 선형함수와 비선형함수로 분류할 수 있다. 선형함수는 말그대로 기하학적으로 Linear한 형태의 함수를 의미한다. 선형함수에 해당하기 위한 조건은 다음과 같이 2가지가 있다. 이제 함수에 대해 간단하게 짚었으니, 변환(transformation)에 대해 알아볼 차례이다. 변환은 입출력이 벡터인 함수를 의미한다. 특히, 입력 벡터와 출력 벡터의 차원이 동일한 경우 ($n$-벡터와 $m$-벡터에 대해 $n=m$인 경우) 변환이라 칭하지 않고 연산자(operator)라고 한다. 선형시스템에서 행렬 A는 ($m \times n$ 행렬) $n$-벡터를 입력으로 받아 $m$-벡터를 출력으로 하는 변환(.. 2021. 9. 23.
# 6. 좌표계 변환 (Change of Basis) 이론 이번 포스팅에서는 직교 좌표계 변환에 대해 알아볼 것이다. 흔히 우리가 학생때 서로 수직인 X, Y 축을 통해 좌표를 표현하는 것은 직교 좌표계 (orthogonal coordinate system)이라고 한다. 그 밖에도 다른 좌표계에 대한 설명이 궁금하면 해당 링크를 참고하면 된다. 우선 앞에서 다루었던 선형 시스템의 공식을 되짚어보면 Ax = b 의 형태를 지닌다. 우리는 해당 선형시스템으로부터 A를 좌표계로, x를 해당 좌표계에 속한 특정 좌표값으로 해석하고 변환하는 것이 이번 포스팅의 목표이다. 좌표계 변환을 배우기 이전에 벡터에 대해 간단하게 짚고 넘어가자. 벡터의 물리적 표현과 수학적 표현에 대해서 알아볼 것이다. 물리적 표현 벡터는 방향과 크기(스칼라)를 동시에 지닌 개념으로 물리적으.. 2021. 9. 23.
# 3. [Utils] QCheckBoxUtils from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QWidget from PyQt5.QtWidgets import QHBoxLayout from PyQt5.QtWidgets import QCheckBox class QCheckBoxUtils: @staticmethod def check_box_aligned_center(): widget = QWidget() layout = QHBoxLayout() check_box = QCheckBox() layout.setAlignment(Qt.AlignCenter) layout.addWidget(check_box) widget.setLayout(layout) return widget, check_box @staticm.. 2021. 8. 4.