机器学习二元分类 & 二元交叉熵 & 二元分类例子

二元交叉熵损失函数

深度学习中的二元分类损失函数通常采用二元交叉熵(Binary Cross-Entropy)作为损失函数。

二元交叉熵损失函数的基本公式是:

cpp 复制代码
L(y, y_pred) = -y * log(y_pred) - (1 - y) * log(1 - y_pred)

其中,y是真实标签,y_pred是模型预测的概率。

二元交叉熵的原理

cpp 复制代码
当预测错误时:如y_pred=1, y=0 和 y_pred=0,y=1. 
则二元交叉熵损失函数结果为正无穷大。

二元分类代码例子

python 复制代码
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
# 加载数据集
data = load_breast_cancer()
X = data.data
y = data.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建模型
model = LogisticRegression()
# 定义损失函数
loss_fn = lambda y_true, y_pred: -y_true * log(y_pred) - (1 - y_true) * log(1 - y_pred)
# 训练模型
for epoch in range(100):  # 假设我们进行100轮训练
    # 前向传播
    y_pred = model.predict(X_train)
    loss = loss_fn(y_train, y_pred)
    
    # 反向传播
    model.update(X_train, y_train)
    
    # 输出训练进度
    if (epoch+1) % 10 == 0:
        print(f"Epoch {epoch+1}/{100}, Loss: {loss}")
相关推荐
逻辑君12 分钟前
认知神经科学研究报告【20260111】
人工智能·深度学习·机器学习·量子计算
三川69841 分钟前
Tkinter库的学习记录08- 容器控件
python
海石42 分钟前
单调栈复健,顺便,牺牲一下吧,空间复杂度!一切献给AC
算法·leetcode
海石43 分钟前
JS击败94%,Hard题想不到动态规划,那就用数组和栈试试
算法·leetcode
c_lb72881 小时前
近期AI量化工具选择,学习开发执行要分开
人工智能·python
天天进步20151 小时前
Python全栈项目--校园食堂点餐与推荐系统
开发语言·python
Ulyanov1 小时前
雷达导引头体制演进、技术特点与数学模型
python·雷达电子对抗·导引头
eybk1 小时前
写一个可以编制pdf文件的python程序
开发语言·python·pdf
卷无止境1 小时前
从Python的cryptography库出发,从零开始理解密码学,到构建零信任网络
后端·python
YFJ_mily1 小时前
**Python 实战:写一个论文 PDF 投稿自检工具|附 IPAT 2026 智能光子学会议征稿信息
人工智能·python·pdf·量子计算·论文投稿·智能光子学