본문 바로가기
반응형

Deep Learning7

Graph-based의 추천시스템의 성능 평가에 있어서, Recall, NDCG가 주요한 이유 Recall (재현율): Recall은 추천시스템에서 중요한 지표 중 하나입니다. 이는 실제로 사용자가 관심을 가지는 아이템 중 시스템이 얼마나 많은 아이템을 정확하게 추천하는지를 나타냅니다. 그래프 기반 추천시스템에서는 사용자와 아이템 간의 관계를 고려하기 때문에, 실제로 사용자가 연결된 아이템들 중 시스템이 몇 개를 성공적으로 찾아냈는지를 보여줍니다. 그렇기 때문에 Recall은 그래프 정보를 활용하는 추천시스템의 성능을 평가하는데 있어서 중요한 지표입니다. NDCG (Normalized Discounted Cumulative Gain): NDCG는 순위된 추천 목록의 품질을 평가하는 지표 중 하나입니다. 그래프 기반 추천시스템에서는 사용자와 아이템 간의 관계를 고려하여 추천 목록을 생성하는데, 이 .. 2023. 8. 7.
머신러닝에서 Precision(정밀도), Recall(재현율)의 차이 Precision(정밀도) 정밀도는 최대한 “정밀”하게 양성을 추출해야 하는 경우에 중요합니다. 알고리즘 매매에서 거액의 돈이 왔다갔다 하는데 잘못된 시그널에 따라 투자하면 안되기에 진짜 진짜 positive라고 확신하는 경우에만 양성으로 판단해야 할 때 precision을 높입니다. 통계적으로는 False Positive(Type I error)를 조심해야 하는 상황에서는 precision이 recall보다 중요합니다. Recall(재현율) 재현율은 최대한 많은 양성을 추출(recall)해내야 하는 상황에서 중요합니다. 은행에 복면을 쓴 누군가가 들어왔는데 저 사람이 강도인지 아닌지 확신이 없더라도 경보부터 울리고 봐야하기에, 양성(positive)이라는 강한 확신이 없더라도 최대한 많은 양성을 잡아내.. 2023. 8. 7.
inductive, transductive graph setup 의 차이 인덕티브(inductive) 그래프 설정은 그래프의 일부 또는 새로운 노드에 대한 예측을 수행하는 상황을 가정합니다. 이 설정에서는 모델이 이전에 관찰된 노드의 특성과 연결 관계를 학습하여 새로운 노드에 대한 예측을 수행합니다. 즉, 모델은 관찰된 노드의 정보를 활용하여 새로운 노드의 특성을 일반화하고 예측합니다. 인덕티브 그래프 설정은 일반적으로 훈련 세트와 테스트 세트가 분리되어 있으며, 새로운 노드가 훈련 과정에서 접근할 수 없는 정보를 가지고 있는 상황에서 유용합니다. 트랜스덕티브(transductive) 그래프 설정은 그래프의 전체 또는 일부 노드에 대한 예측을 수행하는 상황을 가정합니다. 이 설정에서는 모델이 그래프의 전체 구조와 모든 노드의 특성을 고려하여 예측을 수행합니다. 즉, 모델은 그.. 2023. 8. 7.
over-smoothing, over-squashing이란? 오버-스무딩(over-smoothing)과 오버-스쿼싱(over-squashing)은 머신 러닝 및 딥 러닝에서 발생할 수 있는 문제입니다. 오버-스무딩은 그래프 신경망(GNN)이나 합성곱 신경망(CNN)과 같은 모델에서 발생하는 현상입니다. 이 현상은 네트워크가 반복적으로 정보를 통합하면서 노드 또는 픽셀의 특징을 지나치게 평활화시키는 결과를 가져옵니다. 즉, 네트워크가 인접한 노드 또는 픽셀의 정보를 계속해서 평균화하면서 지역적인 특징이 희석되고, 전체적으로 유사한 특징을 가진 노드 또는 픽셀로 수렴하게 됩니다. 이로 인해 네트워크가 지역적인 차이를 인식하지 못하고 전체적인 특징만을 반영하게 되는 문제가 발생합니다. 오버-스쿼싱은 활성화 함수(activation function)를 사용하는 모델에서 .. 2023. 8. 7.
spectral theory - graph adj matrix를 Laplacian으로 나타내는 프로세스와 Laplacian으로 표현하는 이유? 스펙트럴 이론은 그래프의 인접 행렬을 라플라시안으로 표현하는 과정입니다. 라플라시안으로 표현하는 이유는 그래프의 구조적인 특성을 파악하고 그래프에 내재된 정보를 추출하기 위해서이며, 라플라시안은 그래프의 행렬 표현 중 하나로, 각 정점의 연결 상태를 나타내는 인접 행렬을 사용하여 구할 수 있습니다. 이때, 라플라시안 행렬은 그래프의 노드 간 연결 관계와 차수(degree)에 기반하여 구성되고, 그래프의 노드 간 연결 관계를 나타내는 인접 행렬을 L이라고 한다면, 라플라시안 행렬은 L = D - A로 표현할 수 있습니다. 여기서 D는 차수 행렬(Degree Matrix)이고, A는 인접 행렬(Adjacency Matrix)입니다. 차수 행렬은 그래프의 각 정점의 차수를 대각 원소로 가지는 대각 행렬로 정의.. 2023. 8. 7.
Jupyterlab setting Jupyterlab는 다음 명령어로 가능하며, 공식문서를 참조하면 다양한 설치 방법을 알 수 있다. : Jupyterlab Docs Link pip install jupyterlab Jupyter notebook이 설치된 후 jupyter lab --generate-config 명령어를 실행하면 config 파일이 /root/.jupyter/ 에 생성된다. 그리고 비밀번호를 설정하기 위해서 Ipython을 입력 후 >>> from notebook.auth import passwd >>> passwd() 을 실행하여 본인이 사용하는 비밀번호를 설정한다. 실행하게되면 암호화된 문자열이 나오는데 이를 복붙하여서 설정에 사용한다. 그리고 config file을 열어 아래와 같은 코드를 추가한다. c = get_.. 2023. 8. 7.
Docker를 사용한 딥러닝 학습 환경세팅 2022년 4월 9일 현재 내가 사용하는 GPU들이다. 연구실에서 2080TI, 3090을 사용하고 있으며, NIPA를 통해 20TF 자원을 할당받아서 사용하고 있습니다. 각각 GPU마다의 Docker container를 jupyter notebook으로 연결해두어서, 외부에서도 작업이 가능하게 설정해두었으며, Docker image로는 teddylee777/dl-cuda11를 사용하였으며, [링크]로 들어가시면 받으실 수 있습니다! ubuntu 환경에서 docker를 사용해서 환경을 세팅하닌깐 예전에 ubuntu를 사용하면서 라이브러리 관리가 제대로 이루어지지않아서 포맷 3연벙을 당한 뒤로는 local pc에 ubuntu를 깔고싶다는 생각을 못하게 되었지만, docker를 사용하게 되면서 이러한 걱정이.. 2023. 8. 7.
728x90
반응형