studying data

문제의 본질을 꿰뚫어 해결책을 찾는 법을 공부합니다

콤퓨타 공부/머신러닝

[머신러닝 공부] Overview of Colaboratory Features, 머신러닝과 딥러닝 정의

study_data 2021. 9. 9. 11:20

Cells

A notebook is a list of cells. cells contain either explanatory text or executable code and its output.


머신러닝의 정의 _ 톰 미첼(Tom Mitchell)

만약 어떤 작업 T에서 경험 E를 통해 성능측정방법인 P로 측정했을 때 성능이 향상된다면 이런 컴퓨터 프로그램은 학습을 한다. 어떤 게 정말 좋은 것인지 말할 수 있는 지에 대한 척도가 정말 좋아진다면 이것은 학습을 하고 있는 것이고 인공지능이라고 말할 수 있다고 봅니다. 예를 들어 어떤 선생님이 있다고 해볼까요? 10년간 열심히 초등학생들을 가르쳤다고 해봅시다. 아이들이 어떤 형태를 보이면 모범생에 속한다거나, 어떤 학생은 그림을 잘 그린다는 패턴이 있을것이잖아요. 이런 패턴을 맞춘다거나 아이들이 눈빛이 흐린 부분이 많았을 때 성적이 좋지 않다거나 이런 경험들은 축적될 수 밖에 없습니다. 그러면 이런 예측들이 항상 맞을 지 알 수 없지만 맞을 확률은 좀 더 높아질 수 있겠죠. 틀렸다고 해도 잘 파악하지 못했다는 사실을 알 수 있는 것이니까요. 그래서 여기에서 많이 쓰이는 개념이 바로 accuracy(정확도)입니다. 

인공지능을 만들기 위해서는 우리가 데이터를 주고 이것을 전처리해야합니다. 컴퓨터가 알아들을 수 있는 형태로 만들어서 전달하는 것은 정말 무엇보다 중요합니다. 그래서 부분적으로 잘라주거나 묶어주는 등 다양한 기법과 배치가 나오기도 합니다. 텍스트를 할 때에는 임베딩을 쓰는 등 기법이 상당히 다양하죠. 그래서 이런 것들은 검색을 해보면 시도를 해볼 수 있습니다. 인공지능에서 중요한 점은 성능이 잘 나오는가에 있습니다. 전처리를 했는데 그 전처리를 해서 나중에 나오는 그 결과가 잘 나오는지 기대하기 위해서 이것을 잘 해야한다는 점이 중요합니다. 이것을 전처리해서 데이터를 정규화한 뒤 모델을 검증하고 모델을 학습할 수 있겠죠. 이 과정에서 라이브러리 seaborn같은 것을 활용할 수 있습니다. 그래서 여기서 무엇을 넣어주느냐에 따라 활용이 다르게 될 수 있습니다. fit()을 주로 사용하는데 이것이 바로 fitting한다, 우리의 알고리즘에 맞춘다는 말과 같습니다. 이렇게 진행되면 제대로 모델이 학습되는지 평가를 하고 이것을 어디에 쓸지 점검을 하고 결정을 하고나서 데이터 분석 및 워크플로우 과정으로 넘어가게 됩니다.


머신러닝 vs. 딥러닝

그러면 실제로 머신러닝과 딥러닝은 어느 부분에서 차이가 나는 것일까요? 딥러닝의 특징은 세가지로 정리할 수 있습니다. 과거 하드웨어의 부족으로 딥러닝이 어려웠지만 점차 발전해서 현재에는 발전 속도가 매우 빠른 편이라고 할 수 있습니다. 신경망은 어떤 뉴런과 같다고 생각하면 됩니다. 뉴런에는 신경세포가 돌아다니는데 사람이 뉴런 하나를 지날 때마다 여러 감정이나 생각이 생기게 됩니다. 이것을 통해서 데이터가 전달된다고 보는데, 뉴런을 모사해서 만든 것이 바로 머신러닝괃 딥러닝 개념에서의 '신경망'입니다.

1) '신경망'을 활용한 알고리즘

2) '비정형 데이터' 처리에 특화되어있음

3) 풍부한 컴퓨팅 자원(GPU, TPU) 필요

토크나이징라는 데이터 전처리 과정과 추천시스템을 이어서 살펴보도록 하겠습니다. 전처리를 잘해야 모델 학습과 평가 과정이 잘 구성될 수 있기 때문에 모델 학습과 평가에서 찾아볼게요.

'콤퓨타 공부 > 머신러닝' 카테고리의 다른 글

[딥러닝] 프레임워크  (0) 2021.09.23