개발일지/Today I Learned

230517 알고리즘 문제 풀이, 이전 프로젝트 리드미 작성, 머신러닝 강의 [TIL]

마이구미+ 2023. 5. 17. 21:05

600시간 달성!

<오늘 한 일>

- 알고리즘 문제 풀이


- 이전 프로젝트 리드미 작성

  • Todo-list : goodminjeong/AI-5_Todo-list (github.com)
  • SNS : goodminjeong/AI-5_A5_SNS (github.com)
  • 이전 프로젝트 리드미를 작성하였다
  • 고새 까먹어서 다시 서버 실행시켜서 어떤 기능들이 있는지 살펴 보느라 생각보다 시간이 많이 걸렸다
  • 리드미에 대한 피드백을 받았는데 뭔가 프로젝트 실행방법을 쓰기보다는 실행했을 때의 캡쳐와 API 명세서를 넣어주는 게 기업에서 프로젝트를 평가하기에 더 좋다고 한다
  • 리드미는 프로젝트의 요약본이라고 생각하면 될 것 같다
  • 내일은 캡쳐본을 추가해야 할 것 같다

- 머신러닝 강의

머신러닝이란?

  • 기계를 학습시키는 것
  • 어떤 문제를 풀기 위한 단계적 절차를 알고리즘이라고 함
  • 기계가 알고리즘에 따라 학습하는 걸 머신러닝이라고 하는 건가..?
  • 여튼 머신러닝은 알고리즘과 밀접한 관계가 있음

회귀(Regression)

  • 출력값이 연속적인 소수점으로 예측하게 하도록 푸는 방법

분류(Classification)

  • 출력값이 비연속적이고 어떤 기준에 따라 반끼리 나누도록 하는 방법
  • 출석 여부, 완료 여부 등 0과 1 두 분류로만 나누는 것을 이진 분류(Binary Classification)이라고 함
  • 3개 이상의 클래스로 나누는 것을 다중 분류(Multi-class Classification, Multi-lable Classification)이라고 함

지도 학습(Supervised Learning)

  • 정답을 알려주면서 학습시키는 방법
  • 입력값에 따라 정답을 하나씩 입력해주는 작업을 라벨링(Labeling, 레이블링) 또는 어노테이션(Annotation)이라고 함

비지도 학습(Unsupervised Learning)

  • 정답을 알려주지 않고 일정 기준에 따라 군집화(Clustering)하게 하는 방법
  • 그 일정 기준을 기계가 알아서 판단하도록 함

강화 학습(Reinforcement Learning)

  • 주어진 데이터 없이 실행과 오류를 반복하면서 학습하는 방법
  • 결과에 따라 좋으면 더 큰 보상을 주고 실패하면 보상을 적게 주거나 안 주거나 오히려 마이너스 하는 방법
  • 알파고를 탄생시킨 머신러닝 방법이라고 함
  • 개념
    • 에이전트(Agent) : 행동하는 객체(자신)가
    • 환경(Environment) : 어떤 환경에서
    • 상태(State) : 현재 상태에서 
    • 행동(Action) : 어떤 행동을 한다
    • 보상(Reward) : 더 큰 보상을 얻기 위해

선형 회귀(Linear Regression)

  • 1차 함수를 떠올렸을 때 오른쪽 위로 상승하는 어떠한 대각선 모양을 정답이라고 할 때 입력값에 대한 출력값을 잇는 선을 우리의 가설이라고 한다면 정답 직선(손실 함수)과 출력값을 잇는 선(가설)의 차이가 최소가 될 수록 그 모델이 잘 학습되었다고 할 수 있음

다중 선형 회귀(Mutl-variable linear regression)

  • 선형 회귀랑 똑같은데 입력 변수가 여러 개인 것

<느낀 점>

  • 오늘 새로운 팀을 만났다
  • 알고리즘 문제를 2시간 동안 끙끙대다 풀었는데 이번 팀원들은 이미 알고리즘 진도를 많이 빼서 내가 좀 뒤처질 것 같아 벌써 슬프다
  • 그리고 리드미 작성하는 데에 생각보다 많은 시간이 소요돼서 강의를 별로 못 들었다
  • 내일 일찍 일어나서 강의를 좀 들어야겠다는 생각이 든다

<내일 목표>

  • Todo-list, SNS, Two-rabbits 리드미에 실행 과정 캡쳐본과 API 명세서 추가하기(API 명세서 request, response는 json 형태로 작성할 것)
  • 나머지 프로젝트도 리드미 작성할 수 있으면 작성하기
  • 머신러닝, 딥러닝 1주차 수강하기,,
  • 알고리즘 문제 1문제 풀기(9시~10시) - 1시간 지나면 답을 찾아볼 것!!