2013-06-11 3 views
9

나는 나와 함께 약 4000 개의 블로그 게시물을 가지고있다. 모든 소식을 다음 값에 따라 순위 지정하고 싶습니다.순위 알고리즘

Upvote Count => P 
Comments Recieved => C 
Share Count => S 
Created time in Epoch => E 
Follower Count of Category which post belongs to => F (one post has one category) 
User Weight => U (User with most number of post have biggest weight) 

의사 코드로 답변을 기다리고 있습니다.

+0

너무 광범위하게 투표를 마감합니다. –

답변

19

문제는 regression (link) 범주에 해당합니다. 기계 학습 용어로는 features (link) (질문에 나열한)의 컬렉션이 있고 점수 값이 주어지면 으로 예측됩니다.

Ted Hopp이 제안한 것은 기본적으로 linear predictor function (link)입니다. 시나리오에 너무 단순한 모델 일 수도 있습니다.

logistic regression (link)을 사용하는 것이 좋습니다. 사용 방법은 다음과 같습니다.

1. 생성 모델 학습 데이터 세트

무작위로 그것은 당신이 편안하게 손이 m 블로그 게시물을 통해 볼 수있는 작은만큼 설정해야합니다 4000 당신의 세트에서 일부 m 블로그 게시물을 선택합니다.

블로그 게시물 m 개 각각에 대해 0에서 1까지의 숫자로 "좋은"점수를 부여하십시오. 도움이된다면 0, 0.25, 0.5, 0.75, 1 값으로 0, 1, 2, 3, 4 "별"을 사용하는 것으로 생각할 수 있습니다.

이제 블로그에는 각각 일련의 기능과 점수가있는 블로그 게시물 m 개가 있습니다.

"Upvote Count", "Comments Recieved", "Share Count"및 "Follower Count"의 로그를 포함 할 수 있도록 예를 들어 파생 된 기능을 포함하도록 기능을 확장 할 수 있습니다. "now"와 "Created Time"사이의 시간의 로그를 포함 할 수 있습니다.

2.

은 모델 학습 데이터 집합을 맞는 로지스틱 회귀 모델을 찾기 위해 모델

를 사용하여 그라데이션 하강을 배웁니다. 모델 집합 학습 과정에서 해당 단계를 수행 할 수 있도록 훈련, 유효화테스트 집합으로 데이터 집합을 분할해야합니다.

인터넷에 세부 정보가 가득하며 처리가 완료되었으므로이 섹션에서는 더 이상 설명하지 않겠습니다.

위키 백과 링크 :

3. 적용 모델

이 로지스틱 회귀 모델을 배운, 당신은 지금의 점수를 예측하기 위해 적용 할 수 있습니다 "좋은"새로운 블로그 게시물은 얼마나! 간단히 일련의 피쳐 (및 파생 피쳐)를 계산 한 다음 모델을 사용하여 이러한 피쳐를 점수에 매핑합니다.

다시 인터넷에는이 섹션에 대한 자세한 내용이 있습니다.이 섹션은 미리 준비된 프로세스입니다.


질문이 있으시면 언제든지 문의하십시오.

기계 학습에 대해 자세히 알아 보려면 the free online Stanford Machine Learning course on Coursera.org을 고려해야합니다. (저는 Stanford 또는 Coursera와 제휴하지 않았습니다.)

+0

나는이 모델이 과잉이라고 실제로 느낀다. Ted가 제안한 바에 따르면 각 요소/기능이 얼마나 중요한지 파악하고 점수를 계산하려고합니다. 이 대답은 1 단계에서 수행 할 작업과 정확히 일치합니다. 관련성이 높은 기능에 일부 가중치를 지정하지 않고도 합리적이고 일관성있게 교육 세트에서 블로그 게시물에 등급을 어떻게 지정합니까? 이제 명시 적으로 가중치를 할당 한 다음 문제가 이미 해결 된 경우 회귀 알고리즘을 사용하여 순위를 "예측"하는 이유는 무엇입니까? – Gmu

+1

@Gmu 레스토랑에서 식사를하고, 영화를보고, 책을 읽은 후, 0에서 5 별까지 전체적인 경험을 평가할 수 있습니까? 식당을 평가할 때 "지방 함량", "탄수화물 함량", "서버 친화감"등과 같은 매우 낮은 수준의 기능에 대해 의식적으로 평점을 매기고이를 의식적으로 결정한 가중치와 결합합니까? 아마도 그렇지 않습니다. 그러나 레스토랑을 "합리적이고 일관되게"(어느 정도까지) 평가할 수 있습니다. 명확한 설명을 주신 덕분에 –

+0

그래서 그것은 당신의 마음이 무의식적으로 할당하고있는 잠재 된 가중치를 이끌어 내고 있습니다. 정 성적 응답/점수의 일관성을 가정하여 정량적으로 정량화합니다. – Gmu

9

각 블로그 게시물에 대한 개별 점수의 가중 평균을 제안합니다. 각 값의 상대적 중요성과 가치 척도의 차이를 모두 반영하는 가중치를 지정하십시오 (예 : E은 다른 값과 비교하여 매우 큰 숫자가됩니다). 그런 다음 계산하십시오 :

rank = wP * P + wC * C + wS * S + wE * E + wF * F + wU * U; 

각 값의 상대적인 중요성 또는 순위와 관련하여 값의 의미에 관한 정보를 제공하지 않습니다. 따라서이 문제에 대해 더 구체적으로 설명하는 것은 불가능합니다. (이전 생성 시간이 게시물을 순위에서 위로 또는 아래로 밀어 넣을 경우 wE은 음수 여야합니다.)

관련 문제