欲速不達

일을 급히 하고자 서두르면 도리어 이루지 못한다.

Fantastic AI, Fantastic World
728x90
반응형

DS | Data Science 67

[Linear Algebra] Part2. 벡터의 연산과 스칼라배

* 이전 정리 https://kkuneeee.tistory.com/76 [Linear Algebra] Part1. 행렬과 벡터 그리고 선형대수학 1. 들어가며 딥러닝, 머신러닝 등 인공지능 분야에서는 주로 행렬, 벡터를 사용하는 알고리즘으로 선형대수학 개념이 중요하게 작용한다. 그러므로 선형대수학의 정리가 필수적이며, 단순하게 kkuneeee.tistory.com 1. 벡터의 방향과 크기 벡터에는 방향과 크기가 있다. 간단한 예시로 HTML 삽입 미리보기할 수 없는 소스 x y 평면에 이러한 벡터 A가 있을때 크기와 방향은 다음과 같다. HTML 삽입 미리보기할 수 없는 소스 벡터의 크기는 벡터의 길이를 의미하며, 벡터의 방향은 양의 x축과 이루는 각도를 말한다. 또 두 벡터가 있을때, 시작점의 위치가 ..

[Linear Algebra] Part1. 행렬과 벡터 그리고 선형대수학

1. 들어가며 딥러닝, 머신러닝 등 인공지능 분야에서는 주로 행렬, 벡터를 사용하는 알고리즘으로 선형대수학 개념이 중요하게 작용한다. 그러므로 선형대수학의 정리가 필수적이며, 단순하게 수학적 개념 뿐만 아니라 컴퓨터의 연산과정과 데이터의 구조 등까지 연결될 수 있는 개념이다. 인공지능 분야에 대한 공부를 시작한지 몇년이 지났지만, 그동안 기초개념을 제대로 복습하지 않아 다시 정리를 시작한다. 머신러닝, 딥러닝, 나아가 컴퓨터가 하는 데이터 연산 과정에 녹아있는 선형대수학을 정리하여, 기초에 대한 이해를 다지고자 한다. 2. 정의 선형대수학은 간단하게 숫자를 대신하여 문자를 사용하는 수학으로, 너무 크거나 작은 숫자를 표현하는 것 대신 문자를 사용함으로써 개념 정리를 용이하게 할 수 있다는 장점이 있다. ..

[프로그래머스] 연습문제 - 부대복귀(파이썬)

1. 문제 설명 강철부대의 각 부대원이 여러 지역에 뿔뿔이 흩어져 특수 임무를 수행 중입니다. 지도에서 강철부대가 위치한 지역을 포함한 각 지역은 유일한 번호로 구분되며, 두 지역 간의 길을 통과하는 데 걸리는 시간은 모두 1로 동일합니다. 임무를 수행한 각 부대원은 지도 정보를 이용하여 최단시간에 부대로 복귀하고자 합니다. 다만 적군의 방해로 인해, 임무의 시작 때와 다르게 되돌아오는 경로가 없어져 복귀가 불가능한 부대원도 있을 수 있습니다. 강철부대가 위치한 지역을 포함한 총지역의 수 n, 두 지역을 왕복할 수 있는 길 정보를 담은 2차원 정수 배열 roads, 각 부대원이 위치한 서로 다른 지역들을 나타내는 정수 배열 sources, 강철부대의 지역 destination이 주어졌을 때, 주어진 so..

[RecSys] 한 눈에 보기 정리 - 7 : Deep Learning

추천시스템에 Deep Learning을 활용하는 이유 Nonlinear Recommender System 한계점 : MF 모델은 선형조합에 기반한 표현만 가능 -->> MLP 사용하여 비선형성 표현 Representation Learning DL은 사람이 직접 feature design을 하지 않아도 됨 -->> 다양한 종류의 정보를 추천시스템에 활용할 수 있음 Flexibility 다양한 DL framework -->> 모델링이 자유로움 1. NCF : Neural Collaborative Filtering 등장배경 MF의 한계 : MF는 선형조합에 기반한 표현만 가능 -> user-item의 복잡한 관계를 표현하는 것에 한계를 가지게 됨 NMF : Neural Matrix Factorization -..

[RecSys] 한 눈에 보기 정리 - 6 : Context-Aware Recommender System

Context Aware : 유저와 아이템 간 상호작용 정보 뿐만 아니라, 유저 feature와 아이템의 feature 간의 맥락(context) 정보를 반영하는 것 CTR : Click-Through Rate Prediction CTR 예측 : 유저가 주어진 아이템을 클릭할 확률 예측하는 문제 예측해야하는 값 y = 클릭여부 (0,1) -> binary classification 문제 모델에서 출력한 실수 값을 sigmoid 함수에 통과시키면 (0,1) 사이의 예측 CTR(확률값)이 계산됨 주로, 광고 추천에서 사용 광고노출 시에 다양한 유저, 광고, 맥락정보 등을 입력변수로 사용 유저 ID가 존재하지 않는 데이터도 다른 유저의 featur나 맥락정보를 사용하여 예측 현업에서는 유저 ID를 사용하지 않..

[RecSys] 한 눈에 보기 정리 - 5 : Model-based Collaborative Filtering

Model-based Collaborative Filtering이 필요한 이유 Memory-based CF의 문제점 희소 데이터 문제 : sparse data interaction의 수가 적음 -> 모델 성능 저하 cold start가 어려워짐 user interaction이 sparse matrix면, 유사도를 계산하기가 어려움 -> 유사도 행렬의 신뢰성 저하 확장성의 문제 : scalability 데이터가 많아질수록 연산량 증가 업데이트 될때마다(데이터 추가, 변경) 새로 user-item matrix를 연산해야함 실시간으로 연산하기에는 부적합 Model-based CF의 장점 데이터 패턴을 학습 -> 단순히 항목 간 유사성을 비교하는 것 X user-item 관계의 잠재적 특성 및 패턴을 찾을 수 ..

[RecSys] 한 눈에 보기 정리 - 4 : Memory-based Collaborative Filtering

Collaborative Filtering 내가 좋아할만한 영화를 추천 받는다고 할때, 내가 좋아하는 영화의 장르, 감독, 배우 등을 기준으로 찾아본다. 내가 기준 - 내가 좋아하는 속성 Content-based Filtering 나와 비슷한 성향을 가진 다른 사람들이 봤던 영화를 찾아본다. 다른 사람 기준 - 나와 비슷한 사람들의 속성 Collaborative Filtering Collaborative filtering의 기본 목적 : 아이템을 추천하는 대상이 되는 사용자의 해당 아이템에 대한 선호도를 예측하여 높은 선호도를 가지는 아이템을 추천 == user-item matrix에서 평점이 0으로 초기화되어있는 값을 예측하는 것 예시 rating 0~5일때, 0인 부분 -> user u가 item i..

[RecSys] 한 눈에 보기 정리 - 3 : Content Based Recommendation System

Content : 아이템의 성질 및 특성 --->>> 사용자가 특정 아이템을 선호하는 경우, 그거랑 비슷한 Content를 가진 아이템을 추천 1. Vectorization : 아이템 특성을 벡터 형태로 어떻게 표현할지가 중요한 포인트 One-hot encoding 인코딩을 하려고 하는 항목의 수에 따라 On-hot 차원이 달라지기 때문에, 항목 수가 많아지면 차원이 커지고 그만큼 sparse하게 됨 - High Sparsity Embedding TF-IDF : 다른 문서에는 많지 않고, 해당 문서에서 자주 등장하는 단어에 높은 값을 부여 / 문서를 대표하는 특징 추출 Word2Vec : 단어의 의미를 다차원 공간에 벡터화하는 방법을 사용 / 단어 간 의미적 유사성을 벡터화 Transdormer의 Att..

[RecSys] 한 눈에 보기 정리 - 2

1. 추천시스템이 필요한 이유 사용자가 정보를 찾는데 소요되는 시간을 효과적으로 감소시키는 것 사용자의 관심사에 해당되는(유사한) 컨텐츠(아이템)을 추천하여, 선택의 폭을 확장시키는 것 Push & Pull Push : 사용자가 관심을 가질 만한 정보를 시스템이 Push해줌 Pull : 사용자의 의도가 명확하여, 사용자가 해당되는 항목을 Pull하는 것 ex) 검색 결정피로 : 방대한 정보 속에서 원하는 정보 찾기 위한 피로도 ---->>>> 원하는 정보를 잘 필터링하고 추천해주는 시스템이 필요 2. 추천시스템 workflow 1) 데이터 : user-item 관련 데이터 / interaction, feedback 등 2) Task 설정 - 단기 목표 : 클릭 수, 특정 기간의 총 수익 등 - 장기 목표..

[프로그래머스] 고득점 Kit - 그래프 : 순위(파이썬)

1. 문제설명 n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았습니다. 권투 경기는 1대1 방식으로 진행이 되고, 만약 A 선수가 B 선수보다 실력이 좋다면 A 선수는 B 선수를 항상 이깁니다. 심판은 주어진 경기 결과를 가지고 선수들의 순위를 매기려 합니다. 하지만 몇몇 경기 결과를 분실하여 정확하게 순위를 매길 수 없습니다. 선수의 수 n, 경기 결과를 담은 2차원 배열 results가 매개변수로 주어질 때 정확하게 순위를 매길 수 있는 선수의 수를 return 하도록 solution 함수를 작성해주세요. 2. 제한사항 선수의 수는 1명 이상 100명 이하입니다. 경기 결과는 1개 이상 4,500개 이하입니다. results 배열 각 행 [A, B]는 A 선수가 B 선수를 이..

728x90
반응형