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

二元交叉熵损失函数

深度学习中的二元分类损失函数通常采用二元交叉熵(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}")
相关推荐
轻微的风格艾丝凡9 分钟前
嵌入式定时器计时技巧:用有符号数省略溢出判断的底层逻辑与实践
数据库·算法·dsp开发·嵌入式软件
No0d1es15 分钟前
2025年12月 GESP CCF编程能力等级认证C++四级真题
算法·青少年编程·等级考试·gesp·ccf
用户83562907805123 分钟前
用Python轻松管理Word页脚:批量处理与多节文档技巧
后端·python
CodeByV33 分钟前
【算法题】快排
算法
进击的松鼠34 分钟前
LangChain 实战 | 快速搭建 Python 开发环境
python·langchain·llm
一起努力啊~35 分钟前
算法刷题--长度最小的子数组
开发语言·数据结构·算法·leetcode
rchmin39 分钟前
限流算法:令牌桶与漏桶详解
算法·限流
小北方城市网40 分钟前
第1课:架构设计核心认知|从0建立架构思维(架构系列入门课)
大数据·网络·数据结构·python·架构·数据库架构
leoufung1 小时前
LeetCode 221:Maximal Square 动态规划详解
算法·leetcode·动态规划
黑符石1 小时前
【论文研读】Madgwick 姿态滤波算法报告总结
人工智能·算法·机器学习·imu·惯性动捕·madgwick·姿态滤波