부트캠프 회고

    [마지막] 코드스테이츠 AIB_13기 회고

    시간이 조금 지났지만 늦게나마 코드스테이츠 부트캠프의 마지막 회고를 작성하려고 한다. 2022년 10월 19일자로 코드스테이츠 AI 부트캠프 13기를 수료했다. Section5 이후로 CP1(Code States Project 1)과 CP2를 진행했고 CP1과 CP2에 대한 내용은 아래의 깃허브 링크를 통하여 확인할 수 있다. - CP1 : recipe_recommendation을 통하여 확인할 수 있음 - CP2 : eCommerce-RecSystem을 통하여 확인할 수 있음 CP1과 CP2 모두 팀프로젝트를 진행했으며 운 좋게도 두 프로젝트 모두 추천시스템에 대하여 적용하고 개선하는 프로젝트를 할 수 있었다. 그 동안 분류, 회귀 문제만 다루었는데 새롭게 추천시스템을 학습하고 적용하려니 막막한 마음이..

    코드스테이츠 AIB_13 19 & 20주차 회고

    Section5의 Sprint3 3주차에서는 해시, 그래프, dfs, bfs, 다이나믹 프로그래밍, 그리디 알고리즘에 대하여 학습했다. 파이썬의 딕셔너리 자료구조가 내부적으로는 해시의 오픈 어드레싱 방식으로 구현이 되어있다고 들었다. 그 동안 해시에 대하여 알지 못하였을 때는 이해하기 힘든 개념이었지만, 오픈 어드레싱을 알고나니 조금 더 가까워진듯 하다. 트리자료구조와 비슷하지만 다른 그래프 자료구조와 그래프를 활용한 전위, 중위, 후위 순회와 dfs, bfs에 대하여 학습할 수 있었다. dfs,bfs에서는 2주차에서 학습한 스택, 큐 자료구조를 활용하여 그래프를 순회한다. 개념과 과정은 어렵지 않지만, 역시 코딩으로 작성하려니 어려움이 생긴다. 마지막으로 다이나믹 프로그래밍과 그리디 알고리즘은 어떤 특..

    코드스테이츠 AIB_13 18주차 회고

    Section5의 2주차에서는 스택, 큐, 연결리스트, 트리, 분할정복, 재귀, 정렬 알고리즘에 대하여 학습했다. 고급 알고리즘을 사용하기 위하여 기본적으로 알아야 할 지식들이라고 생각되지만, 이것들을 학습하는것도 힘이 들었다. 스택, 큐와 같은 간단한 자료구조를 연결리스트를 이용하여 시간복잡도를 줄이는 방법과 재귀와 같은 추상적인 지식들이 가장 이해하기 어려웠다. 다음은 가장 기본적인 정렬알고리즘 5가지 선택, 삽입, 버블, 퀵, 병합 정렬을 학습하였다. 우리가 흔하게 사용하는 sort, sorted와 같은 함수들이 어떤식으로 동작하게 되는지 알게 되었다. 물론 sort, sorted 내부적으로는 위의 5가지 정렬알고리즘을 사용하고 있지는 않는다. 내부적으로 삽입정렬과 병합정렬을 합친 tim sort를..

    코드스테이츠 AIB_13 17주차 회고

    Section5의 1주차가 지났다. Section5에서는 코딩테스트를 위한 자료구조와 알고리즘이 주 컨텐츠이며, 1주차에서는 자료구조와 알고리즘을 위한 파이썬 기초 프로그래밍에 대하여 학습할 수 있었다. lambda, list comprehension 등 코드를 줄이며, 약간의 속도를 높일 수 있는 수단들과 조건문, 반복문, 예외처리, mutable, imtuple과 같은 기초부터 중급의 개념을 학습했다. 또한 OOP와 관련하여 객체(object), 클래스, 인스턴스 등 객체 지향 언어의 중요한 개념 또한 학습하였다. OOP는 다른 개념들과 다르게 조금 추상적인 개념이다. 게임개발, 앱개발을 했던 경험으로 조금은 OOP에 대하여 이해할 수 있었지만, 데이터 분석이나 다른 프로젝트만으로는 조금 이해하기 어..

    코드스테이츠 AIB_13 15&16주차 회고

    15주차 15주차에는 이미지 처리에 대하여 학습했다. 기본적인 합성곱신경망(CNN), 이미지 분할(Segmentation), 객체 탐지(Object Detection), AutoEncoder, GAN 등 이미지 처리와 관련하여 다양한 개념들을 학습하였다. 14주차의 자연어처리와는 다르게 각 Note마다 연결되는 부분들이 적어 학습하는데 어려움을 겪었다. 사실 NLP를 학습하는데 많은 에너지를 쏟아 그런지 이미지처리에는 크게 집중하지 못하였다. NLP와 마찬가지로 코드를 작성하는 시간이 적었고, 개념에 대한 이해도 그렇게 깊지 못하였다. 16주차에 진행될 프로젝트 때문인지 학습량도 적었고 피로감이 더했다. 16주차(프로젝트) 16주차에는 프로젝트를 진행하였다. 이미지처리에는 개념도 제대로 학습못했고, 자신..

    코드스테이츠 AIB_13 14주차 회고

    섹션4의 두번째 스프린트에서는 자연어처리(NLP)에 관하여 학습하게되었다. NLP 스프린트에서는 다른 스프린트와는 조금 다르게 약간의 빌드업이 들어갔다. 첫번째 Note에서는 NLP 전반에대한 지식들, 자연어, 토큰화, 벡터화 등등 자연처처리에 들어가는 기본적인 지식들과 텍스트 전처리, 정규표현식, 불용어처리, 어간추출, 표제어추출 등 모델의 성능에 관여 하는 것들 벡터화 방법(등장횟수 기반), DTM, TF, TF-IDF 등등 를 학습할 수 있었다. Note2에서는 분포기반의 벡터화 방법-Word2Vec, Fasttext, oov, 임베딩벡터에 관하여 학습을 하였고, Note3 부터는 정말로 딥러닝의 핵심 알고리즘들인 RNN, LSTM, 어텐션 메커니즘에 대하여 학습하게 되었다. Note4는 마지막으로..