【深度学习笔记】第 2 课:Logistic 多项式回归法
"""Softmax."""
scores = [3.0, 1.0, 0.2] import numpy as np def softmax(x):
"""Compute softmax values for x."""
#pass # TODO:Compute and return softmax(x)
return np.exp(x) / np.sum(np.exp(x), axis=0) #print(softmax(scores))
print (softmax(scores*10))
#print (softmax(scores / 10))
softmax模型可以用来给不同的对象分配概率。即使在之后,我们训练更加精细的模型时,最后一步也需要用softmax来分配概率。
cross-entropy 交叉熵是度量这两个向量距离的方法之一。我们将记它为D以表示距离。 labels标签向量经过了one-hot编码,所以会有很多的零,因而它不能作为对数的真数。
对于分布变量,它是由softmax方法计算得到的概率值。所以它总是会大于0, 也就是它可以被放在真数上。
对于一个给定的输入 通过一个线性模型,它将被转变为一个logit分数。这个运算很简单,即输入乘上一个矩阵w再加上一个偏置项b
接着 使用softmax方法,我们可以将logits分数转化成概率值,接着我们通过交叉熵的方法计算概率向量与经过one-hot编码的标签向量的距离
我们称这整个过程为Logistic 多项式回归法
好了,现在我们对问题的各个方面有了一个大致的了解,这门课的任务 是教我们该如何确定权重项w和偏置项b的值
以使我们的分类器能够完成我们所期望的工作。
也就是说 要使之对正确分类距离要足够小 对错误分类的距离足够大
可以选择通过这样的方式衡量,求出对所有训练集样本和所有类别的距离之和,也就是求出训练罚函数(That's called the training loss.)
这个函数 求出了对于所有训练集样本的交叉熵的均值,是一个非常庞大的函数。
训练集中的每个样本 都将被乘上这个巨大的W矩阵,并且他们都将被加起来,得到这个巨大的求和。
我们希望每一个距离值都很小,也就是说分类器能够 对训练集中的每个样本都能很好的分类,因而我们希望这个罚函数值很小。
罚函数是一个关于权重项w和偏差项b的函数,那么我们如何求罚函数的最小值
作为演示 考察某罚函数 只有两个自变量,我们记为w1和w2。该函数的值在某些区域很大,在另一些区域很小。
我们的目标 是去寻找使得罚函数值最小的权重值w,因而我们将一个机器学习问题 转化为了一个数值优化问题
而我们有许多的方法来解决这个数值优化的问题
最简单的方法之一 也许你可能遇到过 是梯度下降法(gradient descent)
对罚函数的每一个变量求偏导数,并将每个变量值加上该偏导数值,直到你达到全局最小值
梯度下降法相对而言比较简单,特别是你能够帮你高效求出偏导数的数值工具的时候,这个只是演示了一个二元函数的偏导数求算过程,但对于一个一般的问题
我们可能面对的是一个有成百上千参数的函数。
在接下来的课程中 我们将会讨论为你计算导数的工具,和梯度下降的一些优点和缺点,目前,我们将会假设我给你的优化程序是一个黑盒子,你可以简单的使用
最后有两个实用的东西阻挡在你训练模型的路上,第一个是你怎么把图像像素填充到分类器,第二个是在哪里初始化最优化过程
【深度学习笔记】第 2 课:Logistic 多项式回归法的更多相关文章
- Google TensorFlow深度学习笔记
Google Deep Learning Notes Google 深度学习笔记 由于谷歌机器学习教程更新太慢,所以一边学习Deep Learning教程,经常总结是个好习惯,笔记目录奉上. Gith ...
- 深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)
深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam) 深度学习笔记(一):logistic分类 深度学习笔记(二):简单神经网络,后向传播算法及实现 ...
- UFLDL深度学习笔记 (二)SoftMax 回归(矩阵化推导)
UFLDL深度学习笔记 (二)Softmax 回归 本文为学习"UFLDL Softmax回归"的笔记与代码实现,文中略过了对代价函数求偏导的过程,本篇笔记主要补充求偏导步骤的详细 ...
- UFLDL深度学习笔记 (一)反向传播与稀疏自编码
UFLDL深度学习笔记 (一)基本知识与稀疏自编码 前言 近来正在系统研究一下深度学习,作为新入门者,为了更好地理解.交流,准备把学习过程总结记录下来.最开始的规划是先学习理论推导:然后学习一两种开源 ...
- UFLDL深度学习笔记 (七)拓扑稀疏编码与矩阵化
UFLDL深度学习笔记 (七)拓扑稀疏编码与矩阵化 主要思路 前面几篇所讲的都是围绕神经网络展开的,一个标志就是激活函数非线性:在前人的研究中,也存在线性激活函数的稀疏编码,该方法试图直接学习数据的特 ...
- UFLDL深度学习笔记 (六)卷积神经网络
UFLDL深度学习笔记 (六)卷积神经网络 1. 主要思路 "UFLDL 卷积神经网络"主要讲解了对大尺寸图像应用前面所讨论神经网络学习的方法,其中的变化有两条,第一,对大尺寸图像 ...
- UFLDL深度学习笔记 (五)自编码线性解码器
UFLDL深度学习笔记 (五)自编码线性解码器 1. 基本问题 在第一篇 UFLDL深度学习笔记 (一)基本知识与稀疏自编码中讨论了激活函数为\(sigmoid\)函数的系数自编码网络,本文要讨论&q ...
- UFLDL深度学习笔记 (四)用于分类的深度网络
UFLDL深度学习笔记 (四)用于分类的深度网络 1. 主要思路 本文要讨论的"UFLDL 建立分类用深度网络"基本原理基于前2节的softmax回归和 无监督特征学习,区别在于使 ...
- UFLDL深度学习笔记 (三)无监督特征学习
UFLDL深度学习笔记 (三)无监督特征学习 1. 主题思路 "UFLDL 无监督特征学习"本节全称为自我学习与无监督特征学习,和前一节softmax回归很类似,所以本篇笔记会比较 ...
随机推荐
- 问题-CHM文件不显示
原问题:http://bbs.csdn.net/topics/370230310 问题描述: http://download.csdn.net/download/wybneu/3582721 我从这个 ...
- Redis 管道pipeline
Redis是一个cs模式的tcp server,使用和http类似的请求响应协议. 一个client可以通过一个socket连接发起多个请求命令. 每个请求命令发出后client通常会阻塞并等待red ...
- SpringMVC优雅的获取HttpSevletRequest及HttpServletResponse简录
https://cloud.tencent.com/developer/article/1403947 通常情况下,SpringMVC可以通过入参的方式绑定HttpServletRequest和Htt ...
- Puppetnginx 架构图
Puppetnginx 架构图 优点 *性能:nginx因为精简,运行起来非常快速,许多人声称它的比pound更高效.*日志,调试:在这两个方面,nginx比pound更简洁.*灵活性:nginx的处 ...
- Acwing-278-数字组合(背包)
链接: https://www.acwing.com/problem/content/280/ 题意: 给定N个正整数A1,A2,-,AN,从中选出若干个数,使它们的和为M,求有多少种选择方案. 思路 ...
- Python CGI编程Ⅶ
简单的表单实例:GET方法 以下是一个通过HTML的表单使用GET方法向服务器发送两个数据,提交的服务器脚本同样是hello_get.py文件,hello_get.html 代码如下: 默认情况下 c ...
- 28. ClustrixDB 分布式架构/评估模型
本节描述如何在数据库中计算查询.在ClustrixDB中,我们跨节点切片数据,然后将查询发送到数据.这是数据库的基本原则之一,它允许随着添加更多节点而几乎线性地扩展. 有关如何分布数据的概念,请参阅数 ...
- mysql 查询奇偶数
1.特殊字符处理 1.1 奇数 &1 select bi.file_type FILE_TYPE, bi.file_batchid FILE_BATCHID, bi.file_path FIL ...
- C语言写数据库(二)
简单的实现增删查改的操作后,实现了一个先读写其中一个表的某两项内容,再把相关字符段写入到另外一张表中去.涉及到查询和插入两个步骤. 其中还涉及到汉字的读写和插入,会有字符的操作产生乱码.所以要先保证m ...
- Link Script 学习
最后更新 2019-06-27 概述 当使用 C 或者 C++ 编写代码实现某种功能时,需要将源代码进行编译以及链接.链接是将一系列目标文件(.o)以及归档文件(.a)组合起来,重新定位各个文件数据并 ...