당신을 가장 잘 아는 알고리즘: 추천 시스템 발견

Dec 28 2022
소셜 미디어 피드를 스크롤하고 관심 및 선호도와 완벽하게 일치하는 게시물이나 광고를 본 적이 있습니까? 아니면 제품이나 서비스에 대한 알림을 받고 나만을 위해 만들어진 것 같아서 클릭하지 않을 수 없습니까? 그렇다면 직장에서 추천 시스템의 힘을 경험한 것입니다. 추천 시스템이라고도 하는 추천 시스템은 소셜 미디어 플랫폼 및 기타 온라인 애플리케이션에서 사용자의 과거 행동과 선호도를 기반으로 사용자가 좋아할 만한 것을 예측하는 데 사용되는 알고리즘입니다.
나는 이것을 만들기 위해 MidJourney를 사용하지 않았다고 맹세합니다.

소셜 미디어 피드를 스크롤하고 관심 및 선호도와 완벽하게 일치하는 게시물이나 광고를 본 적이 있습니까? 아니면 제품이나 서비스에 대한 알림을 받고 나만을 위해 만들어진 것 같아서 클릭하지 않을 수 없습니까? 그렇다면 직장에서 추천 시스템의 힘을 경험한 것입니다.

추천 시스템이라고도 하는 추천 시스템은 소셜 미디어 플랫폼 및 기타 온라인 애플리케이션에서 사용자의 과거 행동과 선호도를 기반으로 사용자가 좋아할 만한 것을 예측하는 데 사용되는 알고리즘입니다. 이러한 알고리즘은 최신 소셜 미디어 경험에서 중요한 역할을 하며 각 개별 사용자에게 가장 관련성이 높고 매력적인 콘텐츠와 광고를 표시하는 데 도움을 줍니다.

이 기사에서는 추천 시스템의 내부 작동 방식과 소셜 미디어에서 보는 콘텐츠를 고유한 관심사와 습관에 맞게 조정할 수 있는 방법을 살펴봅니다. 또한 이러한 강력한 도구의 잠재적 단점과 윤리적 고려 사항에 대해서도 논의할 것입니다. 그러니 편히 앉아 소셜 미디어 세계에서 신비한 추천 시스템의 세계를 발견할 준비를 하세요!

유형:

추천 시스템의 유형

일반적인 유형 중 하나는 과거에 비슷한 취향을 가진 사람들이 미래에 비슷한 취향을 가질 가능성이 있다는 생각에 기반한 협업 필터링입니다. 이 접근 방식은 다른 사용자로부터 충분한 평가를 받은 항목을 추천하는 데 효과적이지만 새롭거나 인기가 적은 항목을 추천하는 데 어려움을 겪을 수 있습니다.

또 다른 유형은 콘텐츠 기반 추천으로, 항목의 특성을 이용하여 유사한 항목을 추천합니다. 이 접근 방식은 사용자가 과거에 좋아했던 항목과 유사한 항목을 추천하는 데 효과적이지만 사용자의 기존 관심사를 벗어난 항목을 추천하는 데 어려움을 겪을 수 있습니다.

협업 필터링과 콘텐츠 기반 추천을 결합한 하이브리드 방식도 가능합니다. 이 접근 방식은 두 방법의 장점을 모두 활용하고 보다 정확한 권장 사항을 제공할 수 있습니다.

판도를 바꾸는 실시간 권장 사항:

실시간 추천 시스템의 예

소셜 미디어의 실시간 추천 시스템은 사용자가 플랫폼과 상호 작용할 때 실시간으로 개인화된 추천을 제공함으로써 사용자 참여를 높이는 데 중요한 역할을 합니다. 사용자가 탐색할 때 관련 콘텐츠를 추천함으로써 이러한 시스템은 사용자를 플랫폼에 더 오래 머물게 하고 더 많은 콘텐츠에 참여하도록 장려할 수 있습니다.

Facebook, Instagram, Twitter와 같은 주요 소셜 미디어 플랫폼은 실시간 추천 시스템을 사용하여 사용자가 피드를 스크롤할 때 콘텐츠를 추천합니다. 이러한 시스템은 종종 협업 필터링과 콘텐츠 기반 추천의 조합을 사용하여 사용자의 과거 행동과 유사한 사용자의 행동을 기반으로 추천합니다.

스트리밍 알고리즘 및 온라인 학습을 포함하여 실시간 추천 시스템을 구현하는 몇 가지 기술이 있습니다. 스트리밍 알고리즘은 대량의 데이터를 실시간으로 처리하도록 설계되어 있어 지속적인 데이터 스트림을 기반으로 처리하고 추천해야 하는 추천 시스템에 적합합니다. 반면에 온라인 학습 알고리즘은 사용자의 피드백과 시스템과의 상호 작용을 기반으로 권장 사항을 지속적으로 개선할 수 있습니다.

모델 기반 콘텐츠 필터링 시스템 구현:

행렬 분해는 행렬을 두 개의 낮은 순위 행렬의 곱으로 분해하는 데 사용되는 기술입니다. 일반적으로 추천 시스템에서 사용자와 항목 간의 평가 또는 상호 작용의 기초가 되는 잠재 요인을 식별하는 데 사용됩니다.

행렬 분해가 실행 중입니다!

예를 들어 각 행이 사용자를 나타내고 각 열이 영화를 나타내는 사용자별 영화 평가 행렬이 있다고 가정합니다. 행렬 분해를 사용하여 이 행렬을 두 개의 하위 행렬로 분해할 수 있습니다. 하나는 사용자의 선호도를 나타내고 다른 하나는 영화의 특성을 나타냅니다. 평점의 기저에 잠재된 요인을 파악함으로써 사용자와 아이템의 선호도와 특성을 기반으로 보다 정확한 추천을 할 수 있습니다.

권장 시스템 데이터 세트를 사용하여 Python에서 행렬 분해를 구현하려면 Surprise와 같은 라이브러리를 사용하거나 SVD(Singular Value Decomposition)와 같은 기술을 사용하여 알고리즘을 직접 구현할 수 있습니다.

다음은 추천 시스템 데이터 세트 에서 행렬 분해를 구현하기 위해 서프라이즈 라이브러리를 사용하는 예입니다 .

import surprise
from surprise import Dataset
from surprise import Reader

# Load the ratings data into a pandas DataFrame
ratings_df = pd.read_csv('ratings.csv')

# Convert the ratings data into a Surprise-compatible format
reader = Reader(rating_scale=(1, 5))
data = Dataset.load_from_df(ratings_df[['userId', 'movieId', 'rating']], reader)

# Split the data into training and test sets
trainset, testset = surprise.model_selection.train_test_split(data, test_size=0.2)

# Train a matrix factorization model using the SVD algorithm
algo = surprise.SVD()
algo.fit(trainset)

# Use the model to make predictions on the test set
predictions = algo.test(testset)

# Calculate the RMSE of the model
accuracy = surprise.accuracy.rmse(predictions)
print(f'RMSE: {accuracy:.4f}')

# Make a prediction for a specific user and item
user_id = 1
item_id = 300
prediction = algo.predict(user_id, item_id)
print(f'Prediction for user {user_id} and item {item_id}: {prediction.est:.4f}')

추천 시스템의 제한 및 윤리적 고려 사항:

소셜 딜레마 (아직 보지 않았다면 추천합니다) :)

추천 시스템의 주요 한계 중 하나는 기존 편향을 강화하고 에코 챔버를 생성할 수 있는 가능성입니다. 추천 시스템을 훈련하는 데 사용되는 데이터가 어떤 식으로든 편향되거나 균형이 맞지 않으면 시스템이 만드는 추천도 편향될 수 있습니다. 예를 들어, 추천 시스템이 주로 남성 사용자의 평가로 구성된 데이터에 대해 교육을 받는 경우 남성 사용자에게 더 매력적인 콘텐츠를 추천하고 여성 사용자에게는 덜 매력적인 콘텐츠를 추천할 수 있습니다. 이것은 사용자가 이미 좋아했던 것과 유사한 콘텐츠에만 노출되는 피드백 루프를 만들 수 있으며, 이는 사람들이 기존 신념과 의견을 확인하는 콘텐츠에만 노출되는 "에코 챔버" 생성으로 이어질 수 있습니다.

이러한 문제를 해결하려면 추천 시스템을 교육하는 데 사용되는 데이터의 잠재적 편향을 고려하고 이를 완화하기 위한 조치를 취하는 것이 중요합니다. 여기에는 데이터가 사용자의 다양한 관심사와 선호도를 대표하도록 데이터의 균형을 맞추거나 시스템에서 만든 권장 사항이 특정 사용자 그룹에 대해 편향되지 않도록 하기 위해 공정 대표 학습과 같은 기술을 사용하는 것이 포함될 수 있습니다.

추천 시스템과 관련하여 또 다른 윤리적 고려 사항은 투명성과 책임의 중요성입니다. 사용자는 추천 시스템이 어떻게 결정을 내리고 제공된 추천을 이해하고 영향을 미칠 수 있는지 알고 있어야 합니다. 여기에는 추천 시스템이 추천을 만들기 위해 사용하는 기준에 대한 정보를 사용자에게 제공하고 추천을 맞춤화하거나 제공된 추천에 대한 피드백을 제공하는 기능이 포함될 수 있습니다.

미래:

추천 시스템의 미래는 윤리적 고려와 투명성에 대한 지속적인 초점뿐만 아니라 새로운 기술과 접근 방식의 조합을 포함할 가능성이 높습니다.

특히 중요할 것 같은 연구 영역 중 하나는 추천을 위한 딥 러닝 기술의 사용입니다. 인공 신경망을 기반으로 하는 딥 러닝 알고리즘은 데이터의 복잡한 패턴을 학습하고 이러한 패턴을 기반으로 보다 정확한 추천을 할 수 있는 능력을 가지고 있습니다. 딥 러닝 기술을 사용함으로써 추천 시스템은 각 사용자의 고유한 특성과 선호도에 맞는 보다 개인화된 추천을 할 수 있습니다.

또 다른 초점 영역은 권장 사항에 그래프 기반 접근 방식을 사용하는 것입니다. 그래프 기반 추천 시스템은 상호 연결된 노드(예: 사용자, 항목 또는 태그)의 네트워크를 사용하여 서로 다른 엔터티 간의 관계를 나타내고 이러한 관계를 기반으로 추천합니다. 이러한 시스템은 사용자의 소셜 네트워크와 관련된 항목을 추천하거나 다른 사용자 간의 연결을 기반으로 추천하는 데 특히 유용할 수 있습니다.

이러한 기술 발전 외에도 윤리적 고려 사항을 해결하고 추천 시스템의 투명성을 높이는 데 지속적으로 초점을 맞출 것입니다. 여기에는 추천이 공정하고 편견이 없도록 보장하는 새로운 접근 방식을 개발하는 것뿐만 아니라 추천 시스템이 어떻게 결정을 내리는지에 대한 자세한 정보를 사용자에게 제공하고 그들이 받는 추천에 대해 더 많은 통제권을 부여하는 것이 포함될 수 있습니다.

전반적으로 추천 시스템의 미래는 기술 혁신과 윤리적 고려에 대한 지속적인 초점의 조합을 포함할 가능성이 높습니다. 이러한 시스템이 일상 생활에서 점점 더 중요한 역할을 계속 수행하기 때문입니다.

결론:

추천 시스템은 우리가 즐길 수 있는 새로운 제품, 콘텐츠 또는 서비스를 찾는 데 도움이 되는 알고리즘입니다. 이 강력한 도구는 우리의 과거 행동과 선호도에 대한 데이터를 사용하여 미래에 우리가 무엇을 좋아할지 예측합니다. 추천 시스템은 매우 유용할 수 있지만 기존 편향을 강화하고 "에코 챔버"를 만들 가능성과 같은 제한 사항과 윤리적 고려 사항도 있습니다. 추천 시스템이 일상 생활에서 계속 중요한 역할을 함에 따라 이러한 문제를 고려하고 효과적이고 공정하며 윤리적으로 책임 있는 시스템 개발을 위해 노력하는 것이 중요합니다. 미래에는 딥 러닝 및 그래프 기반 접근 방식의 사용을 포함하여 이 분야에서 연구 개발을 위한 많은 흥미진진한 기회가 있을 것입니다.

자원:

페이스북의 EdgeRank

모바일 장치의 실시간 짧은 비디오 추천” by Kuaishou Inc .

충돌 없는 임베딩 테이블을 사용한 실시간 추천 시스템” by Bytedance Inc .

서프라이즈 문서

Yuanzhe Peng의 빅 데이터 기반 현대 추천 시스템에 대한 설문 조사 .