特征函数

机器学习03-线性回归

二次信任 提交于 2019-11-28 08:35:01
文章目录 1. 问题背景 2. 数据表示 2.1. 特征向量 2.2. 特征矩阵 2.3. 样本标记 3. 模型 4. 训练 4.1. 损失函数和代价函数 4.2. 优化目标 4.3. 梯度下降 5. 正规方程 6. 波士顿房价求解 7. 参考 1. 问题背景 波士顿房价 数据集包含506条波士顿的城镇信息,每一条城镇信息都包含了14个属性的值,希望从该数据集找到城镇 房价中位数 与其它13属性之间存在的关系或规律,使得给出波士顿的一个城镇的前13个属性的值,就能够预测出该城镇的房价中位数。 这是一个典型的可以用 线性回归 (linear regression)算法解决的问题。线性回归算法是一种回归算法,属于监督学习算法,它使用的数据集既有特征又有标记,样本标记和预测结果都是连续值。 2. 数据表示 2.1. 特征向量 使用用特征向量表示数据集中的一个样本,一个样本的特征向量包含了该样本所有特征(feature)的值,但不包含需要预测的那一个属性的值: x ( i ) = ( x 1 ( i ) x 2 ( i ) ⋮ x n ( i ) ) \boldsymbol{{x}^{(i)}} = \begin{pmatrix} x_{1}^{(i)} \\ x_{2}^{(i)} \\ \vdots \\ x_{n}^{(i)} \end{pmatrix} x ( i ) = ⎝ ⎜

传统推荐算法(五)LR+GBDT(1)剑指GBDT

大城市里の小女人 提交于 2019-11-28 05:55:27
文章目录 写在前面 1. GBM 1.1 从参数空间到函数空间: 1.2 从非参估计到参数估计 1.3 泰勒展开近似 2. GBM的基学习器 2.1 基学习器选择 2.2 CART回归树 3. GBDT之回归 4. GBDT之分类 4.1 二类逻辑回归和分类 4.2 多类逻辑回归和分类 5. 反思总结 5.1 样本权重调整 5.2 GBDT优缺点 6. GBDT资料推荐 参考 公众号 写在前面 学习GBDT的时候,被网上的几篇文章搞晕了,就去看了下GBDT的论文,整理了一些思路,结合参考中的一些内容,整理了这篇文章。本文将循序渐进,从GB,DT讲到GBDT,细致分析下GBDT的原理。本人才疏学浅,有些地方可能理解得不对,欢迎指出错误。学习过程中,薛大佬的这篇文章给了我很多启发:http://xtf615.com/paper/GBM.html。他本人也很热心地帮我解答疑问,在此特别感谢。 机器学习中的 Boosting 算法族有两大类,一类是 weight_boosting,其中以 adaboost 为主要代表,另一类是 gradient_boosting,其中以 gbdt 为主要代表[1]。GBDT是机器学习竞赛中常用的一种算法,据统计,Kaggle比赛中50%以上的冠军方案都是基于GBDT算法[2]。有人称之为机器学习TOP3算法。 1999年,Jerome Harold

yolov1-yolov3原理

断了今生、忘了曾经 提交于 2019-11-28 01:26:09
YOLOv3原理 YOLO发展概述 2015 年,R-CNN 横空出世,目标检测 DL 世代大幕拉开。 各路豪杰快速迭代,陆续有了 SPP,fast,faster 版本,至 R-FCN,速度与精度齐飞,区域推荐类网络大放异彩。 奈何,未达实时检测之,难获工业应用之青睐。 此时,凭速度之长,网格类检测异军突起,先有 YOLO,继而 SSD,更是摘实时检测之桂冠,与区域推荐类二分天下。然却时遭世人诟病。 遂有 JR 一鼓作气,并 coco,推 v2,增加输出类别,成就 9000。此后一年,作者隐遁江湖,逍遥 twitter。偶获灵感,终推 v3,横扫武林! YOLO不断吸收同化对手,进化自己,提升战斗力:YOLOv1 吸收了 SSD 的长处(加了 BN 层,扩大输入维度,使用了 Anchor,训练的时候数据增强),进化到了 YOLOv2; 吸收 DSSD 和 FPN 的长处,仿 ResNet 的 Darknet-53,仿 SqueezeNet 的纵横交叉网络,又进化到 YOLO 第三形态。 但是,我相信这一定不是最终形态。让我们拭目以待吧! YOLO v1~v3的设计历程 Yolov1 这是继RCNN,fast-RCNN和faster-RCNN之后,rbg(RossGirshick)针对DL目标检测速度问题提出的另外一种框架。YOLO V1其增强版本GPU中能跑45fps

CNN原理

萝らか妹 提交于 2019-11-28 01:07:34
卷积神经网络(Convolutional Neural Network)的结构类似于神经网络,可以看做是对其的改进。它利用 局部连接 、 权值共享 、 多核卷积 、 池化 四个手段大大降低了参数的数目,使得网络的层数可以变得更深,并且能够合理的隐式的提取特征。CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。由于其特征检测层通过训练数据进行学习,隐式地从训练数据中进行学习, 避免了显式的特征抽取 ;再者由于同一特征映射面上的神经元权值相同,所以 网络可以并行学习 ,这也是卷积网络相对于神经元彼此相连网络的一大优势。卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是 多维输入向量的图像 可以直接输入网络 这一特点避免了特征提取和分类过程中数据重建的复杂度它可以直接处理灰度图片,能够直接用于处理基于图像的分类。 卷积神经网络是一种带有卷积结构的深度神经网络,卷积结构可以减少深层网络占用的内存量。卷积神经网络的结构组成如下图: 其中包含有: 输入层、 卷积层 (Convolutional Layer)、 激励层 (ReLU layer) 池化层 (下采样层Pooling Layer)、 全连接层 (Fully Connected Network) 输出层 卷积神经网络层、池化层

Python Scikit-learn ---- SVM算法

允我心安 提交于 2019-11-27 21:13:24
支持向量机(SVM)是一组用于分类、回归和异常值检测的有监督学习方法。 SVMs: LinearSVC, Linear SVR, SVC, Nu-SVC, SVR, Nu-SVR, OneClassSVM 支持向量机的优点是: 高维空间中的有效性。 在维数大于样本数的情况下仍然有效。 在决策函数中使用训练点的子集(称为支持向量),因此它也是内存有效的。 多功能:可以为决策函数指定不同的内核函数。提供了常见核函数,但也可以自定义核函数。 支持向量机的缺点包括: 如果特征数远大于样本数,通过选择核函数和正则项避免过拟合是至关重要的。 支持向量机不直接提供概率估计,这些计算使用计算量大的的5折-交叉验证。 最简单分类超平面,1维:x=0,2维:x1+x2=0 当θTXi与 θTX值大于1时,也就是距离分类边界大于1,此时无损,损失为1 - ||θTXi - θTX||,下限为0无上限。 import time import numpy as np import scipy.io as scio import pandas as pd from numpy import newaxis #from pylab import * #包含了NumPy和pyplot常用的函数 from sklearn.cluster import KMeans from sklearn import svm

神经网络理论知识

China☆狼群 提交于 2019-11-27 15:25:33
感知器: 一个感知器有如下组成部分: 输入权值 ——一个感知器可以接收多个输入(x1,x2,…xn),每个输入上有一个权值wi,此外还有一个偏置项b,就是上图中的w0。 激活函数 ——感知器的激活函数可以有很多选择 输出 ——感知器的输出由某个公式来计算 事实上,感知器不仅仅能实现简单的布尔运算。它可以拟合任何的线性函数,任何线性分类或线性回归问题都可以用感知器来解决。前面的布尔运算可以看作是二分类问题,即给定一个输入,输出0(属于分类0)或1(属于分类1)。然而,感知器却不能实现异或运算。 感知器的训练 训练感知器对于多层感知器的监督式训练最常见的深度学习算法是反向传播。基本的过程是 :   1、将训练样本通过神经网络进行前向传播计算。   2、计算输出误差,通常用均方差:   其中 t 是目标值,y是实际的神经网络输出。其它的误差计算方法也可以,但MSE(均方差)通常是一种比较好的选择。   3.网络误差通过随机梯度下降法来最小化。 前面的权重项和偏置项的值是如何获得的呢? 这就要用到感知器训练算法:将权重项和偏置项初始化为0,然后,利用下面的感知器规则迭代的修改wi和b,直到训练完成。 其中: wi是与输入xi对应的权重项,b是偏置项。事实上,可以把b看作是值永远为1的输入xb所对应的权重。t是训练样本的实际值,一般称之为label。而y是感知器的输出值,它是根据公式(1

《机器学习实战》9.2树回归之树剪枝(tree pruning)

情到浓时终转凉″ 提交于 2019-11-27 13:40:25
《机器学习实战》9.2树回归之树剪枝(tree pruning) 搜索微信公众号:‘AI-ming3526’或者’计算机视觉这件小事’ 获取更多人工智能、机器学习干货 csdn:https://blog.csdn.net/baidu_31657889/ github:https://github.com/aimi-cn/AILearners 本文出现的所有代码,均可在github上下载,不妨来个Star把谢谢~: Github代码地址 一、引言 本篇文章将会根据上节的回归树的构建过程是否得当来引入的剪枝(tree pruning)技术。 二、树剪枝 一棵树如果结点过多,表明该模型可能对数据进行了“过拟合”。 通过降低树的复杂度来避免过拟合的过程称为剪枝(pruning)。上小节我们也已经提到,设置tolS和tolN就是一种预剪枝操作。另一种形式的剪枝需要使用测试集和训练集,称作后剪枝(postpruning)。本节将分析后剪枝的有效性,但首先来看一下预剪枝的不足之处。 2.1 预剪枝 预剪枝有一定的局限性,比如我们现在使用一个新的数据集。 数据集下载地址: 数据集下载 用上节的代码绘制数据集看一下: 可以看到,对于这个数据集与我们使用的第一个数据集很相似,但是区别在于y的数量级差100倍,数据分布相似,因此构建出的树应该也是只有两个叶结点

几种网络LeNet、VGG Net、ResNet原理及PyTorch实现

早过忘川 提交于 2019-11-27 12:30:24
LeNet比较经典,就从LeNet开始,其PyTorch实现比较简单,通过LeNet为基础引出下面的VGG-Net和ResNet。 LeNet LeNet比较经典的一张图如下图 LeNet-5共有7层,不包含输入,每层都包含可训练参数;每个层有多个Feature Map,每个FeatureMap通过一种卷积滤波器提取输入的一种特征,然后每个FeatureMap有多个神经元。 1.INPUT层-输入层 输入图像的尺寸统一归一化为: 32 x 32。 2.C1层 卷积层 输入图片:32 x 32 卷积核大小:5 x 5 卷积核种类:6 输出featuremap大小:28 x 28 (32-5+1)=28 神经元数量:28 x 28 x 6 可训练参数:(5 x 5+1) x 6(每个滤波器5 x 5=25个unit参数和一个bias参数,一共6个滤波器) 连接数:(5 x 5+1) x 6 x 28 x 28=122304 3.S2层 池化层(下采样层) 输入:28 x 28 采样区域:2 x 2 采样方式:4个输入相加,乘以一个可训练参数,再加上一个可训练偏置。结果通过sigmoid 采样种类:6 输出featureMap大小:14 x14(28/2) 神经元数量:14 x 14 x 6 可训练参数:2 x 6(和的权+偏置) 连接数:(2 x 2+1) x 6 x 14 x 14

机器学习算法

旧城冷巷雨未停 提交于 2019-11-27 10:19:00
文章目录 一 监督学习 1 classification分类 (1) Binary Decision Tree(BDT)二分决策树 (2) Naive Bayesian Classifier朴素贝叶斯分类器 (3) Neural Network(NN)神经网络 (4)Convolution NN(CNN)卷积神经网络 (5)Deep Belief Networks(DBN)深度信念网络 (6)Recurrent NN(RNN)深度循环神经网络 2 regression回归 (1)LinearRegression线性回归: (2)树回归: 二 强化学习 1 Q-learning 2 Deep Q Networks 3 Double Q-learning 4 Prioritized experience replay 三 无监督学习 1 Dimensionality Reduction降维 (1)Stacked Auto-Encoders(SAE)栈式自编码 (2)Local Linear Embedding局部线性嵌入 2 Clustering聚类 (1)聚类算法简介 (2)聚类算法分类 (3)KMeans算法 (4)层次聚类(hierarchical clustering) (5) DBSCAN(基于密度的聚类算法) 3 Density Estimation密度估计 一 监督学习

8.最佳电影聚类分析

拈花ヽ惹草 提交于 2019-11-27 08:17:41
8.最佳电影聚类分析 将使用电影简介作为原始数据,将总共 100 部流行电影进行聚类分析。IMDb 也称为互联网电影数据库(www.imdb.com),是一个在线的数据库,它提供有关电影、电子游戏和电视节目的大量详细信息。它聚集了电影和电视节目的评论以及简介,并有几个精选影片清单。原始数据地址 https://www.imdb.com/list/ls055592025/ 上获取名为 “100部最佳影片(中级清单),可在 https://github.com/brandomr/document_cluster 处进行下载。 解析并清洗了数据,并作为原始数据中缺少简介的几部电影添加了影片介绍。这些简介和电影描述来自维基百科。数据解析完成后,将它们存储在数据框中,并将其保存至 movie_data.csv 文件中: $ wget https: //mirror .shileizcc.com /wiki_Resources/python/text_analysis/movie_data .csv 将在聚类分析中加载并使用该文件中的数据,首先,需要加载并查看电影数据的内容,如下代码所示: import pandas as pd import numpy as np movie_data = pd.read_csv( 'movie_data.csv' ) print (movie_data