본문 바로가기

이론

(18)
[알고리즘 코테] 이진 탐색 순차 탐색 앞에서부터 하나씩 찾아보는 탐색 알고리즘 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법 데이터 조회 특징 보통 정렬되지 않은 리스트에서 데이터를 찾아야 할 때 사용됨. 구현이 간단하여 자주 사용됨. 시간 복잡도 : 0(N), 데이터의 개수가 N개일 때 최대 N번의 비교 연산이 필요함. 이진 탐색 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 탐색 알고리즘 탐색 범위를 절반씩 좁혀가며 데이터를 하나씩 확인하는 방법 데이터 조회 특징 찾으려는 데이터와 탐색 범위의 중간점에 있는 데이터를 반복적으로 비교해서 원하는 데이터를 찾음. 시간 복잡도 : O(logN), 한 번 확인할 때마다 확인하는 원소의 개수가 절반씩 줄어들음. 구현 방법 : 반복..
[알고리즘 코테] DFS/BFS DFS(Depth First Search) / BFS(Breadth First Search) 1) 방문 리스트 : 방문 처리 목적 / 정점의 개수만큼 길이 생성 visited = [0] * 정점의 개수 2) 인접 행렬 / 인접 리스트 : 노드, 간선 연결 저장 3) stack / queue : 실시간 현황 💡 자료구조 : 스택 (선입후출, FILO) 루트 노드를 스택에 넣고 방문 처리 한다. 스택 최상단 노드의 인접 노드 중 방문하지 않은 노드 하나를 스택에 넣고 방문 처리한다. 만약 인접 노드를 모두 방문한 경우 스택을 Pop 한다. 2 단계를 더 이상 수행할 수 없을 때 까지 (스택이 빌 때 까지) 반복한다. 💡 자료구조 : 큐 (선입선출, FIFO) 루트 노드를 큐에 넣고 방문 처리한다. 방문 처리..
[패스트캠퍼스 - 30개 프로젝트로 끝내는 추천시스템 강의 Chapter10. 기획안 기반 추천시스템 개발 실습] 1) 고객 페르소나 및 가설 정의 buttom-up : 수집 데이터 기반 ex) LDA로 네 가지 범주로 나눔. top-down : 의사결정자, 전문가 기반 가설 ex) 마케팅, 인터넷 사업부, 출판 기획팀, 영업팀, 전략기획팀, 온라인 MD 등 다양한 부서에게 의견을 묻고 판단함. 모델러, 직관적 접근 기반 → 이를 기반으로 최종 가설 설정 내부 정책상 문제, 기술적/적용 한계 가설, 부적절한 상품 추천, 데이터 보호 및 개인정보 침해, 회사 가치관 부합, 브랜드 이미지 훼손, 한시적 트렌드성 가설, 예산 초과 가설, 사용자 경험 저하 가설 등을 고려 2) 가설 기반 데이터 마트 설계/구축 쇼핑 : 고객데이터, 구매이력, 리뷰데이터, 장바구니 도서 : 상품데이터, 도서명 검색량 데이터 검색량 데이터, ..
[알고리즘 코테] 정렬 대표적인 정렬의 종류 1) O(n²)의 시간 복잡도 버블 정렬(Bubble Sort) : 바로 옆에 있는 것과 비교해서 정렬함. 구현은 쉽지만 효율성이 매우 낮다고 알려짐. 선택 정렬(Selection Sort) : 가장 작은 데이터를 선택해서 정렬되지 않은 데이터 중 가장 앞 쪽에 있는 데이터와 위치를 바꾸는 방법 삽입 정렬(Insertion Sort) : 데이터를 앞에서부터 하나씩 확인하며 데이터를 적절한 위치에 삽입하는 방법 2) O(n log n)의 시간 복잡도 : divide and conquer 합병 정렬, 병합 정렬(Merge Sort) 퀵 정렬(Quick Sort) : 기준 데이터를 설정하고 그 기준보다 큰 데이터와 작은 데이터의 위치를 바꾸는 방법, 최악의 경우는 O(n²)이지만 평균적으..
[알고리즘 코테] 그리디 Greedy : 탐욕스러운, 욕심이 많은 그리디 알고리즘 : 단순 무식하게, 탐욕적으로 문제를 푸는 알고리즘 → 현재 상황에서 지금 당장 좋은 것만 고르는 방법 창의력, 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력 필요 ! 가장 큰 순서대로, 가장 작은 순서대로 - 기준 제시 정렬 알고리즘과 짝을 이뤄 출제 대표 예제. 거스름돈 당신은 음식점의 계산을 도와주는 점원이다. 카운터에는 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한히 존재한다고 가정한다. 손님에게 거슬러 줘야 할 돈이 N원일 때 거슬러줘야 할 동전의 최소 개수를 구하라. 단, 거슬러 줘야 할 돈 N은 항상 10의 배수이다. 가장 큰 화폐 단위부터 거슬러 주기 → 500, 100, 50, 10 n = 1..
[패스트캠퍼스 - 30개 프로젝트로 끝내는 추천시스템 강의 Chapter06. 추천시스템이 필요한 이유] 추천 모델을 넘어 추천 시스템이 필요한 이유 콘텐츠 기반 vs 협업 필터링 vs 하이브리드 MF vs Neighborhood based Factorization Machine Deep learning Model - Wide and Deep, DeepFM 정해진 데이터 -> 정해지지 않은 데이터에서 추천에 필요한 데이터를 직접 만들어내기 올바르지 못한 알고리즘 선택 오프라인 기반의 추천 결과 -> 추천 결과를 일정 레이턴시 안에 유저에게 전달할 수 있는 서빙 (온라인 : 실시간) 비즈니스를 고려하지 않은 메트릭 -> 실제 비즈니스의 가치를 창출해내는 기술 다양한 추천 Product를 고려하지 않고 부족한 확장가능성 -> 새로운 추천 프로덕트를 빠르게 만들고 유지보수할 수 있는 확장 가능성 가장 큰 어려움 ..
[SQLD 1과목 요점정리] 데이터 모델의 이해 모델링의 이해 정의 : 다양한 현상을 표기법에 의해 표기하는 것 특징 추상화 : 일정한 형식에 맞춰 표현 단순화 : 제한된 표기법이나 언어로 표현 명확화 : 이해가 쉽게 표현 3가지 관점 데이터 관점 : 업무와 데이터 사이의 관계 프로세스 관점 : 진행되고 있거나 진행되어야 하는 업무 상관 관점 : 데이터에 대한 업무 처리 방식의 영향 데이터 모델의 기본 개념 이해 정의 : 정보 시스템을 구축하기 위한 데이터 관점의 업무 분석 기법 제공 기능 : 시스템 가시화, 시스템 구조와 행동 명세화, 시스템 구축의 구조화된 틀 제공 : 문서화, 세부 사항은 숨기는 다양한 관점 제공, 상세 수준의 표현방법 제공 데이터 모델링의 중요성 및 유의 중요성 : 파급효과(Leverage), 간결한 표현(C..
[패스트캠퍼스 - 30개 프로젝트로 끝내는 추천시스템 구현 강의 Chapter01. 고전적인 추천시스템] 추천시스템의 정의 유저와 아이템의 주변 정보와 상호작용 기록을 바탕으로 유저가 선호할 아이템을 예측하여 유저의 의사결정을 돕는 인공지능 서비스 유저(user) : 서비스를 이용하는 주체 아이템(item) : 서비스에서 판매/제공하는 대상 물품 상호작용(interaction/log) : 서비스 내에서 유저가 남기는 일련의 행동 기록 (구매 개수, 구매 여부, 클릭 여부) context : 추천이 노출되는 여러 정보 Information Overload : 과도하게 많은 정보에 압도해 판단을 내리기 어려운 현상 FOMO(Fear of Missing Out) -> Filtering으로써의 추천 검색 vs 추천 검색 시스템 추천 시스템 작동 방식 Push Pull Query 입력 있음 없음 작동 시점 사용자 요..