회고 내용 요약
- 한 주의 흐름
- Keep
- Problem
- Try
우선, 저번주에 이어 화요일까지 팀과제를 하고 최종 결과물을 제출했다. 지난 회고에도 적었듯이 미리 백엔드 파트와 맞춰보지 않았던 점이 굉장히 아쉬웠지만, 이미 늦었다.
다음주 수요일까지는 프로젝트 없이 머신러닝 공부를 하는 기간으로 주어졌다. 그래서 머신러닝, 딥러닝 강의를 들으면서 다음 프로젝트를 준비하는 시간을 보냈다.
복잡하고 다양한 문제를 인간이 풀기에 너무 오래 걸려서 기계에게 자료와 틀을 주고 문제를 풀도록 한 것이 머신러닝이다. 머신러닝이 문제 푸는 방식은 크게 두 가지인데, 회귀와 분류다. 출력값이 연속된 수치형 데이터냐 범주형 데이터냐에 따라 회귀와 분류로 나뉜다.
회귀에는 선형회귀, 논리회귀 등이 있다. 세상의 여러 문제들을 임의의 직선을 그어 해결할 수 있다는 가정에서 출발한 것이 선형회귀다. 출력값이 0 or 1로 두 부류로 나뉘는 문제는 선형회귀로 풀 수 없어서 다른 방법으로 고안된 것이 논리회귀다. 두 가지로 나오는 문제를 푸는 알고리즘을 이진 논리회귀라 하고, 셋 이상의 라벨이 나오는 경우는 다항 논리회귀로 푼다.
머신러닝 모델 학습 방법은 크게 세 가지로 나뉜다. 데이터와 정답을 함께 알려주는 지도학습, 정답 없이 데이터만 주는 비지도학습, 주어진 데이터 없이 실행과 오류를 반복하고, 보상을 받으며 학습하는 강화학습이 있다.
이외에도 SVM, KNN, Decision Tree 등 다양한 머신러닝 모델이 있어서 프로젝트를 하다가 더 궁금하면 여러가지로 찾아보자.
1) 만족하거나 괜찮다고 생각했던 점
프로젝트를 하면서 몰랐던 것, 어려웠던 것 등을 적어두고 프로젝트가 끝난 후 자세히 찾아보고 내용을 정리한 것
2) 이유
당시에는 급한 마음에 코드를 막 가져다 쓰기 바빴지만, 차근차근 상세 내용, 예시 등을 찾아보고 다시 적용시켜보니까 그 내용을 이해할 수 있었다. 물론 프로젝트 당시에도 빨리 숙지하고 적용해서 완성시켜야 하지만, 지금은 그렇게 빨리는 못하니까 따로 조사 후 적용 과정을 연습하고 실전에 적용할 수 있도록 만들자.
1) 문제였거나 불편했던 부분
알고리즘 문제를 풀 때 깊이 고민하지 않고, 어렵다고 포기하는 경우가 많다.
2) 원인
알고리즘 문제를 접할 때, 이미 스스로 '이 문제는 어려우니까 난 못풀거야.' 라고 생각한다. 그래서 더 깊이 고민하지 않고 해설을 듣거나 한다. 사실 풀이법을 잘 모르겠는 것은 맞다. 그래도 정말 치열하게 고민하지 않은 것은 상당히 잘못된 태도다.
1) Problem 해결책
알고리즘 문제에서 그래도 고민하는 시간을 무한정으로 쓸 수는 없으니까 다음의 프로세스를 따라보자.
2) 새로 시도해볼 것
알고리즘 테스트 문제를 찾아서 기초부터 풀어보는 것
나에게 한마디
부트캠프를 시작한 지 한 달이 다 되었는데, 처음과 지금을 비교했을 때 어떤 발전이 있었는지 고찰해보자. 한 달 사이에 엄청난 변화가 있는 것은 말도 안되지만, 제자리 걸음이라면 진심을 다하지 않은 것이다. 항상 스스로 무엇을 알고 무엇을 모르는 지 잘 구분하자.