import库,加载mnist数据集. 设置学习率,迭代次数,batch并行计算数量,以及log显示. 这里设置了占位符,输入是batch * 784的矩阵,由于是并行计算,所以None实际上代表并行数.输出是10类,因为mnist数据集是手写数字0-9,所以分成10类是很正常的. W和b是变量. 第一行代码建立了一个softmax模型,意思是,将10类最后的输出结果再通过softmax函数换算一下,softmax函数如下: ,其实就是做了一次转换,让各个输出变成了概率,且概率之和等于1. 也要…
一 评价尺度 sklearn包含四种评价尺度 1 均方差(mean-squared-error) 2 平均绝对值误差(mean_absolute_error) 3 可释方差得分(explained_variance_score) 4 中值绝对误差(Median absolute error) 5 R2 决定系数(拟合优度) 模型越好:r2→1 模型越差:r2→0 二 逻辑斯蒂回归 1 概述 在逻辑斯蒂回归中,我们将会采用sigmoid函数作为激励函数,所以它被称为sigmoid回归或对数几率回归…
转载请注明:http://blog.csdn.net/xinzhangyanxiang/article/details/9113681 最近在看Ng的机器学习公开课,Ng的讲法循循善诱,感觉提高了不少.该系列视频共20个,每看完一个视频,我都要记录一些笔记,包括公式的推导,讲解时候的例子等.按照Ng的说法,公式要自己推理一遍才能理解的通透,我觉得自己能够总结出来,发到博客上,也能达到这个效果,希望有兴趣的同学要循序渐进,理解完一个算法再开始学另外一个算法,每个算法总结一遍,虽然看起来很慢,但却真…
一.感知机     详细参考:https://blog.csdn.net/wodeai1235/article/details/54755735 1.模型和图像: 2.数学定义推导和优化: 3.流程 二.线性回归      1.定义及解析解: a=(XTX) -1 XTy,如加2范数约束则解析解为a=(XTX+λI) -1 XTy     2.总结: 速度快,对异常值敏感.可以采用梯度下降法. 三.逻辑斯蒂回归 1.sigmod: 见 https://www.cnblogs.com/Esther…
原文链接:https://blog.csdn.net/gwplovekimi/article/details/80288964 本博文为逻辑斯特回归的学习笔记.由于仅仅是学习笔记,水平有限,还望广大读者朋友多多赐教. 假设现在有一些数据点,我们用一条直线对这些点进行拟合(该直线称为最佳拟合直线),这个拟合的过程就称为回归. 利用Logistic(逻辑斯蒂)回归是一个分类模型而不回归模型.其进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类.这里的“回归”一词源于最佳拟合,表…
  逻辑斯蒂回归 一.概念 逻辑斯蒂回归(logistic regression)是统计学习中的经典分类方法,属于对数线性模型.logistic回归的因变量可以是二分类的,也可以是多分类的.logistic回归的因变量可以是二分非线性差分方程类的,也可以是多分类的,但是二分类的更为常用,也更加容易解释.所以实际中最为常用的就是二分类的logistic回归. 二.logistic分布 设X是连续随机变量,X服从逻辑斯蒂分布是指X具有下列分布函数和密度函数:   分布函数和密度函数 式中,μ为位置参…
逻辑斯蒂回归 关注公众号"轻松学编程"了解更多. [关键词]Logistics函数,最大似然估计,梯度下降法 1.Logistics回归的原理 利用Logistics回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类.这里的"回归" 一词源于最佳拟合,表示要找到最佳拟合参数集. 训练分类器时的做法就是寻找最佳拟合参数,使用的是最优化算法.接下来介绍这个二值型输出分类器的数学原理. Logistic Regression和Linear Reg…
视频指导:https://www.bilibili.com/video/BV1Y7411d7Ys?p=6 一些数据集 在pytorch框架下,里面面有配套的数据集,pytorch里面有一个torchversion的包,他可以提供相应的,比如MNIST这种很基础的数据集,但是安装的时候这些数据集不会包含在包里面,所以需要下载,具体代码以及解释如下: import torchvision train_set = torchvision.datasets.MNIST(root= '../dataset…
逻辑回归名字比较古怪,看上去是回归,却是一个简单的二分类模型. 逻辑回归的模型是如下形式: 其中x是features,θ是feature的权重,σ是sigmoid函数.将θ0视为θ0*x0(x0取值为常量1),那么 这里我们取阈值为0.5,那么二分类的判别公式为: 下面说一下参数θ的求解: 为啥子这样去损失函数呢? 当y=1的时候,显然hθ(x)越接近1我们的预测越靠谱:y=0时同理.所以应该在y=1时,使损失韩式-log(hθ(x))越小越好,y=0时,同样使损失函数-log(1-hθ(x))…
声明: 1,本篇为个人对<2012.李航.统计学习方法.pdf>的学习总结,不得用作商用.欢迎转载,但请注明出处(即:本帖地址). 2,因为本人在学习初始时有非常多数学知识都已忘记.所以为了弄懂当中的内容查阅了非常多资料,所以里面应该会有引用其它帖子的小部分内容,假设原作者看到能够私信我,我会将您的帖子的地址付到以下. 3.假设有内容错误或不准确欢迎大家指正. 4.假设能帮到你,那真是太好了. IIS的推导过程 IIS是一种最大熵学习模型的最优化算法.其推导步骤例如以下: 目标是通过极大似然预…
LR 与SVM 不同 1.logistic regression适合需要得到一个分类概率的场景,SVM则没有分类概率 2.LR其实同样可以使用kernel,但是LR没有support vector在计算复杂度上会高出很多.如果样本量很大并且需要的是一个复杂模型,那么建议SVM 3. 如果样本比较少,模型又比较复杂.那么建议svm,它有一套比较好的解构风险最小化理论的保障,比如large margin和soft margin 相同 1. 由于hinge loss和entropy loss很接近,因…
# -*- coding:UTF-8 -*-import numpydef loadDataSet(): return dataMat,labelMat def sigmoid(inX): return 1.0/(1+numpy.exp(-inX)) def gradAscent(dataMatIn,classLabels): dataMatrix=numpy.mat(damaMatIn) labelMat=numpy.mat(classLabels).transpose() #上升梯度 alp…
1.直接上官方代码,调整过的,方可使用 package com.test import org.apache.spark.{SparkConf, SparkContext} import org.apache.spark.mllib.classification.{LogisticRegressionModel, LogisticRegressionWithLBFGS} import org.apache.spark.mllib.evaluation.MulticlassMetrics impo…
1.交叉熵 逻辑斯蒂回归这个模型采用的是交叉熵,通俗点理解交叉熵 推荐一篇文章讲的很清楚: https://www.zhihu.com/question/41252833 因此,交叉熵越低,这个策略就越好,最低的交叉熵也就是使用了真实分布所计算出来的信息熵,因为此时  ,交叉熵 = 信息熵.这也是为什么在机器学习中的分类算法中,我们总是最小化交叉熵,因为交叉熵越低,就证明由算法所产生的策略最接近最优策略,也间接证明我们算法所算出的非真实分布越接近真实分布 2.代码解释 import warnin…
前几天,有个同事看到我生成的一幅逻辑斯蒂分岔图像后,问我:“这是咪咪吗?”我回答:“淫者见淫.”好吧,这里将生成几种分岔映射图形,包括逻辑斯蒂映射系统,正弦映射系统和曼德勃罗映射系统.实际上这几种图形算不上分形,只不过它与我写的其他分形对象使用相同的基类,所以也将其列入混沌分形的范畴. 关于基类FractalEquation的定义及相关软件见:混沌与分形 (1)逻辑斯蒂映射系统 // 逻辑斯蒂映射系统 class LogisticMap : public FractalEquation { pu…
zaish上一节讲了线性回归中L2范数的应用,这里继续logistic回归L2范数的应用. 先说一下问题:有一堆二维数据点,这些点的标记有的是1,有的是0.我们的任务就是制作一个分界面区分出来这些点.如图(标记是1的样本用+表示,0的用红点表示): 这其实是一个二分类问题,然后我们就想到了logistic回归模型.这是一个概率模型, 即预测在x已知时,标记为1的概率:那么标记为0的概率为:. 那么分别根据每个样本的标记y是1还是0分别带入到每个概率模型(每个样本只带入一个模型,而不是两个都带入)…
第一节中说了,logistic 回归和线性回归的区别是:线性回归是根据样本X各个维度的Xi的线性叠加(线性叠加的权重系数wi就是模型的参数)来得到预测值的Y,然后最小化所有的样本预测值Y与真实值y'的误差来求得模型参数.我们看到这里的模型的值Y是样本X各个维度的Xi的线性叠加,是线性的. Y=WX (假设W>0),Y的大小是随着X各个维度的叠加和的大小线性增加的,如图(x为了方便取1维): 然后再来看看我们这里的logistic 回归模型,模型公式是:,这里假设W>0,Y与X各维度叠加和(这里…
在以图搜图的过程中,需要以来模型提取特征,通过特征之间的欧式距离来找到相似的图形. 本次我们主要讲诉以图搜图模型创建的方法. 图片预处理方法,看这里:https://keras.io/zh/preprocessing/image/ 本文主要参考了这位大神的文章, 传送门在此: InceptionV3进行fine-tuning 训练模型代码如下: # 基本流程 # import os import sys import glob import argparse import matplotlib.…
目录 保序回归原理 保序回归代码(Spark Python) 保序回归原理 待续... 返回目录 保序回归代码(Spark Python) 代码里数据:https://pan.baidu.com/s/1jHWKG4I 密码:acq1 # -*-coding=utf-8 -*- from pyspark import SparkConf, SparkContext sc = SparkContext('local') import math from pyspark.mllib.regressio…
最近邻模型,更为常见的是k-最近邻模型,是一种常见的机器学习模型,原理如下: KNN算法的前提是存在一个样本的数据集,每一个样本都有自己的标签,表明自己的类型.现在有一个新的未知的数据,需要判断它的类型.那么通过计算新未知数据与已有的数据集中每一个样本的距离,然后按照从近到远排序.取前K个最近距离的样本,来判断新数据的类型. import相关库,记载数据(当然正常情况下不是这么加载的),指定了5000个样本用来训练,200个样本用来测试. 然后下面分别定义了训练和测试的计算图的输入. 算法很简单…
首先呢,进行import,对于日常写代码来说,第二行经常写成:import numpy as np,这样会更加简洁.第三行import用于绘图. 定义了学习率.迭代数epoch,以及展示的学习步骤,三个参数. 同时给出了训练用的原始数据,n_samples用来记录一共有多少数据. 这里指明了计算图的输入,W和b是模型的权重矩阵和偏差,目的是要学习一个 \[y=\mathbf{W}x+\mathbf{b}\] 函数. 这里就定义了上述函数. 这里定义了损失函数cost,使用了平方损失. optim…
前面的不做过多解释了. 这里定义了两个占位符,各位也知道,在训练时,feed_dict会填充它们. 定义相关网络. 这里是权值矩阵和偏差. 这里是实例化了网络,定义了优化器和损失,和上一篇一样. 最后,写一个两重的for循环,进行训练. 然后简单地测试一下.…
加载数据集. 这里的keep_prob是dropout的一个参数.dropout是一种随机置零的策略,用来防止模型过拟合. 这里定义两层,上面是卷积层,下面是池化层. 搭建了一层卷积.一层池化.一层卷积.一层池化.之后将输出展平,输入到全连接层里,进行输出,激活函数选用了relu函数. 这是上面神经网络用到的参数. 之后我们构建模型,pred是整个网络的输出. cost设置为交叉熵 \[l(\varphi)=ylog(1-\varphi)+(1-y)log(1-\varphi)\] 优化器设置为…
自动编码机(Autoencoder)属于非监督学习,不需要对训练样本进行标记.自动编码机(Autoencoder)由三层网络组成,其中输入层神经元数量与输出层神经元数量相等,中间层神经元数量少于输入层和输出层.在网络训练期间,对每个训练样本,经过网络会在输出层产生一个新的信号,网络学习的目的就是使输出信号与输入信号尽量相似.自动编码机(Autoencoder)训练结束之后,其可以由两部分组成,首先是输入层和中间层,我们可以用这个网络来对信号进行压缩:其次是中间层和输出层,我们可以将压缩的信号进行…
第一步仍然是导入库和数据集. ''' To classify images using a reccurent neural network, we consider every image row as a sequence of pixels. Because MNIST image shape is 28*28px, we will then handle 28 sequences of 28 steps for every sample. ''' 这里我们设定了各种参数,此时的n_ste…
calss #!/usr/bin/python2.7 #coding:utf-8 from __future__ import print_function import tensorflow as tf # Import MNIST data from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("../Mnist_data/", one_hot=Tru…
众所周知我暂时弃掉了那个音乐生成的坑,原因是我的代码写得还不够纯熟…… 现在我找到了一个项目,用来从代码基础开始补起,同时写下学习笔记. 项目地址:https://github.com/aymericdamien/TensorFlow-Examples 首先最基础的第0章我们就跳过了,这个不涉及TensorFlow本身. 然后使用jupyter打开这开ipynb文件: 我们开始. ======================================== example里的是完整代码,no…
一个典型的logistic regression模型是: 这里明明用了非线性函数,那为什么logistic regression还是线性模型呢? 首先,这个函数不是f(y,x)=0的函数,判断一个模型是否是线性,是通过分界面是否是线性来判断的. 这个P函数是y关于x的后验概率,它的非线性性不影响分界面的线性性.可以通过令两种类别的概率相等,求解x的表达式,如果是线性的,那么就是线性模型. 打破线性也很简单,只要变量之间相乘一下,或者使用非线性函数. 容易得出,softmax regression…
参考资料:http://blog.csdn.net/xuanyuansen/article/details/41050507 习题: 数据及代码:  https://pan.baidu.com/s/1i4Iv3Nn…