분류 전체보기

boostcamp AI Tech/추천 시스템

[RecSys] 추천 시스템 - 연관 분석 (Association Analysis)

사실 사실 추천 시스템 분야는 현업에서 딥러닝보다 클래식한 ML을 더 많이 사용한다고 함 딥러닝을 통해서 엄청난 성능 향상이 없었고, 분야 특성상 많은 트래픽을 요하는 등의 이유 따라서, 다양한 엔지니어링 등의 능력이 더 중요시 되고 있음 사실 요즘에는 지금 포스팅하는 연관 분석과 TF-IDF보다는 협업 필터링을 더 많이 사용하는데, 그래도 이론을 탄탄히 하기 위해 학습해보자 연관 분석 개요 추천 시스템의 가장 고전적인 방법론임 연관 규칙 분석 (= 장바구니 분석, 서열 분석) 상품의 구매나 조회 등 하나의 연속된 거래들 사이의 규칙을 발견하기 위해 적용함 주어진 transaction(거래) 데이터에 대해, 하나의 상품이 등장했을 때 다른 상품이 같이 등장하는 규칙을 찾는 것 예시1) 맥주와 기저귀를 같..

boostcamp AI Tech/추천 시스템

[RecSys] 추천 시스템 (Recommender System) 이론

추천 시스템이란 1. 개요 과거에는 유저가 접할 수 있는 컨텐츠가 TV, 영화, 신문 등 극히 제한적이었지만, 요즘은 오히려 넘치는 정보의 시대이다. 따라서 유저가 원하는 걸 어떤 키워드로 찾아야 하는 지 모를 수 있음 기존에 사용자가 Search한 내용을 기반으로 추천해주는 것을 넘어서, 유저가 모르는 유저가 필요로 하는 item을 유저보다 더 잘 알고 추천한다. 이에따라, 이전에는 소수의 인기있는 아이템 (Popular products)가 주류였지만 최근에는 Long-Tail products에 대한 추천의 필요성이 대두됨 예시: Popular products: 조회수가 엄청 높은 소수의 동영상 Long Tail products: 아직은 조회수가 낮은 다수의 동영상 조회수가 급상승한 영상이 나왔을 때,..

boostcamp AI Tech/기타 정리

[DL Basic] Generative Models - Autoregressive Models

Generative Models 인트로 Generative Model을 학습한다는 것이 어떤 의미일까? → input에 대한 distribution을 학습하는 것 만약 우리가 강아지 사진들에 대한 분포를 학습했다면 생성한 샘플 이미지는 강아지처럼 생겨야 함 그 이미지가 얼마나 강아지 같은지를 추정 분포의 파라미터 수? 우리가 분포를 활용할 때, 그 분포의 경우의 수와 필요한 파라미터 수를 확인하는 것은 중요함. 예를들어, 베르누이 분포이면 경우의 수는 2, 파라미터 수는 1 1. RGB Image의 Pixel 하나를 관찰해보자 경우의 수: $ 256 \times 256 \times 256 $ 필요한 파라미터 수: $ 256 \times 256 \times 256 - 1 $ 2. MNIST 이미지의 Pix..

boostcamp AI Tech/주차별 회고

부스트캠프 AI Tech 5기 3주차 회고

boostcamp AI Tech 강주형_T5008 3주차 회고 잘했던 것! 주 3회 7시 기상 후 유산소 운동 부가적인 공부 (알고리즘, 리눅스) 아쉬운 것! 캠프 시작하고 주간 집중도 최악.. 개선 방향 생활 루틴 점검 강의만으로 부족한 내용을 어떻게 보충할 것인가? 도전할 것! 강의에서 간단히만 훑고 지나간 모델들 복습하기 키워드 R-CNN, Fast R-CNN, Faster R-CNN, YOLO Transformer, Attention Generative Models 이번 주는 DL Basic을 주제로 딥러닝의 기본적인 모델들을 리뷰하는 강의와 Data Visualization을 주제로 하는 파이썬 라이브러리 matplotlib을 다루는 강의로 이루어져 있었다. 이번 주는 앞서 언급했듯이 강의에 대..

boostcamp AI Tech/기타 정리

[DL Basic] Optimization

Optimization (최적화) 이 파트에서는 여러 용어가 나오는데, 용어에 대한 정리가 제대로 안 되어 있으면 혼란이 올 수 있음! Optimization 중요 개념 Generalization 일반화 Train Error가 0이 됐다고, 최적값에 도달했다고 보장할 수 없음 어느정도 시간이 흐른 후 Test Error의 성능은 더 떨어지게 됨 일반화 성능 Train Error와 Test Error 사이의 차이 그럼 일반화 성능이 좋으면 무조건 모델 성능이 좋을까? -> Train Error 자체가 높아버리면 Test Error와 차이가 적어도 당연히 좋은 모델이 아님! Overfitting, Underfitting 과(대)적합, 과소적합 Overfitting: Train Data는 잘 맞추는데, 그에 ..

boostcamp AI Tech/기타 정리

[DL Basic] Neural Networks 기본

Neural Network 인간의 뇌를 모방했다. 인간의 뇌를 모방했기 때문에 딥러닝 성능이 우수하다? -> 꼭 그렇다고 보기는 어렵다. 예를 들어, 딥러닝의 핵심인 Backpropagation이 인간의 뇌에서 일어나는 일인가? -> 그렇게 보기 어렵다. 즉, Neural Network는 인간의 뇌를 모방하는 방법으로 시작했지만, 지금은 꼭 그렇다고 볼 필요는 없다! -> "애매하게 인간의 뇌를 모방한 컴퓨팅 시스템" 으로 정의 내리는 것도 괜찮음 Linear Neural Network 가장 간단한 NN 모델 선형 회귀 - Input 1차원, Output 1차원 기울기와 절편을 가지고 있음 $$ \hat{y} = wx + b $$ 그럼 $ w $와 $ b $는 어떻게 찾을까? Backpropagation..

boostcamp AI Tech/기타 정리

[DL Basic] 딥러닝의 개념과 역사

딥러닝 개념 Good Deep Learner? 구현 능력 (TensorFlow, PyTorch, ...) 수학 스킬 (선형대수, 확률론, ...) 최근 논문과 연구 숙지 인공지능 사람마다 정의가 다름 사람의 지능을 모방하는 것 머신러닝 인공지능 안에 있는 분야 무언가를 학습하고자 할 때 데이터를 통해 학습함 이 학습 알고리즘을 만드는 것이 머신러닝 딥러닝 머신러닝 안에 있는 분야 Neural Network 기반 모델을 사용하는 머신러닝 딥러닝의 구성 요소 Data Model Loss Function Optimization Algorithm Data - 이미지, 비디오, 텍스트 등 - 해결하고자 하는 Task에 따라서 필요 데이터가 다름 Model - 이미지/텍스트 등 데이터가 주어졌을 때 이것을 변환해주..

Computer Science/Linux

[Linux] 사용자와 그룹

이론 사용자와 그룹 개요 리눅스 하나에 여러 사용자를 등록해서 사용할 수 있음 각 사용자간 데이터를 보호하는 매커니즘이 필요함 그룹이라는 개념으로 멀티 유저를 구성함 여러 사용자를 하나의 그룹으로 그루핑 예시 1. System Administrator (Super User, root) 2. Group1: User a, User b, User c 3. Group2: User x, User y, User z 4. Group3: User q, User w, User e ... 왜 이렇게 구분할까? 사용자별로 설정이 가능 그룹별로 설정이 가능 사용자를 사람이라고 보기 보다는 계정으로 봐야 됨 사람 한 명이 서비스를 이용할 때 두 개 이상의 계정을 사용할 수 있음 사람이 아닌 계정도 있을 수 있음 (어떤 프로그램..

Computer Science/Linux

[Linux] 파일과 디렉터리

이론 파일과 디렉터리의 구조 파일 특징 파일은 모두 경로와 이름이 있음 다른 경로에는 같은 이름에 파일이 있을 수 있음 경로와 이름이 모두 같을 수는 없음 하나의 파일에는 데이터가 들어가 있음 파일은 데이터를 담는 그릇이라고 보면 됨 변수와 파일의 차이 변수는 메모리에 존재 파일은 디스크에 존재 일시적으로 메모리에 올려놓고 작업을 할 때는 데이터를 변수에 담아서 사용 영구적으로 저장해서 사용할 때는 데이터를 파일에 담아서 사용 영구적: 전원이 없어도 지워지지 않는다. 파일 시스템 파일이 잘 동작하기 위한 환경을 제공 파일을 관리하기 위한 시스템 운영체제의 일부 운영체제와 디스크 사이에 있음 리눅스는 트리 형태의 계층 구조를 가지고 있음 윈도우도 계층 구조를 가지고 있지만 구성하는 방식이 다름 리눅스는 r..

Computer Science/Linux

[Linux] 기본 쉘 명령어 정리

세세한 옵션들을 실사용하면서 익히기 man $ man ls $ man dir man: manual의 약자 해당 명령어의 매뉴얼을 보여줌 매뉴얼 내에서 검색하고자 할 때 /검색내용 사용 예를 들면 /help 현재 검색내용의 다음 것을 보고싶으면 / 만 다시 명령하면 됨 디렉터리 관련 $ ls: 현재 디렉터리에 있는 파일들 보여줌 $ cd: 디렉터리 변경 (change directory), 디렉터리명 입력 안 하면 홈 디렉터리로 이동 $ cd ..: parents directory로 이동 $ cd -: 직전 디렉터리로 이동 $ pwd: 현재 디렉터리 위치 보여줌 ~: 현재 사용자의 홈 디렉터리 (예: /home/joohyeong) 예시 파일 내용 조회 $ cat: 문서 전체 내용 출력 $ head: 문서 상..

boostcamp AI Tech/기타 정리

[torchtext, sklearn] get_tokenizer(), vocab(), get_stoi(), get_itos(), CountVectorizer()

Text 데이터를 핸들링하는 기본적인 TextMining 내용 torchtext.data.utils.get_tokenizer(tokenizer, language=’en’) 파라미터 tokenizer: 어떤 방식으로 토큰화를 진행할지 결정해주기 적어주지 않으면 그냥 split() 기능을 하도록 설정 기본적으로 많이 하는 것이 ‘basic_english’ ‘basic_english’ 예시 tokenizer = torchtext.data.utils.get_tokenizer('basic_english') tokenizer("You can now install TorchText using pip!") # ['you', 'can', 'now', 'install', 'torchtext', 'using', 'pip',..

boostcamp AI Tech/주차별 회고

부스트캠프 AI Tech 5기 2주차 회고

boostcamp AI Tech 강주형_T5008 2주차 회고 잘했던 것! 특정 프레임워크의 기능을 확인할 때 신뢰성이 떨어지는 개인 블로그가 아니라 공식 Document를 확인하는 것 생소한 것을 학습할 때에도 어느 정도 깊게 파고들어서 학습하기 아쉬운 것! PyTorch 공식 Document, Stackoverflow 등을 활용할 때 근본적인 영어 실력 부족으로 어려움이 많았음 개선 방향 영어 Reading 실력 기르기.. (어떻게?) 도전할 것! 인프런에 끊어놓고 중단한 리눅스 기초 강의.. 알고리즘 공부 꾸준히 하기 키워드 PyTorch의 여러 클래스, 메서드 tensorboard, wandb ray 이번 주 강의는 오로지 PyTorch에 대한 내용이었다. 강의 과제들이 굉장히 짜임새 있게 구성되..

강주형
'분류 전체보기' 카테고리의 글 목록 (4 Page)