☑️ 취업 특강 및 자기관찰

🔎 필요스킬

데이터 수집, 처리, 분석 스킬, 문제해결능력, 데이터 기반 의사결정 능력

python, pytorch, 머신러닝, 딥러닝 알고리즘, 데이터 시각화 능력

 

🔎 직업군

- 데이터 사이언티스트: 데이터 분석, 모델링, 예측 등을 통해 시스템 개발 및 개선

- 데이터 엔지니어: 데이터 수집 파이프라인 설계, 구현, 배포, 데이터 수집

- AI연구원: 새로운 AI기술을 연구하고 개발하여 AI분야에 기여

- AI프로덕트 매니저: AI 기반 제품의 개발 및 출시 전략을 수집하고 시장 트렌드를 분석

- 머신러닝 엔지니어: 머신러닝 알고리즘을 설계, 구현, 배포하고 AI모델 성능을 최적화

- 데이터 엔지니어

- 머신러닝 엔지니어

- 백엔드 개발자

 

🔎 코딩 테스트 준비: 프로그래머스, 백준, LeetCode

 

🔎 내가 준비해야할 것들

- 마크다운 사용법

- 노션 사용법

- 이력서 포트폴리오 작성 노하우 늘리기

- python, pytorch, 딥러닝, 머신러닝, 데이터 분석 공부

 

 

🔎 내가 걱정하는 것들

- 지방에서는 취업하기 많이 어려운지

- 문서 작성 능력이 너무 낮다

- 직업군에 대한 정보들이 감이 잡히지 않음

- 소통, 공감 능력은 좋다고 생각하지만 문제 해결 능력이 좀 떨어짐(감정적인 편)

 

 

🔎 나의 장점

- 책임감이 강함

- 상대입장에서 생각하고 행동하는 편  

- 의견이 많고 자주 질문하는 편

- 의견 공유하는 것을 좋아함(쌍방향)

- 무언가를 많드는 과정을 좋아함(내가 만든것을 공유하고 반응 보는 것이 제일 좋음)

 

🔎 나의 단점

- 참을성이 부족함(한번만 해도 될 일을 먼저 진행해보고 두번하게 되는 경우가있음)

- 잘휘둘리는편

- 걱정이 많아 생각이 많음

- 깊게 생각하는 힘이 부족함(얕은 생각에서 관련도가 적은 것들을 신경쓰고 그 부분에만 집중해서 중요한 부분을 놓치는 경우가 많음)

혼자서 오해를하고 트러블이 발생하게 만드는 경우가 가끔있음 (그럴수록 더욱 이야기하고 오해를 풀려고 노력 함)


☑️ 1차 커리어 코칭

 

커리어코치: 임하늘 코치님

 

코칭 시간 14:25 ~ 14:50

 

내용

1. 내가 어떻게 어떤 생각으로 내일배움캠프에 신청하여 오게 되었는지 설명

 

2. 오늘 오전에는 어떤 학습을 하였는지

 

3. 채용 사이트 추천

 

4.인텔리픽 커리어 코칭 시스템 소개

 

5.포트폴리오, 이력서 등 작성 및 예시 사이트 추천

 

6. 현재 가지고있는 고민 상담

 


 

오늘은 1차 커리어 코칭을 진행했습니다.

 

커리어 코칭을 진행하기 전 오전에는 일전에 진행했던 취업특강(김대영 튜터님)의 강의를 복습했다.

 

강조되고 내가 미리 준비해야하는 부분을 파악해 포트폴리오와 이력서 작성에 대한 구상하는 시간을 가졌습니다.

 

노션을 사용해서 나의 포트폴리오 페이지를 만들기 위해 유튜브의 노션으로 포트폴리오 강의를 시청하였고

다른 사람들의 노션으로 작성한 포트폴리오를 볼 수 있는 방법으로 살펴 보던 중 데이터 분석가님의 포트폴리오를 보게 되었다.

 

비전공으로 데이터 분석가가 되기까지의 내용이있었고 흥미를 가지고 알아 보았습니다.

 

데이터 분석가 답게? 취업 싸이트에서 필수조건, 우대사항의 데이터를 가져와서 분석하여 내가 가진 기술, 필요한 기술 등 시각화하여 우선 순위를 정하는 방법에대한 소개를 봤습니다.

 

그리고 커리어 코칭을 받으며 느낀점을 위 진행 순서대로 말하겟습니다.

 

1. 지금까지 내가 걸어온 길이 너무 여기저기를 건들이면서 취업까지했지만 시도하기 전에 포기를 한 경험으로 자존감이 매우 떨어진 상태였고 이 자존감을 다시 올리기 어렵다고 생각했다. 하지만 임하늘 코치님께서는 다른 시선으로 다양한 일을 시도해보았고 본인 역량을 잘 판단하고있다고 말씀해주셨습니다.

 

아직 내가 나에 대한 실망감은 남아있지만 코치님의 평가를 듣고  다른 시선으로 나를 보는 방법을 배운것 같으며 조금이지만 자존감이 회복 된것 같습니다.

 

2. 오전에 진행한 학습을 말씀드리니 여러가지 참고 싸이트를 보여주셨습니다. 아직 다 살펴 보진 않았지만 잘 활용해보겟습니다.

 

3, 4. 코칭 시스템이 어떻게 진행 되는지 확인하였고 인턴신청, 본인이 원하는 방향으로 코칭 등을 알아보았고 잘 활용해 보아야겟습니다.

 

5. 노션으로 작성을 하려고 했는데 git으로 작성해서 배포하는게 좋다고 말씀하셔서 git으로 진행해보아야겟습니다.

 

6. 지금 학습상태로는 당연히 현업에 도움이 되지는 못하지만 꾸준히 열심히하면 현업에서 할 수 있을 것이다.


☑️ 딥 러닝 도전과제 

 

torchtext에서 OSErorr를 만나 해결해보려고 pytorch를 uninstall 해보고 다시 다운 받아보고 가상공간에서 다시 시도해보고 많은 시도를 했고 pytorch를 다운 받을 때 많은 시간이 소요되었다.

 

결국 튜터님을 찾아가서 물어보았고 답은 정말 간단했다. torch에서 최신버젼부터 window에는 text를 지원하지 않아서 그렇다고 한다.

 

그래서 pytorch를 다운그레이드 시켜주어서 해결하였다.

더보기

pip install torch==2.2.2 torchtext==0.17.2

 

이제 OS문제를 해결했으니 도전과제를 시작하였다.

 

도전과제를 진행한게 벌써 5일이 지났다.

 

딥러닝 모델인 LSTM모델을 구현하다가 시간이 너무 오래걸려서 포기하고 머신러닝에 대한 이해도 부터 높여야겟다는 생각으로 머신러닝 모델 학습을 진행해 왔었는데 너무 다 잊어 버리기 전에 다시 한번 복습한다는 생각으로 오늘 다시 딥러닝 모델 구현을 시도해 보았다.

 

우선 전처리, feature 분석, 데이터 시각화(막대그래프) 부분은 얼추 기억하고있어넘어가고 LSTM모델 학습 코드 공부를 진행했다.

 

  • torch.nn
더보기

import torch.nn as nn

- torch.nn 모듈은 신경망을 구축하기 위한 다양한 함수들을 포함한다.

- 주로 nn.Module, nn.Linear, nn.Conv2d, nn.ReLU 등 신경망의 계층을 구성하거나 손실 함수를 정의할 때 사용한다.

 

그럼 여기서  nn.Module, nn.Linear, nn.Conv2d, nn.ReLU 등을 정의하는 이유를 알아보자

 

nn.Module

목적: 모든 신경망 레이어와 모델의 기본 클래스이다.

역할: 사용자 정의 신경망을 만들 때 nn.Module을 상속받아 신경망 계층들을 구성하고, forward()메서드를 정의해 데이터를 순차적으로 전달하는 방식을 설계한다.

장점: 자동 미분, 학습, 평가 모드를 쉽게 전환 가능, 신경망의 구조를 객체 지향적으로 구성하여 코드의 재사용성과 관리성 높여준다.

 

nn.Linear

목적: 인공신경망에서 완전 연결(filly connected, FC) 계층을 나타내는 클래스

역할: 입력 데이터를 가중치와 곱하고, 편향(bias)를 더하는 "선형 변환"을 수행한다. 주로 신경망의 출력층이나 중간층에 사용

장점: 입력과 출력 차원을 지정하여 데이터를 학습 가능한 파라미터(가중치와 편향)를 통해 변환함으로써 모델이 데이터의 특성을 학습하도록 도와준다.

 

nn.Conv2d

목적: 2차원 합성곱(convolution) 연산을 수행하는 계층(이미지 처리)

역할: 입력 데이터(예: 이미지)에서 특징(feature)을 추출하는 데 중요한 역할이며, 필터(커널)를 사용하여 입력 데이터를 슬라이딩하며 연산을 수행하고, 이미지의 특정 패턴이나 특징을 학습

 

nn.ReLU

목적: Rectified Linear Unit 활성화 함수로, 입력 값을 양수는 그대로 유지하고 음수는 0으로 만드는 비선형 함수다.

역할: 신경망에 비선형성을 추가하여 더 복잡한 패턴을 학습할 수 있게 합니다. 이는 선형 연산만으로 이루어진 모델이 해결하지 못하는 문제를 해결하도록 도와준다.

장점: 기울기 소실 문제를 방지, 대부분 신경망에서 기본 활성화 함수로 자주 사용한다.

 

  • optim
더보기

import torch.optim as optim

- 매개변수를 학습하기 위한 최적화 알고리즘을 제공하는 모듈이다.

- 다양한 최적화 알고리즘(SGD, Adam, RMSprop)이 포함, 이를 통해 모델의 손실을 줄이는 방향으로 학습이 진행 된다.

 

  • get_tokenizer
더보기

from torchtext.data.utils import get_tokenizer

- torchtext 라이브러리에서 제공하는 유틸리티 함수로, 텍스트 데이터를 단어 또는 문장 단위로 나누기 위해 토크나이저를 생성할 때 사용한다.

- basic_english, spacy와 같은 다양한 옵션을 지정할 수 있어, 영어 텍스트와 같은 자연어 처리 작업에서 자주 활용한다.

- basic_english: 소문자 변환, 구두점 제거, 공백 기준 분리

- spacy: 언어 모델 기반 처리(사전 훈련된 언어 모델을 사용해 문장을 토큰으로 분할한다.), 품사 태깅(각 단어에 대한 푸사정보를 제공한다.), 형태소 분석(단어의 기본형과 어근을 추출하는데 도움을 준다.), 구두점 처리 및 특수문자 구분

 

  • build_vocab_from_iterator
더보기

from torchtext.vocab import build_vocab_from_iterator

- 텍스트 데이터로부터 어휘 집합(vocabulary)를 생성한다.

- 모든 단어를 순회하며 고유한 단어를 모아 어휘집합을 만들고 단어를 정수로 매핑할 수 있는 사전을 생성한다.

- 자연어를 수치화하여 모델이 학습할 수 있는 형태로 만드는데 필수적이다.

 

  • torch.utils.data.Dataset
  • torch.utils.data.DataLoader
더보기

from torch.utils.data import DataLoader, Dataset

torch.utils.data.Dataset:

PyTorch의 데이터셋 클래스이며. 데이터를 불러오기 위해 이 클래스를 상속하여 사용자 정의 데이터셋을 구성할 수 있다.

 

torch.utils.data.DataLoader:

- Dataset에서 정의한 데이터셋을 배치 단위로 로드하고, 모델 학습을 위한 미니 배치를 생성하는 역할을 한다.

- DataLoader는 데이터를 배치로 분리하고 섞는(shuffle) 기능을 제공하여 학습 과정에서 데이터의 순서가 고정되지 않도록한다.

 

배치(Batch):

- 모델학습시 한 번에 처리할 데이터 샘플의 전체 집합을 의미한다. (100개의 데이터 샘플이있다면 하나의 배치에는 100개의 샘플이 들어 간다.)

 

미니 배치(Mini - batch):
전체 배치를 더 작은 그룹으로 나누어 처리하는 방식이다. 모델 학습 시 전체 데이터셋을 몇 개의 작은 그룹(미니배치)로 나누고, 각각의 미니 배치를 순차적으로 사용해 학습을 진행한다(100개의 샘플일 경우 배치크기(batch size를 10으로 설정하면 10개의 미니배치로 나위게 된다.)

 

.item메서드

- 스칼라 값을 가진 텐서에서 단일 값을 추출할 때 사용

- 손실(loss) 값이 단일 숫자 값으로 나오는 경우, 이 값을 item()을 통해 Python의 기본 자료형으로 변환

- 하나의 값만을 담고 있는 텐서에 대해서만 사용 가능

- tensor.tolist()를 사용하여 전체를 리스트로 변환하는 방법을 사용가능


☑️ GitHub

오늘 OSError를 해결하며 시간이 너무 비어서 github에서 포트폴리오를 만들기 위한 본인의 홈페이지를 만드는 시간을 가졌다.

 

우선 새로운 repositories를 만들어야한다.

 

만들 때 설정으로는

 

이름을

Repository name: 원하는 이름.github.io

 

Public 클릭

 

Add a README file 클릭

 

create repository 클릭

 

이제 새로운 레포지토리에서

 

+ 버튼 클릭

 

Create new file 클릭

 

name에 Create index.html 작성

 

Code에

<html>
  <body>
    <h1>한검 포트폴리오 만들기!</h1>
  </body>
</html>

를 작성해준다.

 

setting에 들어가 page 클릭

 

Branch에서 None을 Main으로 바꾸고 save클릭을 하게 되면 페이지 위쪽에 홈페이지 주소가 만들어진다.

 

여기까지 진행하였고 시간이 빌때나 주말에 홈페이지에 테마 추가를 진행해보려고 한다.

 

오늘은 모든 내용에 나의 생각이 들어가있으며 학습을 많이 진행하지목해 회고는 따로 작성하지 않았습니다.

+ Recent posts