본문 바로가기
기타/AI

[딥러닝] Binary Classifier: 이진분류

by developerBeluga 2021. 5. 21.
728x90
반응형

 

프로그래머스에서 주최하는 2021 Dev-Matching: 머신러닝 개발자에 지원하게 되었다. 과제테스트가 있어 미리 연습을 하기 위해 프로그래머스 과제란에서 제공해주는 [머신러닝] 채용 공고 추천 해보았다. 해당 과제는 문제 저작권 보호 및 유출금지로 인해 자세하게 이야기할수는 없지만 이 과제의 최종 목표가 개발자가 해당 채용공고에 지원할지 안 할지를 예측하는 Binary Classifier를 만드는 것이라고 한다.

 

출처: http://datahacker.rs/005-pytorch-logistic-regression-in-pytorch/

 

이진분류는 무엇일까? Binary의 사전적 의미가 2진법이다. 딥러닝에서 말하는 이진분류는 것은 딥러닝으로 구분하고자 하는 결과 값이 2가지인 경우를 의미한다고 한다. Binary Classifier에서 사용되는 알고리즘은 Logistic Regression이다. 

 

예를 들면, 고양이 사진을 가지고 고양이냐 아니냐로, 결과값이 고양이라면 1, 아니면 0으로 표기가 된다. 이런 이미지 인식 분야의 딥러닝에서는 대표적으로 비정형 데이터(Unstructured)로 취급한다. 그렇기 때문에 DNN이 쉽게 받아 들일 수 있게 정형 데이터(Structured data)로 변환시켜 주어야 한다.

 

컴퓨터에서 이미지는 각각 red, green, blue 색상 채널에 해당하는 3개 행렬로 저장되고 이 3개의 행렬은 이미지와 같은 크기를 갖는다. 고양이 이미지가 64x64라면? 이 세개의 행렬도 64x64의 크기를 갖는다. 64x64 Pixel의 Color 이미지에 들어가는 픽셀 데이터의 수는 64x64x3 = 12,288개의 픽셀 데이터가 들어가 있다. 각각의 픽셀 데이터는 0~255의 특정 값을 지닌다. 컴퓨터는 이 12,288개의 데이터 즉 인풋 데이터 x를 열 벡터(Column Vector)로 변환시켜주어야 받아들일 수 있다. 인풋 x가 어떠한 DNN 알고리즘을 거쳐 y라는 아웃품을 내놓으면 이진분류에서는 이 y의 값이 0, 1로 표현될 수 있는 것이다.

 

 

728x90
반응형

'기타 > AI' 카테고리의 다른 글

GPT-3 포함 대규모 언어모델  (0) 2021.05.18

댓글