728x90
1. 왜 Non-personalized Recommendation을 하는가? - Cold-start problem : 새로운 유저가 들어오면 그 유저에 대한 정보가 부족함 - 간단하면서 유용함 - 개인화가 불가능한 어플리케이션과 미디어에 적용 2. Non-personalized Recommendation 출판 추천 : 편집상 선택됨 - 신문의 책, 영화, 음악 평론 - 미쉐린 가이드 인기도 기반 - 빌보드 차트, 멜론 차트 - 박스오피스 차트 등.. 3. Popularity-based Recommendation 각 아이템의 점수는 요약된 통계에 기반해서 계산됨 - 인기도(혹은 빈도) - 평점 - 유저가 선호할 확률 Naïve 평점은 잘못 될 수 있음 - 선호하는 사람들의 %를 합산하여 점수를 조정함 - ..
정보가 범람하는 시대에서 추천시스템은 유저가 선호할 만한 컨텐츠를 발견하는데 중요한 역할을 한다. Amazon에서 구매하는 품목의 35%, 넷플릭스에서 사용자가 시청하는 컨텐츠의 75%는 추천시스템을 통해 이뤄진다. 1. Information Retrieval(IR) 정보 검색 - 정적 콘텐츠 기반 : 컨텐츠를 인덱싱(indexing) 하는데 시간을 투자 - 동적 정보 요구 : 쿼리들(Queries)이 "real-time"에서 존재 일반적인 접근으로 TF-IDF 가 있다. TF-IDF TF(Term Frequency) : 용어의 수 IDF(Inverse Document Frequency) : 문서 수의 반비례 문서 집합(corpus)에서 한 단어(term)가 얼마나 중요한지를 수치적으로 나타낸 가중치. ..
본 시리즈는 연세대학교 인공지능학과 대학원 이동하 교수님의 "Recommender Systems and Information Filtering(AAI5009)" 수업의 정리임을 밝힙니다. 1. Introduction to Recommender System 2. Non-personalized and Content-based Recommendation 3. Nearest Neighbor Collaborative Filtering 4. Matrix Factorization Collaborative Filtering 5. Factorization Machines 6. Top-K Recommendation 7. Deep Learning for Recommender Systems 8. Hybrid Recommend..
File / Exception / Log Handling 🔗 강의 바로가기 📖 강의 소개 이번 강의에서는 프로그램을 제대로 만들기 위해 알아야 하는 예외 처리와 파일 다루기에 대해서 배웁니다. 대부분의 경우 우리가 만드는 프로그램에는 우리가 예상치 못한 오류가 생기곤 합니다. 이를 해결하기 위해서 사전에 모든 경우를 다 지정해서 대비하는 경우도 있지만, 특정 상황에서 발생할 수 있는 예외를 포괄적으로 지정해서 대비하는 경우도 있습니다. 또, 실제 프로그램을 작성할 때는 파일에 존재하는 데이터를 사용하는 경우가 많습니다. 추가적으로 여러가지 프로그램을 진행하면서 기록을 남기는 로깅에 대해서도 배웁니다. 로그 데이터를 남기는 건 오늘날 데이터 기반의 애플리케이션 개발에서 매우 중요한 이슈가 되고 있습니다. ..
Module and Project 🔗 강의 바로가기 📖 강의 소개 이번 강의에서는 파이썬 프로젝트의 기본이 되는 모듈과 패키지, 그리고 프로젝트의 개념에 대해서 배웁니다. 우리는 앞서 파이썬에서 제공하는 여러가지 모듈들을 사용했습니다. 이러한 모듈과 패키지를 구성하고, 실제로 다른 개발자가 만든 모듈을 사용하는 방법까지 이 챕터에서 다루게 됩니다. 내용은 많이 어렵지는 않지만, 알면 여러모로 도움되는 내용이니 많은 연습을 하고 넘어가면 좋겠습니다. 파이썬은 대부분의 라이브러리가 이미 다른 사용자에 의해 이미 구현되어있다. 남이 만든 프로그램 쓰는 법 👉 모듈과 패키지 1. 모듈 Module 🔎 overview 어떤 대상의 부분 혹은 조각 프로그램에서는 작은 프로그램 조각들, 모듈들을 모아서 하나의 큰 프..
Python Object Oriented Programming(파이썬 객체 지향 프로그래밍 언어) (2) 🔗 강의 바로가기 💻 OOP Implementation Example 구현 가능한 OOP 만들기 - 노트북 Note를 정리하는 프로그램 사용자는 Note에 뭔가를 적을 수 있다 Note에는 Content가 있고, 내용을 제거할 수 있다 두 개의 노트북을 합쳐 하나로 만들 수 있다. Note는 Notebook에 삽입된다. Notebook은 Note가 삽입 될 때 페이지를 생성하며, 최고 300페이지 까지 저장 가능하다 300 페이지가 넘으면 더이상 노트를 삽입하지 못한다. class Note(object): def __init__(self, content = None): self.content = co..