데이터사이언스/머신러닝10 머신러닝 (Machine Learning) 개요 및 유형 1. 머신러닝이란? 머신러닝(Machine Learning, 기계학습)이란 컴퓨터 프로그램의 데이터 처리 경험을 바탕으로 정보처리능력을 향상시키는 것, 혹은 이와 관련한 학문이다라고 정보통신용어 사전에 정의되어 있다. 자율주행자동차, 필기인식 등 알고리즘 개발이 어려운 분야에 적용이 가능하다. 머신러닝은 어느 시기에 누가 정의하느냐에 따라 다양한 정의가 있다. 아서 사무엘(Arthur Samuel, 1901~1990)은 이미 1959년에 머신러닝의 용어를 대중화시켰다. 실제로 알파고 나오기 이전부터 하나의 학문으로 존재했던 개념이다. 알파고가 몇 년 전에 이세돌 프로를 이겼을 때 실제로 바둑은 경우의 수가 굉장히 크기 때문에 대부분의 머신러닝 학자들은 아직은 사람 못 이기지 않나 생각했다. 경우의 수가 .. 2023. 4. 20. 특성공학 (Feature Engineering) 언더피팅 / 오버피팅 1. 특성 공학 (Feature Engineering, 피처 엔지니어링) 머신러닝의 기본적인 알고리즘은 Supervised, Unsupervised, Reinforcement가 있다. Supervised 알고리즘은 target value, 출력값을 갖는 데이터 세트를 분석할 때 사용하는 알고리즘이며, 결과값이 수치형이면 회귀, 범주형이면 분류로 나뉜다. Supervised 알고리즘에서 피처 엔지니어링은 현업에서 매우 중요하다. 피처 엔지니어링 개념이 최근들어 많이 이슈가 되고 있다. 실제로 일을 해본 사람들은 왜 중요한지 아는데, 처음 시작하는 사람은 알고리즘에만 집중한다. 알고리즘에 따라 데이터 변환이 종속되므로 알고리즘 특성을 잘 이해하고 있어야 전처리를 어떻게 할지 결정된다. 알고리즘을 이해했다고 .. 2023. 4. 20. 나이브 베이즈 (Naive Bayes) 나이브 베이즈(Naive Bayes) 분류는 베이즈 정리에 기반한 분류기법이다. 베이즈 정리는 기본적으로 확률적 알고리즘이고 나이브 베이즈의 기본 전제 조건은 feature들이 모두 독립이라는 가정이 있다. 현실 세계에서 모두 독립은 드물지만 그럼에도 불구하고 나이브 베이즈를 쓰는 이유는 성능이 좋기 때문이다. 정확히 얘기하면 확률을 기반으로 하지만 결과는 확률이 아니다. 이진분류를 만든다고 했을 때 A냐 B냐를 구한다고 했을 때 나이브 베이즈는 각각의 확률을 더하면 1이 나오지 않는다. 확률 기반이기는 하지만 뭔가 하나를 뺏다. 그래서 Naive이다. 단순하지만 덜 떨어진다는 뜻이다. Simple 이란 의미가 더 좋을 듯하다. 확률을 기반으로 하긴 하지만 값이 확률이 아니기 때문이다. Text 분석에서.. 2023. 4. 19. KNN (K-Nearest Neighbors) 알고리즘 KNN (K-Nearest Neighbors)은 K명의 가장 가까운 이웃들을 보는 알고리즘이다. 예측을 하고 싶을 때 새로운 데이터에 잘 모를 때 그 주변을 살펴보는 개념이다. 새로운 데이터에 대해 유사도를 측정하여 유사도가 높은 그룹에 들어갈 수 있도록 만들어주면 새로운 데이터를 예측할 때 이 데이터에 대해서 클러스터의 데이터에 대해 새로운 데이터를 유추해 보자는 것이다. 분류와 회귀문제를 모두 다룰 수 있다. 분류 문제는 다수결로 class를 예측하고, 회귀문제를 풀때는 평균값을 결과값으로 예측한다. 통계적 가설이 없는 비모수 방식이며 instance-based 알고리즘이다. Train과 Test 세트로 데이터를 분리하지만 실제로 Train은 존재하지 않는 "게으른" 알고리즘이다. 구체적인 데이터를 .. 2023. 4. 16. 이전 1 2 3 다음