首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Logistic回归Usecase

Logistic回归Usecase
EN

Stack Overflow用户
提问于 2015-11-10 10:32:23
回答 1查看 184关注 0票数 0

问题:给出了特定用户观看的电影列表,计算了他观看任何特定电影的概率。

方法:,这似乎是一个典型的逻辑回归用例(如果我错了,请纠正我)

初始Logistic回归代码(如果有问题请更正):

代码语言:javascript
复制
def sigmoid(x):
    return (1/(1+math.exp(-x)))

def gradientDescentLogistic(x, y, theta, alpha, m, numIterations):
    xTrans = x.transpose()
    for i in range(0, numIterations):
        hypothesis = sigmoid(np.dot(x, theta))
        loss = hypothesis - y 
        # The ONLY difference between linear and logistic is the definition of hypothesis
        gradient = np.dot(xTrans, loss) / m 
        theta = theta - alpha * gradient
    return theta

这里的参数可以是不同的演员,不同的类型,等等。我无法在上面的代码中找到如何适应这类参数

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-10 10:42:13

为什么它不是LR的用例?

我要说的是,这是,而不是,这是Logistic回归的典型用例。为什么?因为你只知道有人看了什么,你只有阳性样本,你不知道什么人没有看的决定。显然,如果我看电影{m1,m2,m3},那么我就没有看M{m1,m2,m3},其中M是人类历史上所有电影中的集合。但这不是一个好的假设。我没有看他们中的大多数,因为我不拥有他们,不知道他们,或只是还没有时间这样做。在这种情况下,您只能将建模为一类问题或一种密度估计(我确实假设您无法获得任何其他知识,然后是看过的电影列表,因此我们不能进行协作过滤或其他基于人群的分析)。

为什么不手工生成阴性样本呢?

显然,您可以从一些用户没有看到的数据库中随机选择电影,假设不喜欢看它。但这只是一个任意的,抽象的假设,你的模型将非常偏向这个过程。例如,如果您将所有的未见电影作为负样本,那么正确的模型将只在训练集中学习“是”,而对其余的则只说“否”。如果你随机抽样m电影,它只会学会区分你的口味与这些m电影。但他们可以代表任何东西!特别是一个人喜欢看喜欢看的电影。总之,您可以使用unjustifiable,可以这样做,老实说,它甚至可以在某些特定的应用程序中工作;但是从概率的角度来看,这并不是一种有效的方法,因为您是在模型的假设中构建的。

我怎么能接近这个?

那么,以概率方式,您能做些什么呢?例如,您可以将电影表示为数字特征(某些特征),因此在R^d (其中d是提取的特征数)空间中有一个点云。然后,您可以拟合任何分布,例如高斯分布(d很大的径向分布)、GMM或任何其他分布。这将为P(user will watch|x)提供一个清晰(易于理解和“维护”)模型。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33627952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档