DataScience:深入探讨与分析机器学习中的数据处理之非线性变换—log对数变换、sigmoid/softmax变换

DataScience:深入探讨与分析机器学习中的数据处理之非线性变换—log对数变换、sigmoid/softmax变换

目录

深入探讨与分析机器学习中的数据处理之非线性变换

log对数变换

sigmoid/softmax变换

Sigmoid函数

Softmax函数


扫描二维码关注公众号,回复: 10013962 查看本文章

相关文章
DataScience:深入探讨与分析机器学习中的数据处理之线性变换—标准化standardization、归一化Normalization/比例化Scaling的区别与联系
DataScience:深入探讨与分析机器学习中的数据处理之非线性变换—log对数变换、sigmoid/softmax变换

深入探讨与分析机器学习中的数据处理之非线性变换

log对数变换

         如果a(a>0,且a≠1)的b次幂等于N,即ab=N,那么数b叫做以a为底N的对数,记作logaN=b(其中a叫做对数的底数,N叫做真数),这就是对数变换。

sigmoid/softmax变换

参考文章:DL之AF:机器学习/深度学习中常用的激活函数(sigmoid、softmax等)简介、应用、计算图实现、代码实现详细攻略

Sigmoid函数

       Sigmoid函数是一个在生物学中常见的S型函数,也称为S型生长曲线。 [1]  在信息科学中,由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络激活函数,将变量映射到0,1之间。

  • 优点:平滑、易于求导。
  • 缺点:激活函数计算量大,反向传播求误差梯度时,求导涉及除法;反向传播时,很容易就会出现梯度消失的情况,从而无法完成深层网络的训练。
  •  

Softmax函数

       在数学,尤其是概率论和相关领域中,归一化指数函数,或称Softmax函数,是逻辑函数的一种推广。它能将一个含任意实数的K维向量z“压缩”到另一个K维实向量σ(z)中,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1。该函数多于多分类问题中。

import math
 
z = [1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0]
 
z_exp = [math.exp(i) for i in z]  
 
print(z_exp)  # Result: [2.72, 7.39, 20.09, 54.6, 2.72, 7.39, 20.09] 
 
sum_z_exp = sum(z_exp)  
print(sum_z_exp)  # Result: 114.98 
# Result: [0.024, 0.064, 0.175, 0.475, 0.024, 0.064, 0.175]
 
softmax = [round(i / sum_z_exp, 3) for i in z_exp]
print(softmax)  
发布了1638 篇原创文章 · 获赞 6863 · 访问量 1303万+

猜你喜欢

转载自blog.csdn.net/qq_41185868/article/details/104965966