题解 | Log Softmax函数的实现

Log Softmax函数的实现

https://www.nowcoder.com/practice/a8a0934f25f04c7e97d64d3e1b77219a

from functools import total_ordering
import numpy as np

def log_softmax(scores: list) -> np.ndarray:
    scores=np.array(scores)
    max_score=np.max(scores)
    sum_scores=np.sum(np.exp(scores-max_score))
    log_scores=np.log(sum_scores)
    ans=scores-max_score-log_scores
    return ans
if __name__ == "__main__":
    scores = eval(input())
    print(log_softmax(scores))

推导公式如下:

原始公式

加上max数值更加稳定的解法:

主要用了一个数值稳定性的解法,以及用np库将列表转化为数组计算更加便捷。

#刷AI算法的第二天

全部评论

相关推荐

LXXXXd:有点杂,想搞自动化的话没必要把法律的经历写上去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务