【TensorFlow】—— 使用TensorFlow实现逻辑回归

交叉熵损失函数

交叉熵刻画的是实际输出(概率)与期望输出(概率)的距离,也就是交叉熵的值越小,两个概率分布就越接近。

假设概率分布p为期望输出,概率分布q为实际输出,H(p,q)为交叉熵,则: H ( p , q ) = − ∑ x p ( x ) l o g   q ( x ) H(p, q) = -\displaystyle\sum_{x}p(x)log\,q(x) H(p,q)=xp(x)logq(x)


keras交叉熵

在keras里,使用 binary_ crossentropy 来计算二元交叉熵。


代码:

import tensorflow as tf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt


data = pd.read_csv("credit-a.csv", header=None)

data.iloc[:, -1].value_counts()

X = data.iloc[:, :-1]
y = data.iloc[:, -1].replace(-1, 0)

model = tf.keras.Sequential()

model.add(tf.keras.layers.Dense(4, input_shape=(15,), activation='relu')) # 隐藏层
model.add(tf.keras.layers.Dense(4, activation='relu')) # 隐藏层
model.add(tf.keras.layers.Dense(1, activation='sigmoid')) # 输出层

model.summary()

model.compile(optimizer='adam',
              loss='binary_crossentropy',
              metrics=['acc'])

history = model.fit(X, y, epochs=100)

history.history.keys()

plt.plot(history.epoch, history.history.get('loss'))
plt.plot(history.epoch, history.history.get('acc'))

Output:

损失函数图像:

准确率图像:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值