机器学习——边角料
来源:互联网 发布:ubuntu安装perl模块 编辑:程序博客网 时间:2024/06/04 18:24
算法设计的一大原则
sigmoid型函数
注意一点,在神经网络引入sigmoid型函数的目的是避免,对权重一个微小的改变可能对输出带来的显著的改变,这一情况的发生(以此我们来进行微调)。
何谓向量化一个函数(vectorizing a function )
也即是将函数作用于向量中的每一个元素得到的输出再组合成一个向量。举例说明:
其中
sigmoid型函数
。
def sigmoid(z):
return 1/(1+np.exp(-z))
# 此时sigmoid接收的是一个向量,sigmoid(z)的做法正是一种vectorize 的做法
a = sigmoid(w.dot(a)+b)
单层神经网络的增广(augmentation)形式
z=w1x1+w2x2+…+wdxdϕ(z)={0ifz≤θ1ifz>θ 为了形式的简单和统一,可将上式转换如下形式:
z′===−θ+w1x1+w2x2+…+wdxdw0x0+w1x1+…+wdxdwTx 也即是:
⎛⎝⎜⎜⎜⎜x1x2⋮xd⎞⎠⎟⎟⎟⎟d⇒⎛⎝⎜⎜⎜⎜⎜⎜⎜x0x1x2⋮xd⎞⎠⎟⎟⎟⎟⎟⎟⎟d+1 ⎛⎝⎜⎜⎜⎜w1w2⋮wd⎞⎠⎟⎟⎟⎟d⇒⎛⎝⎜⎜⎜⎜w0w1⋮wd⎞⎠⎟⎟⎟⎟d+1 ϕ(z′)={0ifz′≤θ1ifz′>θ 转换后的形式是原来形式的增广形式,即分别对特征向量
x 和权值向量做一维的增广,w0=−θ,x0=1 neuron单输出还是多输出?
答案是单输出(single output)
通常我们看到的关于多层感知机(perceptron)网络的图示如上图。然而,这样的图有一种“迷惑性的”一点是,对于每一个神经元节点(neuron)而言,它们都是多输入和单输出,虽然从一个神经元出来的箭头指向下一层的每一个节点,其实输出的每一个值都是相等的,这样做只是出于一个直观的需要。人工神经元从perceptron到sigmoid neuron
引入sigmoid neuron(
S
型神经元)的目的是避免对权值(w1,…,wd )或者偏置(bias,w0 )的小幅修改可能对最终的输出造成的比较大的变化,比如分类问题中,将-1
判断为1
,手写识别例子中将8
错分为9
。z=wTxσ(z)=11+e−z σ(⋅) 实现了原始输入(−∞,∞) 向(0,1) 的映射(map),实现了一种值域的收缩,也可实现降低输入(weigts、bias)的小幅修改对输出可能造成的影响,如此我们可放心地调整参数,实现更优的结果,而不会出现,因输入的变化可能造成的结果的跳变。
0 0
- 机器学习——边角料
- Linux 边角料(一)—— ./ 的含义
- 机器学习—介绍
- 机器学习—决策树
- 机器学习—KNN
- 机器学习—初见
- 周志华 — 机器学习
- 机器学习—学习笔记
- 【机器学习】Dlib——机器学习库学习系列
- C++边角料
- [Mitchell 机器学习读书笔记]——机器学习基本概念
- 【机器学习】机器学习(二)——线性回归
- 机器学习笔记(一)——机器学习基础
- 机器学习实战——第一章:机器学习基础
- 机器学习——Mac下机器学习python配置
- 《机器学习实战》笔记一——机器学习基础
- 机器学习系列02——机器学习基础
- 机器学习之——认识机器学习
- 《算法竞赛入门经典2ndEdition 》例题3-3 回文词(Palindromes, Uva401)
- 【C#/算法】RGB、HSV、HSL颜色模型的互相转换
- Android第三方开源水面波浪波形view:WaveView(电量、能量、容量指示)
- 网站开发进阶(二十)JS中window.alert()与alert()的区别
- Java中获取键盘输入值的三种方法
- 机器学习——边角料
- STM32之SysTick学习
- 内存对齐规则
- 黑马程序员——集合知识概括(上)
- 多线程 同步synchronized、通信wait、notify
- Android之支付宝设计与开发
- 修改Hadoop源码的搜索技巧
- Bmob文档阅读2-数据及其操作
- 自定义导航控制器