老哥稳
点赞 评论

相关推荐

头像
不愿透露姓名的神秘牛友
04-09 11:35
点赞 评论 收藏
转发
头像
04-23 11:00
已编辑
重庆大学 计算机类
#实习##蚂蚁##算法#电话面试,光速下班。答出来的不说了。两个没答出来的。1)设计损失函数,让第一大的预测结果和第二大的预测结果差值最大化    直接回答的loss加一个-(first - second),似乎不被接受。请教了一下AI,它提出了一些可能的方法:    penalty = torch.clamp(margin - (first - second ) contrast_loss = 1 / (first - second + 1e-6) => 距离度量形式进行了改编 rank_loss = F.relu(margin-(first - second)) => 基于ReLU的设计,和1差不多        2)KMEANS聚类的时候,如果先验的已知某些结点不是一类,应该怎么做    step1:对于这个策略,我们可以手动选择聚类中心,确保已知的不应属于同一类的点(例如点A, B, C)从一开始就被分配到不同的聚类中。初始的簇中心点一定满足要求。    step2:执行KMEANS常规的聚类过程。并且检查特定点是否在同一聚类:    每次迭代后,查看点A、B、C的聚类标签。如果发现任何两个(或三个)点属于同一个聚类,那么进入下一步。    step3:重新分配点到其他聚类:为了重新分配,首先计算这些点到所有其他聚类中心的距离。选择一个距离第二近的聚类中心(或根据具体情况选择最合适的),将其中一个或多个点分配到该聚类。    step4:更新聚类中心:在调整了聚类分配后,重新计算所有聚类的中心,以最小化整体的代价函数。这通常意味着要重新计算每个聚类中所有点的平均位置作为新的聚类中心。    重复迭代:step234:继续执行K-means迭代,直到满足收敛条件,即聚类中心的变动非常小或达到预设的迭代次数。沉默太久了,真的折磨,不是我能去的公司,太菜。现在回想,其实也不是太难的问题。可能是太紧张了吧。放平心态继续前行
点赞 评论 收藏
转发
牛客网
牛客企业服务