본문 바로가기

전체 글192

[AI 부트캠프] DAY 81 - 딥러닝 프로젝트 6 [오늘의 일지] 딥러닝 프로젝트 - 베이스라인 코드 수정 [상세 내용] 베이스라인 코드 수정 LSTM - 강사님께서 제시해 준 LSTM의 베이스라인 코드에서 몇 가지 수정할 부분이 있었고 또 기능적인 측면에서 추가해면 좋을 거 같은 것들이 있었습니다. 우선 강사님의 코드에서는 모델을 학습을 시킬 때 for문에서 미니배치를 통해 분리된 데이터들이 각각의 학습을 진행한 후에 각 배치마다 loss 값이 나오는데 마지막 배치의 loss값만 출력되는 것 같았습니다. 원래의 loss값은 하나의 루프의 로스 값을 모두 더해서 배치 사이즈로 나눠줘야만 loss값의 평균을 출력하는 게 정상입니다. 그래서 코드를 모두 수정했습니다. 그리고 기존 코드에서는 학습만 할 수 있게 되어있었는데 학습 후에 test를 거쳐서 한 번.. 2023. 11. 15.
[AI 부트캠프] DAY 80 - 딥러닝 프로젝트 5 [오늘의 일지] 딥러닝 프로젝트 - 딥러닝 모델 선정 [상세 내용] 딥러닝 모델 선정 DNN - 이제 어느 정도 피처에 대한 분석을 마무리하고 학습시킬 모델을 선정했습니다. 우선 가장 기본적인 모델인 DNN을 사용하기로 했습니다. DNN은 MLP의 확장된 형식으로서 히든 레이어가 더 많은 모델이라고 보시면 됩니다. class NeuralNetwork(nn.Module): def __init__(self): super().__init__() self.relu_stack = nn.Sequential( nn.Linear(len(x_cols), layers[0]), nn.ReLU() ) for i in range(len(layers)-1): self.relu_stack.append(nn.Dropout(0.25).. 2023. 11. 14.
[AI 부트캠프] DAY 79 - 딥러닝 프로젝트 4 [오늘의 일지] 딥러닝 프로젝트 - 피처 자세히 분석 [상세 내용] 피처 자세히 분석 WAP(Weighted Average Price) 다른 피처와의 관계 - 우선 주식에서는 WAP보다 VWAP로 더 잘 알려져 있습니다. VWAP은 "Volume Weighted Average Price"의 약자로, 주식 및 다른 금융 자산의 평균 가격을 계산하는 데 사용되는 지수입니다. 이것은 거래량을 고려하여 가격을 가중 평균하는 방법으로, 특히 일정 기간 동안의 평균 가격을 측정하는 데 유용합니다. VWAP은 거래량이 가격에 미치는 영향을 반영하여 시장 참여자들이 지정한 기간 동안 평균적으로 어떤 가격에 거래되었는지를 나타냅니다. 주로 일일 차트에서 사용되지만, 다른 기간에 대한 VWAP도 계산할 수 있습니다. - .. 2023. 11. 11.
[AI 부트캠프] DAY 78 - 딥러닝 프로젝트 3 [오늘의 일지] 딥러닝 프로젝트 - EDA와 가벼운 학습 [상세 내용] EDA 주기성 파악 - 어제에 이어서 데이터의 특징을 알아보았습니다. 특정 종목을 기준으로 하루가 지나면 그다음 날이 되었을 때 target값이 초기화되는 것으로 보아서 역시 시계열로 접근하기에는 큰 어려움이 있을 거라는 결론을 내렸습니다. 아래의 그래프를 보면 갑자기 0 값으로 내려가는 부분이 다음날이 되었을 때를 나타냅니다. 대신 이러한 특징이 전체적인 그래프로 보았을 때는 주기성을 띄기 때문에 특정하게 예측하는 구간에서는 더 잘 예측할 수 있으므로 중요하다고 판단했습니다. 가벼운 학습 - 기존에 제가 사용하던 tensorflow 코드를 활용해서 어떠한 Feature Engineering도 거치지 않고 학습을 돌려 보았습니다. 평.. 2023. 11. 10.
[AI 부트캠프] DAY 77 - 딥러닝 프로젝트 2 [오늘의 일지] 딥러닝 프로젝트 - EDA와 Feature Engineering [상세 내용] EDA 데이터 파악 - 일단 데이터에 존재하는 주식의 종목의 수를 알아보았습니다. 그리고 하나의 주식에 대한 정보를 파악해 보았습니다. 주식의 종목의 수는 stock_id라는 피처를 중복을 제외시킨 뒤에 개수를 파악해 보니 총 200개의 종목이 있었습니다. 그리고 선택한 하나의 종목에서 시간을 반복해서 나타내는 피처인 seconds_in_bucket의 0초일 때를 파악해서 총 481일의 데이터 자료라는 것도 파악을 했습니다. 그리고 seconds_in_bucket이 주식시장의 마감 10분 전의 10초 단위의 데이터라는 것을 통해서 총 9분을 540초로 바꾸고 10초 단위씩 55단계의 상황을 보여주는 자료라는 것.. 2023. 11. 9.
[AI 부트캠프] DAY 76 - 딥러닝 프로젝트 1 [오늘의 일지] 딥러닝 프로젝트 - 주제 선정, 대회 파악하기, 데이터 파악하기 [상세 내용] 주제 선정 - 우선 주제는 선택지가 두 가지밖에 없었습니다. 케글에서 진행 중인 대회와 이미 끝난 대회 중에서 하나를 선택하는 것이었는데 이왕이면 진행 중인 대회를 선택해서 하는 게 동기부여에 좋을 거 같아서 선택을 했습니다. 그래서 대회의 도메인이 증권시장과 관련이 되어있었는데 증권 관련 도메인 지식이 없다 보니 프로젝트를 진행하는데 난항이 될 거 같다는 생각이 들었습니다. 대회 파악하기 - 대회의 주제는 미국 주식시장인 나스닥에서 시장이 마감하기 10분 전에 데이터들을 활용해서 10초마다 예측되는 target값을 구하는 것이었습니다. target을 구하는 공식이 존재하는데 이걸 그냥 주변 데이터들만을 이용해.. 2023. 11. 8.
[AI 부트캠프] DAY 75 - 딥러닝 11 오늘의 일지] 딥러닝 녹화 강의 - TabNet, AutoEncoder [상세 내용] TabNet - TabNet은 트리 기반의 해석 가능한 딥러닝 모델로, 특히 표 형태의 데이터(탭규칙 형태의 데이터)에 적합한 모델입니다. TabNet은 트리 기반의 모델과 딥러닝 모델의 혼합으로, 각각의 특성을 선택하고 중요한 패턴을 학습하는 데 사용됩니다. TabNet은 탭 네트워크 (Tabular Attention Network)의 약어로, 표 형식 데이터를 처리하기 위해 디자인된 네트워크 구조를 나타냅니다. 원리 피처 선택 및 중요성: TabNet은 각 레이어에서 특성 선택과 특성 중요도를 학습합니다. 이것은 입력 데이터의 각 특성이 얼마나 중요한지를 알려주며, 중요하지 않은 특성은 무시됩니다. 트리 기반 아키텍.. 2023. 11. 7.
[AI 부트캠프] DAY 74 - 딥러닝 10 오늘의 일지] 딥러닝 녹화 강의 - MLP 회귀, 분류 실습 [상세 내용] MLP 회귀, 분류 실습 실습 순서 - 이번 강의는 MLP 딥러닝 모델을 활용해서 현업이나 프로젝트 과정에서 전체적으로 어떻게 작업을 수행하면 좋을지에 대한 내용이었습니다. 강의의 내용을 바탕으로 큰 틀을 잡고 앞으로 하게 될 프로젝트에서 적용하면 좋을 거 같다고 생각했습니다. 사실 전체적인 틀은 지금까지 해온 머신러닝의 틀과 크게 다르지 않기 때문에 강의를 보는데 어려움은 없었습니다. 다만 머신러닝과의 차이점은 EDA 과정에서 더 세심하게 스케일링을 해줘야 한다는 점과 파이토치를 사용해서 모델의 코드를 짜는 것이 좀 더 해야 될 일이 많다는 점을 알게 되었습니다. 우선 전체적인 순서를 보여드리겠습니다. 문제상황 및 데이터 살펴보.. 2023. 11. 4.
[AI 부트캠프] DAY 73 - 딥러닝 9 오늘의 일지] 딥러닝 실시간 강의 - LLM, Hugging Face [상세 내용] LLM - Large Language Model(LLM)은 딥러닝 기반의 자연어 처리 모델로, 대규모의 텍스트 데이터를 사용하여 학습되고, 텍스트에 대한 이해와 생성 능력을 갖춘 모델을 가리킵니다. LLM은 컴퓨터가 자연어를 처리하고 이해하는 데 사용되며, 텍스트 생성, 번역, 질문 응답, 감정 분석 등 다양한 자연어 처리 작업에서 활용됩니다. 대규모 데이터 학습: LLM은 대량의 텍스트 데이터로 사전 훈련됩니다. 이 데이터는 웹 문서, 뉴스 기사, 소셜 미디어 게시물, 책 등 다양한 출처에서 수집됩니다. Transformer 아키텍처: LLM은 주로 "Transformer"라고 불리는 딥러닝 아키텍처를 사용합니다. Tr.. 2023. 11. 3.
[AI 부트캠프] DAY 72 - 딥러닝 8 [오늘의 일지] 딥러닝 실시간 강의 - NLP [상세 내용] NLP - 자연어 처리(Natural Language Processing, NLP)는 인간이 사용하는 자연어(일상 언어)를 컴퓨터가 이해하고 처리할 수 있도록 하는 인공지능 분야의 하나입니다. NLP는 컴퓨터가 텍스트 데이터를 분석, 해석, 생성하고, 언어와 관련된 다양한 작업을 수행할 수 있게 하는 기술과 기법을 연구하고 개발하는 분야입니다. 텍스트 분류: 주어진 텍스트를 여러 범주 또는 레이블로 분류하는 작업, 예를 들면 스팸 이메일 필터링, 감정 분석 등 개체명 인식 (NER): 텍스트에서 중요한 개체 (예: 인물, 장소, 날짜)를 식별하고 추출하는 작업 기계 번역: 한 언어에서 다른 언어로 텍스트를 번역하는 작업 질문 응답 시스템: 사용.. 2023. 11. 2.
반응형