4.1.1 관점 1 - 설계한 알고리즘이 우리가 기대하는 결과를 출력하는가?
알고리즘은 현실 세계의 문제를 해결하는 수학적 해결책입니다. 정확하지 않은 결과를 출력하는 알고리즘은 가치 있다고 보기 어렵습니다. 따라서 알고리즘의 정확성을 검증하는 방법을 고려하는 일을 나중으로 미뤄서는 안 됩니다. 이는 반드시 알고리즘의 설계에 반영되어야 합니다. 알고리즘을 검증하는 전략을 구상하기 위해서는 먼저 다음과 같은 두 가지 측면을 고려해야 합니다.
• 정답 정의하기: 알고리즘을 검증하려면 일련의 입력 데이터와 그에 대응하는 정확한 결과가 있어야 합니다. 우리가 풀려는 문제의 맥락에서 이 정확한 결과는 정답(truth)이라 부릅니다. 우리가 만드는 알고리즘은 처음에는 그 정확도가 매우 떨어지지만 반복 작업을 통해 더 나은 해결책으로 진화합니다. 이때 알고리즘 검증에 사용하는 정답은 레퍼런스로 매우 중요한 역할을 수행합니다.
• 지표 선택하기: 알고리즘이 출력한 답이 정답으로부터 얼마나 멀리 떨어져 있는지 정량화하는 방법을 고민해야 합니다. 올바른 지표를 고를 수 있다면 우리가 만든 알고리즘의 성능을 정확하게 측정할 수 있습니다.
머신러닝 알고리즘 중 지도 학습 알고리즘은 데이터셋에 담긴 라벨 데이터를 정답으로 사용합니다. 예를 들어, 개와 고양이를 분류하는 문제를 풀 때는 개와 고양이 이미지 데이터를 종에 맞게 분류한 후 그 분류 라벨을 정답지로 사용하는 것입니다. 분류 모델의 성능을 측정하는 데 널리 사용하는 방법은 정확도입니다만, 이외에 재현율이나 정밀도를 사용하기도 합니다.