-
ML을 시작하는 사람들을 위해 (1)Machine Learning 2023. 12. 22. 14:32728x90
(with Microsort)
ML은 데이터 사이언스와 소프트웨어 엔지니어링의 그 사이 어디쯤이다.
목표는 데이터를 사용하여 소프트웨어 어플리케이션 또는 서비스에 통합 가능한 예측 모델을 만드는 것이다.
기계 학습은 데이터의 통계 및 수학 모델링에 기원한다.
ML의 기본 개념은 과거의 관찰 데이터를 사용하여 알 수 없는 결과 또는 값을 예측하는 것이다.
예를 들면,
- 아이스크림 가게의 주인은 일기 예보에 따라 특정 날에 판매 할 가능성이 얼마나 많은 아이스크림을 예측하기 위해 과거 판매 기록과 날씨 기록을 결합하는 애플리케이션을 사용
- 의사는 과거 환자의 임상 데이터를 사용하여 새로운 환자가 체중, 혈당 수준, 기타 측정과 같은 요인에 따라 당뇨병의 위험에 처해 있는지 여부를 예측하는 자동화 된 테스트를 실행
- 남극의 한 연구원은 과거 관측을 사용하여 새의 물갈퀴, 부리, 기타 신체적 특성의 측정값에 따라 다른 펭귄 종(예: 아델리, 젠투 또는 친스트랩)의 식별을 자동화
기본적으로 ML은 하나 이상의 입력값을 기반으로 출력값을 계산하는 함수를 캡슐화하는 소프트웨어 어플리케이션이다.
해당 함수를 정의하는 과정을 '학습' 이라고 한다
함수가 정의되면 이를 사용하여 추론이라는 프로세스에서 새 값을 예측할 수 있다.
학습 및 추론과 관련된 단계를 살펴보자
- 학습 데이터는 과거 관찰로 구성된다. 대부분의 경우 관찰되는 항목의 관찰된 특성 또는 기능과 예측하도록 모델을 학습하려는 항목의 알려진 값(레이블이라고 함)이 포함된다.이를 명확하게 하기 위해 앞에서 설명한 예제를 살펴보자.
- 아이스크림 판매 시나리오에서 우리의 목표는 날씨에 따라 아이스크림 판매량을 예측할 수 있는 모델을 학습시키는 것이다. 해당 날짜의 날씨 측정(온도, 강우, 풍속 등)은 기능(x)이고, 매일 판매되는 아이스크림의 수는 레이블(y)이다.
- 의료 시나리오에서 목표는 임상 측정에 따라 환자가 당뇨병의 위험에 처해 있는지 여부를 예측하는 것이다. 환자의 측정값(체중, 혈당 수치 등)은 특징(x)이며 당뇨병 발병 가능성(예 : 위험에 대한 1, 위험하지 않은 경우 0)은 레이블(y)이다.
- 남극 연구 시나리오에서는 신체적 특성에 따라 펭귄의 종을 예측하려고 한다. 펭귄의 주요 측정값(물갈퀴의 길이, 부리의 너비 등)은 특징(x)이며 종(예: 아델리의 경우 0, 젠투의 경우 1, 친스트랩의 경우 2)은 레이블(y)이다.
- 수학 용어로는 약식 변수 이름 x를 사용하여 참조하는 기능과 y라고 하는 레이블이 표시되는 경우가 많다. 일반적으로 관찰은 여러 기능 값으로 구성되므로 x는 실제로 다음과 같이 벡터다. (여러 값이 있는 배열): [x1,x2,x3,...].
- 데이터에 알고리즘을 적용하여 기능과 레이블 간의 관계를 확인하고 x에서 y를 계산하기 위해 수행할 수 있는 계산으로 해당 관계를 일반화한다. 사용되는 특정 알고리즘은 해결하려는 예측 문제의 종류에 따라 달라지지만(나중에 자세히 설명) 기본 원칙은 기능 값을 사용하여 레이블을 계산할 수 있는 함수에 데이터를 맞추는 것이다.
- 알고리즘의 결과는 알고리즘에서 파생된 계산을 함수로 캡슐화하는 모델이다. 이를 f라고 하자. 수학 표기법: y = f(x)
- 이제 학습 단계가 완료되었으므로 학습된 모델을 추론에 사용할 수 있다. 모델은 기본적으로 학습 프로세스에서 생성된 함수를 캡슐화하는 소프트웨어 프로그램이다. 기능 값 집합을 입력하고 해당 레이블의 예측을 출력으로 받을 수 있다. 모델의 출력은 관찰된 값이 아니라 함수에 의해 계산된 예측이므로 함수의 출력이 ŷ로 표시된다.
ML에는 여러 유형이 있으며 예측하려는 내용에 따라 적절한 형식을 적용해야한다.
다음 장에서 설명하겠다.
728x90'Machine Learning' 카테고리의 다른 글
ML을 시작하는 사람들을 위해 (2) (0) 2023.12.22 Linear Regression (0) 2022.07.11 You Only Look Once: Unified, Real-Time Object Detection (0) 2022.07.01 [Python] 이미지 사이즈 변경 (0) 2021.04.11 window에서 darknet 디버깅/빌드 하는 방법 (0) 2021.04.11