13
코드스테이츠 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는 마지막으로..
코드스테이츠 AIB_13 13주차 회고
부트캠프를 4개월 정도 수강하면서 벌써 Section4 딥러닝 파트가 시작이되었다. AI부트캠프의 핵심이라 할 수 있는 딥러닝부분은 지금까지 학습해온 거의 모든것들을 포괄하고 있는것 같다. Section4의 1주차를 수강하면서 딥러닝의 발전 과정, 퍼셉트론, 다층 퍼셉트론, 신경망, 활성화 함수 등 딥러닝을 이루는 신경망에 대하여 학습할 수 있었다. 최근에 주목받는 기술이라 그런지 학습자료들이 다양하고 풍부하여 학습을 하는데 어려움이 크지는 않았지만, 기본적으로 개념을 이해하기에는 다소 어려움이 있었다. 개념에 집중하여 학습을 하다보니 파이썬 코드를 작성하는 시간이 비교적 적었기 때문에 코드를 작성하는 시간을 더 가져야겠다. Tensorflow, keras를 이용하여 신경망 모델을 구축할 수 있었고, s..