【深度学习笔记】第 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回归很类似,所以本篇笔记会比较 ...
随机推荐
- python3之selenium.webdriver 库练习自动化谷歌浏览器打开百度自动百度关键字
import os,time,threading from selenium import webdriver from selenium.webdriver.common.keys import K ...
- 细数meta标签的奥秘
因为看到了一个很不错的h5自适应网站,觉得很不错,于是好奇心作祟,让我翻开了它的源码一探究竟,最先研究的是它的meta标签,好了,废话不多说,以下是我总结的和比较实用的meta标签,如有错误,请多多指 ...
- k8spod生命周期
pod对象自从创建开始至终止退出的时间范围称为生命周期,在这段时间中,pod会处于多种不同的状态,并执行一些操作:其中,创建主容器为必须的操作,其他可选的操作还包括运行初始化容器(init conta ...
- grunt-contrib-concat 合并任意文件
grunt-contrib-concat可用于合并任意文件(css\js\txt等) 安装插件:npm install grunt-contrib-concat --save-dev 参数: sepa ...
- pymysql操作数据库、索引、慢日志管理
目录 pymysql操作数据库 简单操作 sql的注入问题 sql注入问题解决办法 sql注入问题模板总结 利用pymysql操作数据库 (增删改),conn.commit() 索引 1.为何要有索引 ...
- zabbix监控Nginx模板
前提条件: nginx模块安装了http_stub_status_module和nginx_upstream_check_module: 在nginx的配置文件中配置上: location /stat ...
- 使用es6新增Set函数快速数组去重
使用new Set()快速数组去重: let arr = [1, 2, 2, 3, 4, 5, 5, 5, 6] let set = new Set([...arr]) console.log([.. ...
- itertools模块、排列、组合、算法
关于列表重组的python小题 题目一:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例:输入: nums = ...
- selenium实现chrome分屏截图的合并
selenium的截图功能在chrome下无法实现,但是可以操作滚动条来一屏一屏的截图,然后再合并成一张图,合并图片的代码在网上找的,十分感谢那位朋友,具体解决方案如下:直接上代码: def capt ...
- [LOJ3046][ZJOI2019]语言:树链的并+线段树合并
分析 问题显然可以转化为对于每个节点询问所有这个节点的所有链的链并的大小. 考场上我直接通过树剖打标记+树剖线段树维护以\(O(n \log^3 n)\)的时间复杂度暴力实现了这个过程.(使用LCT或 ...