분류 전체보기 (16) 썸네일형 리스트형 추천시스템, 평가지표 선정하기 본 포스팅은 Naver BoostCamp AI Tech를 기반으로 작성합니다. 이번 포스팅에서는 추천시스템의 성능을 평가하는 평가 지표에 대해서 이야기해봅시다. 1. 추천시스템의 평가지표 우리 회사에서 새로이 추천시스템을 도입하려고 합니다. 그러면 이 모델의 성능은 어떻게 평가해야 할까요? 이를 비즈니스 및 서비스적 관점과 품질의 관점에서 생각해보겠습니다. 추천시스템을 비즈니스 관점에서 보면, 이 시스템을 도입하면서, 얼마나 돈을 많이 벌었느냐가 핵심입니다. 즉, 추천시스템을 적용하면서 매출과 Page View가 증가했다면, 그리고 추천 아이템으로 인해서 유저의 클릭률(CTR)이 상승했다면, 소기의 성공을 얻었다고 말할 수 있죠. 그리고 품질의 관점에서 생각해보면, 가장 먼저 우리가 추천한 아이템이 유저.. 추천시스템, 그 세계에 대하여 이번 포스팅부터 추천시스템에 대해서 이야기해봅니다. 추천시스템, 흔히 우리에게는 알고리즘이라는 이름으로도 잘 알려져있는 세계입니다. 오늘도 알 수 없는 유튜브 알고리즘이 나를 이 영상으로 이끌었다. 유튜브를 보다보면 내가 이미 보았던, 그리고 평소 관심이 있는 영상들이 상위 피드에 뜨는 경험 많이들 해보셨을 겁니다. 이는 과거의 당신의 로그를 기반으로해 유튜브에서 그에 가장 어울리는 피드를 추천해주는 이른바 '유튜브 알고리즘'이 작동했기 때문인데요. 이런 것들은 현재 유튜브를 비롯한 OTT나 쿠팡, 알리익스프레스와 같은 E-Commerce, 그리고 온라인 광고에 엄청나게 많이 도입되어 있습니다. 1. 추천시스템이 필요한 이유? 과거에는 유저가 접할 수 있었던 상품과 컨텐츠가 굉장히 제한적이었습니다. TV.. Sequencial Model 1. Sequencial Model Sequencial Data, 순차 데이터는 객체들이 특정 순서를 가진 형태의 데이터입니다. 고로, 객체의 순서가 특성을 나타내는 중요한 요소입니다. 이러한 종류의 데이터는 많죠. 매일매일 요동치는 주가 데이터도 그 예고, 애플워치에서 측정한 나의 심장 박동 데이터도, DNA 염기서열도 순차 데이터의 일종입니다. 그리고 가장 대표적인 예시는 바로 글과 문장이죠. 자 그러면 이러한 글과 같은 Sequencial 데이터를 다루는 모델이 어려운 이유를 생각해보죠. 가장 큰 이유는 모델이 받아들이는 입력의 차원을 알 수 없다는 것입니다. 이미지의 경우 고정된 크기의 Input을 통해 고정된 크기의 Output이 나옵니다. 앞 포스팅 CNN을 참고하시면 쉽습니다. 하지만, 말은.. Naive Bayes 간략 정리 1. 베이즈 정리 스패너를 만드는 두 개의 기계가 있다고 가정하죠. 두 기계에서 하루에 각각 10개의 스패너를 만들고, 이를 밤이 되면 섞어서 결함이 있는 스패너를 찾아낼 것입니다. 여기서 질문, “기계가 결함이 있는 스패너를 생산할 확률은 얼마나 될까?” "기계 2에서 나오는 스패너 하나를 픽업해 그 스패너가 불량일 확률은 얼마나 되는가? 이런 개념을 설명하는 아이디어가 베이즈 정리입니다. 베이즈 정리는 두 사건 간의 관계성을 다루는 수학적 원리로, 새로운 정보를 받았을 때, 기존의 믿음을 어떻게 업데이트할 지를 설명하는 것입니다. 이는, 조건부확률에 기반해, 이전 정보와 새로운 정보를 활용해 사건의 확률을 구하는 것이죠. P(A|B) : 사후 확률, 사건 B가 일어난 상황에서 사건 A가 발생할 조건부.. Random Forest 간략 정리 1. 랜덤포레스트와 앙상블 러닝 랜덤포레스트는 앙상블 러닝의 한 버전입니다. 그러면 앙상블러닝이란? 기존의 것보다 더욱 강력한 것을 만들기 위해 "여러 개의 같은 알고리즘"을 합치고 이를 취합해서 최적의 결과값을 찾아내는 것을 의미하죠 랜덤 포레스트를 간단히 말하면, 훈련을 통해 여러개의 나무를 만들고, 이들의 분류 결과를 취합해서 결론을 얻는 방식입니다. (일종의 인기투표) 트레이닝 셋에서 K개의 랜덤한 데이터점을 선정 K개의 지점과 대응하는 결정트리 만들기. 내가 고른 수 N개의 나무를 만들기 위해 1, 2번을 반복 새로운 점에 대해서 N개의 나무가 예측한 결과를 계산 → N개의 나무가 예측한 결과값의 평균을 이용해 최종적으로 Y를 결정한다. 하나의 나무의 결과값을 받는 것이 아닌, 다수의 나무의 결.. 코딩 테스트 - 개요, 유형 정리 및 전략 본 포스팅은 나동빈 등 이것이 취업을 위한 코딩 테스트다 등을 기반으로 작성합니다. 이 카테고리에서는 코딩 테스트를 위한 개요에 대한 이야기를 나눕니다. 1. 어떤 유형? 코딩 테스트에는 주로 출제되는 빈출 유형이 있습니다. 아주 어려운 유형의 고급 알고리즘 문제도 있지만, 한정된 시간 안에 최대한 많은 문제를 풀 수 있는 실력을 키우기는 어렵죠. 그래서 대표적으로 자주 출제되는 유형의 문제들을 푸는 것들이 필요합니다. 자주 줄제되는 유형은 아래와 같습니다. 탐색 (Searching) 및 정렬 (Sorting) 자료구조 문제 - 해싱, 파싱, 스택, 큐, 트리, 힙, 문자열 처리 DFS/BFS 그리디 알고리즘 (Greedy Algorithm) 동적계획법 (Dynamic Programming) 구현 문제 .. 순환 신경망(Recurrent Neural Network) - Teacher Forcing & BPTT 본 포스팅은 Ian Goodfellow 등 2인이 저술한 심층학습(Deep Learning Adaptive Computation and Machine Learning)및 오일석 저술의 기계학습, 사이토 고키 저술의 밑바닥부터 시작하는 딥러닝 등을 기반으로 작성합니다. 저번 포스팅에서 RNN에 대해서 개괄적으로 이해해보았으니, 이번 포스팅에서는 Teacher Forcing과 BPTT에 대해서 이해해보도록 하겠습니다. 1. Teacher Forcing 티쳐 포싱은 RNN에서 Target 단어를 디코더의 다음 입력으로 넣어주는 기법을 의미합니다. 예시를 통해 이해해보도록 하죠. 원래 예측하려는 결과값은 "Two People Running~"이라고 가정합시다. 이를 예측하기 위해 Two라는 단어를 입력했습니다... 순환 신경망(Recurrent Neural Network) - 개요 본 포스팅은 Ian Goodfellow 등 2인이 저술한 심층학습(Deep Learning Adaptive Computation and Machine Learning)및 오일석 저술의 기계학습, 사이토 고키 저술의 밑바닥부터 시작하는 딥러닝 등을 기반으로 작성합니다. 이번 포스팅에서는 순환 신경망에 대해서 이해해보죠. 순환신경망은 순차적인 자료를 처리하는 신경망의 한 종류입니다. 합성곱 신경망은 이미지와 같이 격자 형태로 구현된 입력을 처리하는데 유리했죠. 순환신경망은 순차열(Sequence), 즉 순서가 존재하는 입력을 처리하는데 유리합니다. 0. RNN RNN의 Recurrent는 라틴어에서 온 말인데, "순환하다"라는 뜻을 가집니다. RNN은 결국 직역하면 순환하는 신경망이 됩니다. 이 순환의 의미.. 이전 1 2 다음