전체 글 41

[스터디] 자바 신입 개발자 면접준비

다음주 화요일 개발자 면접을 보러가기때문에 면접 대비해서 준비를 하기로했다..혼자 그냥 블로그 보면서 하는건 힘들기때문에 유튜브의 힘을 빌려 아래 유튜브에서 질문들을 참고해서 정리하고 이해해보려고한다. ✏️ 참고 유튜브https://www.youtube.com/watch?v=a-f0HxYRNiM  1. 자바 컴파일 과정우선 자바는 OS에 독립적인 특성을 가지고 있다. 이 말은 mac에서든 window에서든 운영체제가 다른 컴퓨터에서 실행시켜도 같은 결과값이 나온다는 말이다. OS에 독립적인 이유는 JVM(Java Virtual Machine) 때문이다. 💡여기서 JVM이란?JVM은 자바 소스 코드를 컴파일하여 생성된 바이트코드를 실행하는 역할을 한다. 이 바이트코드는 JVM이 이해할 수 있는 언어이다,..

스터디 2024.05.05

[스터디] 3일차 머신러닝-지도학습(회귀), 평가지표

오늘은 지도학습 알고리즘 중 회귀에 대해 알아보겠습니다.😊 지도 학습의 알고리즘 종류 지도 학습의 알고리즘은 크게 두가지가 있다. 두가지 중 우리가 알아볼 알고리즘은 회귀이다. 2️⃣ 회귀(Regression) 머신러닝에서 회귀란? 시계열 데이터(연속된 데이터)를 취급할 때 사용되는 기법이기도 하다. 주어진 입력 변수(독립변수)와 출력 변수(종속변수) 사이의 관계를 모델링하는 기술이다. 주어진 입력 변수(독립변수)와 출력 변수(종속변수) 사이의 관계를 모델링 이 말은 사실 지도학습의 전체적인 정의인데 출력변수가 어떤 특성을 띄우냐에 따라 회귀냐 분류냐로 나뉠 수 있다. 연속형 출력 변수의 경우에는 회귀 기술을 사용하고, 범주형 출력 변수의 경우에는 분류 기술을 사용 🖥️예시 예를들어 날씨, 온도, 위치 ..

스터디 2024.03.27

[스터디] 2일차 머신러닝-지도학습

오늘은 1차에 이어서 머신러닝 지도학습 분류를 이어서 스터디하도록 하겠습니다😊ㅎㅎ 지도 학습의 알고리즘 종류 랜덤 포레스트(Random Forest) 랜덤 포레스트(Random Forest)는 앙상블(Ensemble) 학습 방법 중 하나입니다. 이 모델은 여러 개의 결정 트리(Decison Tree)를 조합하여 더 강력한 분류 모델을 구축한 것 입니다. 랜덤 포레스트는 과적합(Overfitting)을 줄이고 예측 성능을 향상 시키는데 효과적이지만 의사결정나무를 사용했기 때문에 과적합이 일어나기는 한다. 한마디로 랜덤 포레스트는 기존 의사결정 나무를 앙상블 기법을 이용하여 더 강력한 모델로 구축한 것이고 의사 결정 나무보다 과적합이 줄고 예측 성능이 향상된 모델이다. 장점 다양한 종류의 데이터에 대해 높은..

스터디 2024.03.22

[스터디] 1일차 머신러닝-지도학습

일반적으로 머신러닝에서는 지도학습(supervised learning)과 비지도학습(unsupervised learning)이 있습니다. 저는 오늘 스터디에서 지도학습에 대한것을 알아보려고 합니다. 😊 지도학습이란? 내가 알고있는 지도학습이란 우선 정답이 있는 데이터를 활용해 데이터를 학습시키는 것이라고 알고있다. 한줄로 설명하자면 입력값이 X가 주어지면 입력값에 대한 Label(Y)을 주어서 학습시키는게 지도학습이다. 비지도 학습보다는 더 단순하고 일반적이다. 레이블이 지정된 데이터 즉, 분류된 데이터를 사용한다. 시간과 메모리가 많이 소요될 수 있다. 데이터셋을 사용자가 만들다보니까 오류가 발생할 수 있다. 신뢰할 수 있는 데이터셋을 사용해야한다. 지도 학습은 주어진 레이블로만 학습이 된다. 지도 학..

스터디 2024.03.20

[컴퓨터비전 프로젝트] 수어 양방향 소통 프로그램-2(끝)

서론 3월 7일 드디어 3차 프로젝트가 끝났다... 중간에 블로그를 쓸 시간이 없어 프로젝트가 끝나고 블로그를 작성한다ㅎㅎ 이전프로젝트 글에서는 google drive 데이터 업로드에서 끝이났는데 그 글을 이어서 작성해보도록 하겠습니다😊😊 데이터 업로드-2 우리 팀은 2월 26일부터 google drive에 데이터를 업로드하기로 하였다 keypoint 팀은 keypoint 데이터를 영상팀은 원천 데이터인 영상을 올리기로 하였는데 문제는 keypoint가 전부 json 형태로 되어있었는데 이 데이터의 양이 너무 많아 아무리 5명의 사람만 학습시키다고 하더라도 데이터 업로드를 하는 데에 시간이 오래 걸린다는 점이었다. 한 폴더당 15,000개의 json 파일이 있었고 한 단어당 keypoint json 파일..

프로젝트 2024.03.12

[머신러닝&딥러닝] CNN이란?

CNN(Convolutional Neural Networks) 해당 포스트는 아래 블로그 글을 보고 작성한 포스트입니다. ✅ 참고 https://mijeongban.medium.com/%EB%94%A5%EB%9F%AC%EB%8B%9D-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-cnn-convolutional-neural-networks-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-836869f88375 [딥러닝/머신러닝] CNN(Convolutional Neural Networks) 쉽게 이해하기 필자는 뉴욕에서 머신러닝 전공으로 석사학위 취득과정에 있습니다. 학교 수업을 듣고 실습 과제를 하며 항상 느끼는 점은 이 분야는 무..

[컴퓨터비전 프로젝트] 수어 양방향 소통 프로그램-1

3차 프로젝트 시작 작년 8월 30일부터 KDT OCR 과정을 배우고 있는중이다 6개월 과정으로 이제 종강이 바로 앞까지 온 상태이고 현재는 컴퓨터비전 수업을 들으면서 마지막 3차 컴퓨터비전 프로젝트를 들어가게되었다. 사실 일주일 전인 19일부터 프로젝트를 시작하였는데 저번주에는 팀을 구성하고 인터넷에서 데이터를 찾아본 후 주제를 정하는 시간을 가졌다. 서버 백앤드쪽 프로젝트나, 프론트쪽 프로젝트는 조금 진행해보았는데 컴퓨터비전 프로젝트는 처음이고 사실 AI 분야가 처음이라 아직 아는게 많이 없기때문에.. 프로젝트를 하면서 어려운 상황이 많이 발생될거라고 생각한다... 그렇지만 최대한 팀원들이랑 소통하며 남은 일주일동안 열심히해볼 생각이다..😂 사실.. 저번 2차 프로젝트때 챗봇 프로젝트를 진행하였지만...

프로젝트 2024.02.28

[OCR & 컴퓨터비전] OpenCV란?

OpenCV란? OpenCV는 Open Source Computer Vision 의 약자로, 강력한 이미지 처리 기능과 함꼐 머신러닝 기능을 지원하는 라이브러리이다. OpenCV는 오픈소스 형태로 컴퓨터비전 프로젝트를 구현하는 데 유용하며 다양한 기능이 있습니다. OpenCV는 주로 영상을 삽입하거나, 영상 데이터를 학습할 때 주로 사용되며 C++, Python, Java 등 다양한 프로그래밍 언어로 사용이 가능하며 Window, Linux, macOS 등 다양한 운영 체제에서 사용됩니다. OpenCV 기능 1️⃣ 이미지 읽기 및 쓰기 이미지 파일을 읽고 쓸 수 있는 기능이 제공됩니다. cv2.imread() 함수를 사용하여 이미지를 읽고, cv2.imwrite() 함수를 사용하여 이미지를 저장할 수 있..

[논문 리뷰] Google’s Neural Machine Translation System

Google’s Neural Machine Translation System ✏️논문 링크 https://arxiv.org/pdf/1609.08144.pdf 논문 요약 위 논문은 간단하게 요약하자면 Neural Machine Translation (NMT) 시스템의 문제점을 다루고, 구글이 그 문제들을 어떤 방식으로 개선했는지를 소개하는 내용으로 이루어져 있습니다. 논문에서는 NMT의 계산 비용, 드문 단어 처리, 모델의 성능 향상을 위한 기술적인 개선 사항들이 나오며 즉 GNMT(Google's Neural Machine Translation system)가 어떻게 이 문제들을 해결하고 성능을 향상시켰는지에 대한 내용이 주요 요지입니다. NMT란? 참고 https://velog.io/@shonsk022..

논문리뷰 2024.01.22

[자연어처리] 바이트 페어 인코딩(Byte Pair Encoding, BPE)

바이트 페어 인코딩(Byte Pair Encoding, BPE) 💡 BPE(Byte Pair Encoding)란? "Byte Pair Encoding(BPE)"은 '바이트 쌍 인코딩'으로 직역되며, 이는 단어나 문자열에서 연속된 바이트 쌍을 찾아내어 하나의 새로운 토큰으로 결합하는 방식을 의미합니다. 이 알고리즘은 주어진 데이터에서 자주 등장하는 바이트 쌍을 기반으로 새로운 토큰을 만들어내어 데이터를 효율적으로 표현하고 토큰화하는 데 사용됩니다. 📢 여기서 OOV란? 기계는 문제를 풀 때 모르는 단어가 나오면 주어진 문제를 풀기 어려워지는데, 이러한 상황을 OOV(Out-Of-Vocabulary)라고 합니다. OOV는 학습되지 않은 단어가 들어온 상황을 나타내며, 이를 완화하기 위해 Subword Tok..