-
[논문] DisenHAN: Disentangled Heterogeneous Graph Attention Network for Recommendation
개발 스터디 랩장님이 발표해 주신 논문인데, 현업에서도 유용하게 쓰일 알고리즘인 것 같아서 다시 정리해본다.https://arxiv.org/abs/2106.10879 DisenHAN: Disentangled Heterogeneous Graph Attention Network for RecommendationHeterogeneous information network has been widely used to alleviate sparsity and cold start problems in recommender systems since it can model rich context information in user-item interactions. Graph neural network is able to..
2025.05.18
-
[책리뷰] 나는 동물
[제목] 나는 동물저자 : 홍은전출판: 봄날의책발매 : 2023.10.20 독서록 - 『나는 동물』을 읽고홀로 남원을 여행하며 묵은 스테이가 책방을 겸하고 있다면, 이 얼마나 럭키비키한 일인가.급하게 떠난 남원 여행에서 나는 '도보 책방'이라는 숙소에 1박을 하게 되었고,그곳에서 마주한 수많은 책 중 유독 시선을 끌었던 한 권, 『나는 동물』을 펼쳤다.저자 홍은전 님은 인권·동물권 기록활동가로, 특히 장애인 인권 문제에 목소리를 내고 계신 분이다. - 동물권 책은 수어가 가능한 침팬지 '부이'의 이야기로 시작하며, 『짐을 끄는 짐승들』의 저자 테일러의 문장을 인용한다. "왜 수어를 모르는 침팬지는 외롭게 감금되고, 그렇지 않은 침팬지는 대중적 항의를 불러일으키는가.언어는 어떻게 그런 권력을 갖게 ..
2025.05.05
-
Shapley Value 실습 1 (에러 원인과 해결 방안)
현재 회사에서, 그리고 스터디에서 X-AI 를 적용하기 위해 기본 베이스 모델인 Shapley Value를 사용하고 있다.근데,, 계속 에러가 나는 것 아닌가..!! 실패는 성공의 어머니. 왜 에러가 났는 지 그 이유를 하나하나 파고들어보자. 우선 Shapley Value 를 사용하기 위해 pip install shap 을 해준 후, Shap Value를 통해 각 Feature가 모델에 끼치는 영향을 알아보고자 했는데 🤦♀️다음과 같은 에러들이 나타났다.1. cudnn RNN backward can only be called in training mode2. Input and hidden tensors are not at the same device, found input tensor at cpu a..
2025.05.03
-
[책리뷰] 고통 구경하는 사회
[제목] 고통 구경하는 사회저자 : 김인정출판: 웨일북(whalebooks)발매 : 2023.10.15 이 책은, 세월호, 이태원, 무안공항 등 크고 작은 사회적 참사와 고통이 일어날 때마다정치, 언론, 집단, 그리고 나 자신은 그 사건들을 어떻게 바라보았는지, 또 왜 이런 비극이 반복되는지를각자의 역할과 시선에서 되돌아보게 만든다. 그리고 개인이자 사회의 구성원으로서앞으로 내가 될 수도 있는 ‘그들’과 어떻게 연대할 수 있을지깊이 고민하게 만드는 책이다. 그들은 비슷한 눈을 하고 있을까. 악의 얼굴이라는 게 존재할까.같은 외형에 선과 악이 숨길 수 없이 투영된다는 믿기 어려운 상상을 하고 있던걸까.아니면 단순 관음증이나 호기심에 불과했을까. 방글라데시는 아시아의 빈곤 국가 중 하나이다. 개발을 위해..
2025.04.19
-
Inductive vs Transductive
✅ 인덕티브 (Inductive)새로운 노드나 데이터가 들어와도 예측이 가능함!학습할 때 일반적인 패턴을 배움 (ex. 특정 유저/아이템이 아니라, 유저와 아이템의 특성이나 관계 패턴)그래서 학습에 없던 새로운 유저나 아이템에도 추천 가능함예: GraphSAGE, GAT, MLP, BERT 기반 모델 등🧠 예시 상황"처음 보는 유저가 앱에 가입했는데도, 프로필 기반으로 음식점 추천 가능!"✅ 트랜스덕티브 (Transductive)학습에 사용한 노드들만 예측 가능!새로운 노드에는 예측 불가 ❌학습할 때 특정 노드들 간 관계만 깊게 학습함학습 시 사용된 노드에 대해서는 성능 좋지만, 새로운 노드 추가 시 다시 학습해야 함예: GCN, Matrix Factorization (ex. ALS), Node2Vec..
2025.04.17
-
[핵심 머신러닝] Shapley Value (Explainable AI)
※ 고려대 김성범 교수님의 Shapley Value를 듣고 정리한 글출처 : https://youtu.be/f2XqxOny3NA?si=yENiJP4rlkaOqzaf Explainable AI: 설명 가능한 인공지능- 보통 모델 구조 딥러닝 구조- 입력층 출력층 사이 굉장히 많은 Hidden Layer 가 존재- 예측력은 좋지만 왜 됐는지 설명이 안됨 SHAP (Shapley Additive exPlanations)https://arxiv.org/pdf/1705.07874 SHAP 개념- SHAP는 game theory에 근거하고 있음EX1) A,B,C,D 중 가장 큰 기여를 한 알파벳은?A + B + C + D = 100A + B + C = 20A + B + D = 80A + C + D = ..
2025.04.13
-
[Python] Class
Class의 개념을 파이썬 처음 공부할 때, 간단하게 지나가고 그 뒤로 어렴풋이 아는 개념으로 사용해했었다. 현업에 나와보니 개념 하나하나 정확하게 아는게 너무너무 중요하다는 것을 깨닫고.. 확실한 코드를 짜기 위해선 확실하게 개념을 다시 공부해야겠다는 생각이 들어 그렇게 다시 class를 공부하게 되었다. Class - 클래스 : 객체를 만들기 위한 설계도 - 객체 : 설계도로 부터 만들어 낸 제품 #클래스를 사용하지 않을 때 champion1_name = "이즈리얼" champion1_health = 700 champion1_attack = 90 print(f"{champion1_name} 님 소환사의 협곡에 오신것을 환영합니다.") champion2_name = "리신" champion2_healt..
2024.03.31
-
[Python] Type Annotation
타입 어노테이션이란? - 변수, 상수 선언 시에 어떤 타입으로 저장할 것인지 알려주는 방법 - 코드 가독성과 효율성이 좋아짐 def add(a: int, b: int) -> int return a + b add("1", "2") #에러가 발생하진 않음 but '12'가 출력 add.__annotations__ #타입 어노테이션 확인 from typing import List names: List[str] = ["Alice", "Bob", "Charlie"] user: Dict[str, str] = {"name": "Alice", "email": "alice@example.com"} # 클래스 class Student: def __init__(self, name: str, grades: List[int])..
2024.03.31
-
[ Python ] 이터레이터(Iterator) vs 제너레이터 (Generator)
이터레이터 (Iterator) ? - 집합에서 값을 차례대로 꺼낼 수 있는 객체 - For 문을 순회할 수 있음 - iter()로 반복 가능한 객체로 변환한 후, next()로 다음 값을 뽑는다 - 한 번 반복하면 재사용 불가 a = [1, 2, 3] iterator = iter(a) next(iterator) # 1 출력 next(iterator) # 2 출력 next(iterator) # 3 출력 next(iterator) # StopIteration 에러 발생 제너레이터 (Generator) - 이터레이터를 생성해주는 함수 - 순차적로 다른 값을 반환하길 원할 때 - yield() def generator(): yield 'a' yield 'b' yield 'c' g = generator() nex..
2024.03.31