在线计算网 · 发布于 2025-03-03 17:54:03 · 已经有15人使用
在机器学习和人工智能领域,激活函数和代价函数是两个至关重要的概念。它们在模型的训练和优化过程中扮演着关键角色。本文将详细介绍这两者的定义、作用及常见类型,并通过示例帮助读者深入理解。
激活函数是神经网络中用于引入非线性特性的函数,它决定了神经元是否被激活,从而影响模型的输出。
Sigmoid函数 $$ \sigma(x) = \frac{1}{1 + e^{-x}} $$ Sigmoid函数的输出范围在(0, 1)之间,常用于二分类问题。
ReLU函数 $$ f(x) = \max(0, x) $$ ReLU函数简单且计算效率高,常用于深度学习中。
Tanh函数 $$ \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} $$ Tanh函数的输出范围在(-1, 1)之间,适用于处理归一化数据。
import numpy as np
## Sigmoid函数
def sigmoid(x):
return 1 / (1 + np.exp(-x))
## ReLU函数
def relu(x):
return np.maximum(0, x)
## Tanh函数
def tanh(x):
return np.tanh(x)
x = np.array([-2, -1, 0, 1, 2])
print("Sigmoid:", sigmoid(x))
print("ReLU:", relu(x))
print("Tanh:", tanh(x))
代价函数(损失函数)用于衡量模型预测值与真实值之间的差异,是模型优化的目标。
均方误差(MSE) $$ MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 $$ MSE适用于回归问题。
交叉熵损失(Cross-Entropy Loss) $$ CE = -\frac{1}{n} \sum_{i=1}^{n} [y_i \log(\hat{y}_i) + (1 - y_i) \log(1 - \hat{y}_i)] $$ 交叉熵损失常用于分类问题。
import numpy as np
## 均方误差
def mse(y_true, y_pred):
return np.mean((y_true - y_pred) ** 2)
## 交叉熵损失
def cross_entropy(y_true, y_pred):
return -np.mean(y_true * np.log(y_pred) + (1 - y_true) * np.log(1 - y_pred))
y_true = np.array([1, 0, 1, 1, 0])
y_pred = np.array([0.9, 0.1, 0.8, 0.7, 0.2])
print("MSE:", mse(y_true, y_pred))
print("Cross-Entropy:", cross_entropy(y_true, y_pred))
激活函数和代价函数是机器学习和人工智能中的核心概念,理解并掌握它们对于构建高效模型至关重要。希望通过本文的介绍和示例,读者能够更好地应用这些知识,提升编程技能和解决实际问题的能力。
深度学习入门
机器学习基础
1479次Python Web开发教程:掌握表单字段类型,提升编程实战能力
1437次精影RX 5500 XT 8G电源推荐:如何选择合适的瓦数
1390次JMeter性能测试教程:详解HTTP信息头管理器
1201次技嘉GeForce GTX 1660 SUPER MINI ITX OC 6G参数详解:小巧强芯,游戏利器
1169次深入理解Go Web开发:URI与URL的区别与应用
1139次JavaScript函数参数详解:掌握前端编程核心技巧
1020次七彩虹战斧RTX 3060 Ti豪华版LHR显卡参数详解:性能强悍,性价比之王
590359次四川话女声语音合成助手
104990次生辰八字计算器
73208次4x4四阶矩阵行列式计算器
67027次情侣恋爱日期天数计算器
62972次各种金属材料重量在线计算器
54996次分贝在线计算器
51473次任意N次方计算器
49798次经纬度分秒格式在线转换为十进制
49596次卡方检验P值在线计算器
43010次三角函数计算器