当前位置: 首页 > news >正文

网站风格设计视觉高端网站建设的价格

网站风格设计视觉,高端网站建设的价格,网站动画用什么程序做,做美容行业的网站哪个好新手村#xff1a;逻辑回归04#xff1a;熵是什么? 熵是什么? 前置条件 在开始学习逻辑回归中的熵理论之前#xff0c;需要掌握以下基础知识#xff1a; 概率论与统计学#xff1a; 概率分布#xff08;如伯努利分布、正态分布#xff09;。条件概率和贝叶斯定理。期…新手村逻辑回归04熵是什么? 熵是什么? 前置条件 在开始学习逻辑回归中的熵理论之前需要掌握以下基础知识 概率论与统计学 概率分布如伯努利分布、正态分布。条件概率和贝叶斯定理。期望值和方差的基本概念。 线性代数 向量和矩阵的基本运算。线性组合的概念。 微积分 导数和偏导数的计算。极值问题和梯度下降的基本思想。 机器学习基础 分类与回归的区别。基本的监督学习模型如线性回归。 Python编程 熟悉NumPy和Pandas库的基本操作。基本的Matplotlib可视化技能。 章节内容概述重要知识点通俗解释知识点评分1-5第1章熵的基本概念介绍熵的定义及其在信息论中的意义。- 熵的数学定义- 香农熵- 联合熵与条件熵熵可以理解为“不确定性”的量化信息越多不确定性越低。5核心概念第2章交叉熵与对数损失函数讲解交叉熵的定义及其在分类任务中的作用。- 交叉熵公式- 对数损失函数- 最大似然估计交叉熵衡量预测分布与真实分布的距离类似于“误差”。5核心概念第3章逻辑回归与熵的关系将熵理论应用于逻辑回归模型。- Sigmoid函数- 逻辑回归的目标函数- 损失函数优化逻辑回归通过最小化交叉熵来找到最佳参数从而降低分类误差。5核心概念第4章梯度下降与参数优化学习如何通过梯度下降优化逻辑回归模型的参数。- 梯度下降算法- 学习率选择- 收敛性分析梯度下降像是“找最低点”每一步都朝着减少误差的方向前进。4重要但不核心第5章教学示例与代码实现使用一个具体的数据集进行逻辑回归建模。- 数据预处理- 特征工程- 模型训练与评估从数据到模型的完整流程帮助理解理论与实践的结合。4重要但不核心第6章后续练习题与进阶学习提供练习题并规划下一阶段的学习内容。- 练习题类型- 进阶资源推荐- 下一阶段目标通过练习巩固知识并为更复杂的模型打下基础。3辅助内容 第1章熵的基本概念 ⭐️⭐️⭐️ 1.1 熵的数学定义 熵是信息论中的一个重要概念用于衡量随机变量的不确定性。 假设随机变量 X X X 的概率分布为 P ( X x i ) p i P(X x_i) p_i P(Xxi​)pi​则熵 H ( X ) H(X) H(X) 定义为 H ( X ) − ∑ i p i ln ⁡ ( p i ) H(X) -\sum_{i} p_i \ln(p_i) H(X)−i∑​pi​ln(pi​) 其中 p i p_i pi​ 是事件 x i x_i xi​ 发生的概率 ln ⁡ \ln ln 表示以2为底的对数。 示例字符串 example_string 123123124351512431234123414321368969867898706785874674 通俗解释 想象你正在猜一个骰子的结果。如果骰子是公平的每个面的概率都是 1 / 6 1/6 1/6那么不确定性最高如果骰子被做了手脚比如某一面的概率接近1那么不确定性最低。熵就是用来量化这种不确定性的指标。 1.2 ⭐️香农熵 香农熵是熵的一种形式专门用于描述离散随机变量的信息量。 例如对于二分类问题如是否购买手机伯努利分布的熵为 H ( p ) − p log ⁡ 2 ( p ) − ( 1 − p ) log ⁡ 2 ( 1 − p ) H(p) -p \log_2(p) - (1-p) \log_2(1-p) H(p)−plog2​(p)−(1−p)log2​(1−p) 其中 p p p 是事件发生的概率。 通俗解释 假设你正在预测一个人是否会点击某个广告。如果点击的概率是0.5完全随机那么不确定性最大如果点击的概率接近0或1几乎确定那么不确定性最小。 1.3 联合熵与条件熵 联合熵 H ( X , Y ) H(X, Y) H(X,Y) 衡量两个随机变量 X X X 和 Y Y Y 的联合不确定性 H ( X , Y ) − ∑ x , y P ( x , y ) log ⁡ 2 ( P ( x , y ) ) H(X, Y) -\sum_{x,y} P(x, y) \log_2(P(x, y)) H(X,Y)−x,y∑​P(x,y)log2​(P(x,y)) 条件熵 H ( Y ∣ X ) H(Y|X) H(Y∣X) 衡量在已知 X X X 的情况下 Y Y Y 的剩余不确定性 H ( Y ∣ X ) − ∑ x , y P ( x , y ) log ⁡ 2 ( P ( y ∣ x ) ) H(Y|X) -\sum_{x,y} P(x, y) \log_2(P(y|x)) H(Y∣X)−x,y∑​P(x,y)log2​(P(y∣x)) 通俗解释 联合熵就像是两个人一起猜谜语时的总不确定性而条件熵则是当你知道一部分答案后剩下的不确定性。 ⭐️⭐️⭐️第2章交叉熵与对数损失函数 2.1 交叉熵公式 交叉熵衡量两个概率分布之间的差异。假设真实分布为 P P P预测分布为 Q Q Q则交叉熵 H ( P , Q ) H(P, Q) H(P,Q) 定义为 H ( P , Q ) − ∑ i P ( i ) log ⁡ ( Q ( i ) ) H(P, Q) -\sum_{i} P(i) \log(Q(i)) H(P,Q)−i∑​P(i)log(Q(i)) 通俗解释 交叉熵可以看作是“预测错误的成本”。如果你的预测分布越接近真实分布交叉熵就越小反之预测分布偏离真实分布越多交叉熵就越大。 2.2 对数损失函数 在逻辑回归中对数损失函数是对交叉熵的具体应用。对于二分类问题对数损失函数为 L ( w ) − 1 N ∑ i 1 N [ y i log ⁡ ( y ^ i ) ( 1 − y i ) log ⁡ ( 1 − y ^ i ) ] L(w) -\frac{1}{N} \sum_{i1}^N [y_i \log(\hat{y}_i) (1-y_i) \log(1-\hat{y}_i)] L(w)−N1​i1∑N​[yi​log(y^​i​)(1−yi​)log(1−y^​i​)] 其中 y i y_i yi​ 是真实标签 y ^ i \hat{y}_i y^​i​ 是预测概率。 通俗解释 对数损失函数衡量的是模型预测的准确性。 如果预测概率 y ^ \hat{y} y^​接近真实标签如 y 1 y1 y1 且 y ^ 0.9 \hat{y}0.9 y^​0.9损失会很小如果预测概率 y ^ \hat{y} y^​远离真实标签如 y 1 y1 y1 且 y ^ 0.1 \hat{y}0.1 y^​0.1损失会很大。 ⭐️2.3 最大似然估计 新手村逻辑回归-理解03逻辑回归中的最大似然函数 逻辑回归通过最大化似然函数等价于最小化交叉熵来优化参数。似然函数 L ( w ) L(w) L(w) 定义为 L ( w ) ∏ i 1 N P ( y i ∣ x i ; w , b ) L(w) \prod_{i1}^N P(y_i|x_i; w,b) L(w)i1∏N​P(yi​∣xi​;w,b) 取对数后得到对数似然函数 log ⁡ L ( w ) ∑ i 1 N [ y i log ⁡ ( y ^ i ) ( 1 − y i ) log ⁡ ( 1 − y ^ i ) ] \log L(w) \sum_{i1}^N [y_i \log(\hat{y}_i) (1-y_i) \log(1-\hat{y}_i)] logL(w)i1∑N​[yi​log(y^​i​)(1−yi​)log(1−y^​i​)] 通俗解释 最大似然估计的目标是找到一组参数使得模型预测的概率分布最接近真实分布。 ⭐️第3章逻辑回归与熵的关系 3.1 Sigmoid函数 Sigmoid函数将线性组合 z w ⋅ x b z w \cdot x b zw⋅xb 映射到概率空间 σ ( z ) 1 1 e − z \sigma(z) \frac{1}{1 e^{-z}} σ(z)1e−z1​ 通俗解释 Sigmoid函数就像一个“压缩器”把任何实数压缩到0到1之间方便解释为概率。 #####⭐️⭐️ 3.2 逻辑回归的目标函数 逻辑回归的目标是最小化对数损失函数即最大化似然函数。通过梯度下降法不断调整参数 w w w 和 b b b使预测概率 y ^ \hat{y} y^​ 更接近真实标签 y y y。 通俗解释 逻辑回归的核心思想是通过调整模型参数让预测结果尽可能准确同时用交叉熵来衡量预测的误差。 第4章梯度下降与参数优化 4.1 梯度下降算法 梯度下降是一种迭代优化算法用于最小化损失函数。更新规则为 w : w − η ⋅ ∂ L ∂ w w : w - \eta \cdot \frac{\partial L}{\partial w} w:w−η⋅∂w∂L​ 其中 η \eta η 是学习率。 通俗解释 梯度下降就像是沿着山坡向下走每次迈出一步直到找到最低点。 4.2 学习率选择 学习率 η \eta η 决定了每次更新的步长。如果学习率过大可能会错过最优解如果过小收敛速度会很慢。 通俗解释 学习率就像是走路的步伐大小太大容易踩空太小走得太慢。 第5章教学示例与代码实现 教学示例 假设我们有一个简单的数据集包含学生的考试成绩和是否被录取的信息。我们将使用逻辑回归预测学生是否会被录取。 import numpy as np from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score# 数据集 data {Exam1: [45, 78, 65, 89, 90],Exam2: [52, 89, 70, 95, 85],Admitted: [0, 1, 0, 1, 1] }# 数据预处理 X np.array([[data[Exam1][i], data[Exam2][i]] for i in range(len(data[Exam1]))]) y np.array(data[Admitted])# 划分训练集和测试集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)# 训练逻辑回归模型 model LogisticRegression() model.fit(X_train, y_train)# 预测 y_pred model.predict(X_test)# 评估 accuracy accuracy_score(y_test, y_pred) print(fAccuracy: {accuracy})第6章后续练习题与进阶学习 练习题 使用自定义的梯度下降算法实现逻辑回归。修改上述代码尝试添加多项式特征。讨论为什么逻辑回归不能直接用于多分类问题。 进阶学习内容 支持向量机SVM。决策树与随机森林。神经网络与深度学习。 术语与术语解释 术语解释熵衡量随机变量不确定性的指标。交叉熵衡量两个概率分布之间的差异。对数损失函数在分类任务中常用的损失函数基于交叉熵。Sigmoid函数将任意实数映射到[0,1]区间的函数用于概率估计。梯度下降一种优化算法用于最小化损失函数。 总结陈述 逻辑回归中的熵理论是机器学习的重要基础之一。通过学习熵、交叉熵以及它们在逻辑回归中的应用你可以更好地理解分类模型的工作原理。建议按照上述计划逐步深入学习并通过代码实践巩固理论知识。 代码 香农熵 import numpy as np import matplotlib.pyplot as plt# 计算香农熵的函数 def shannon_entropy(p):if p 0 or p 1:return 0else:return - (p * np.log2(p) (1-p) * np.log2(1-p))# 定义概率范围从0到1 probabilities np.linspace(0, 1, 400) entropies [shannon_entropy(p) for p in probabilities]# 绘制香农熵随概率变化的曲线 plt.figure(figsize(8, 6)) plt.plot(probabilities, entropies, label香农熵) plt.title(香农熵与事件发生概率的关系) plt.xlabel(事件发生概率 (p)) plt.ylabel(熵) plt.grid(True) plt.legend() plt.show()联合熵和条件熵 import numpy as np import matplotlib.pyplot as plt# 定义联合概率分布P(x, y) joint_prob np.array([[0.1, 0.2], [0.3, 0.4]])# 计算边缘概率P(x)和P(y) marginal_X joint_prob.sum(axis1) # P(x), 按列求和 marginal_Y joint_prob.sum(axis0) # P(y), 按行求和# 计算条件概率P(y|x) conditional_prob_Y_given_X joint_prob / marginal_X[:, None] # P(y|x)# 联合熵H(X, Y) def joint_entropy(joint_prob):non_zero_probs joint_prob[joint_prob 0] # 过滤掉零概率项return -np.sum(non_zero_probs * np.log2(non_zero_probs)) # 条件熵H(Y|X) def conditional_entropy(joint_prob, marginal_X):cond_ent 0for i in range(joint_prob.shape[0]): # 遍历每个xpx marginal_X[i]if px 0:py_given_x joint_prob[i] / px # P(y|x)non_zero_py_given_x py_given_x[py_given_x 0] # 过滤掉零概率项cond_ent - px * np.sum(non_zero_py_given_x * np.log2(non_zero_py_given_x))return cond_ent# 计算联合熵和条件熵 h_xy joint_entropy(joint_prob) h_y_given_x conditional_entropy(joint_prob, marginal_X)# 打印结果 print(f联合熵 H(X, Y): {h_xy:.4f}) print(f条件熵 H(Y|X): {h_y_given_x:.4f})# 可视化联合概率分布和条件概率分布 fig, axes plt.subplots(1, 2, figsize(12, 5))# 绘制联合概率分布热力图 im axes[0].imshow(joint_prob, cmapBlues, interpolationnearest) axes[0].set_title(联合概率分布 P(x, y)) axes[0].set_xlabel(Y) axes[0].set_ylabel(X) for (i, j), val in np.ndenumerate(joint_prob):axes[0].text(j, i, f{val:.2f}, hacenter, vacenter, colorblack, fontsize12) fig.colorbar(im, axaxes[0])# 绘制条件概率分布条形图 bar_width 0.35 indices np.arange(len(marginal_X)) bars [] for i in range(joint_prob.shape[1]):bar axes[1].bar(indices i * bar_width, conditional_prob_Y_given_X[:, i], bar_width, labelfP(y{i}|x))bars.append(bar) axes[1].set_title(条件概率分布 P(y|x)) axes[1].set_xticks(indices bar_width / 2) axes[1].set_xticklabels([fx{i} for i in indices]) axes[1].legend()plt.tight_layout() plt.show() 交叉熵 import numpy as np import matplotlib.pyplot as plt# 定义交叉熵函数 def cross_entropy(P, Q):计算交叉熵 H(P, Q):param P: 真实分布 (list 或 numpy array):param Q: 预测分布 (list 或 numpy array):return: 交叉熵值P np.array(P)Q np.array(Q)# 过滤掉Q中的零概率项以避免log(0)错误Q_nonzero_mask Q 0return -np.sum(P[Q_nonzero_mask] * np.log2(Q[Q_nonzero_mask]))# 示例的真实分布P P [0.5, 0.3, 0.2]# 构造一系列不同的预测分布Q并计算对应的交叉熵 q1_values np.linspace(0.01, 0.98, 100) # 第一个分量q1从0.01到0.98 entropy_values []for q1 in q1_values:q2 (1 - q1) * 0.6 # 剩余概率按固定比例分配给q2和q3q3 (1 - q1) * 0.4Q [q1, q2, q3]entropy_values.append(cross_entropy(P, Q))# 找到最小交叉熵及其对应的Q min_index np.argmin(entropy_values) optimal_q1 q1_values[min_index] optimal_Q [optimal_q1, (1 - optimal_q1) * 0.6, (1 - optimal_q1) * 0.4] min_cross_entropy entropy_values[min_index]# 输出最优解 print(f最小交叉熵: {min_cross_entropy:.4f}) print(f对应的最优预测分布 Q: {optimal_Q})# 可视化交叉熵随q1变化的趋势 plt.figure(figsize(10, 6)) plt.plot(q1_values, entropy_values, label交叉熵, colorblue) plt.scatter(optimal_q1, min_cross_entropy, colorred, labelf最小交叉熵 ({min_cross_entropy:.4f}), zorder5) plt.axvline(xoptimal_q1, colorgray, linestyle--, linewidth1)plt.title(交叉熵随预测分布的第一个分量 $q_1$ 的变化, fontsize16) plt.xlabel($q_1$, fontsize14) plt.ylabel(交叉熵值, fontsize14) plt.grid(True) plt.legend(fontsize12) plt.tight_layout() plt.show()场景设定 假设我们有一个真实分布 P [ 0.5 , 0.3 , 0.2 ] P [0.5, 0.3, 0.2] P[0.5,0.3,0.2]代表某个事件发生的三种可能性的概率。接着我们尝试使用不同的预测分布 Q Q Q 来逼近 P P P并通过计算交叉熵来评估预测的准确性。 我们将逐步调整 Q Q Q的值并观察交叉熵如何变化。为了简化问题这里只调整 Q Q Q的第一个分量 q 1 q_1 q1​其他分量按比例分配剩余概率。 代码解析 交叉熵公式 函数 cross_entropy 根据公式 H ( P , Q ) − ∑ i P ( i ) log ⁡ 2 ( Q ( i ) ) H(P, Q) -\sum_i P(i) \log_2(Q(i)) H(P,Q)−∑i​P(i)log2​(Q(i))实现。使用掩码过滤掉 Q Q Q 中的所有零概率项以避免出现 log ⁡ ( 0 ) \log(0) log(0)错误。 构造预测分布 我们让 Q Q Q的第一个分量 q 1 q_1 q1​ 在区间 [ 0.01 , 0.98 ] [0.01, 0.98] [0.01,0.98] 内变化。其他两个分量 q 2 q_2 q2​ 和 q 3 q_3 q3​ 按照固定的比值分配剩余概率 q 2 0.6 × ( 1 − q 1 ) q_2 0.6 \times (1-q_1) q2​0.6×(1−q1​) q 3 0.4 × ( 1 − q 1 ) q_3 0.4 \times (1-q_1) q3​0.4×(1−q1​)。 寻找最优解 记录每个 q 1 q_1 q1​对应的交叉熵值并找出使交叉熵最小化的 q 1 q_1 q1​值。最优预测分布 Q Q Q应该接近真实分布 P P P。
http://www.zqtcl.cn/news/316815/

相关文章:

  • 淮安企业网站制作校园网网络规划与设计方案
  • html完整网站开发自媒体平台账号注册
  • 厦门seo网站网站空间 群集
  • 青岛网站推广方案营销自动化平台
  • 管理信息系统与网站建设有什么区别python版wordpress
  • 济南市建设行政主管部门网站公众号登录入口官网
  • 深圳苏州企业网站建设服务企业做网站需要什么条件
  • 电脑什么网站可以做长图攻略公众号 微网站开发
  • 网站核检单怎么用小皮创建网站
  • 企业网站托管平台有哪些烟台高新区建设局网站
  • 石家庄网站做网站和县网页定制
  • 网站个人备案和企业备案潍坊公司注册网站
  • 建个网站的流程互联网裁员
  • 设置网站模板汉口网站建设公司
  • 网站对一个关键词做排名怎么做网站建设 图纸网
  • 什么网站比较吸引流量网页设计代码td
  • 克隆网站怎么做后台wordpress网站缩
  • 仁怀哪儿做网站泰安市建设局
  • 做网站和编程有关系吗手机怎么做电子书下载网站
  • 网站做关键词排名网站快速排名的方法
  • 有网站模板如何预览泉州app开发
  • 网站自助建站系统重庆皇华建设集团有限公司网站
  • 云速成美站做网站好吗汕头制作网站
  • 搜狗搜索网站提交入口在哪里做卖车网站
  • 河南省百城建设提质网站新人怎么做电商
  • 建设机械网站制作创建个人网站教案
  • 无锡网站推广装修风格大全2023新款
  • 在线设计logo免费网站如何在网站上添加qq
  • 高端网站建设哪里好网站建设与管理案例教程
  • 云南专业网站建设上海百度移动关键词排名优化