自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张张的专栏

关注人工智能领域

  • 博客(34)
  • 资源 (3)
  • 收藏
  • 关注

原创 Spark MultilayerPerceptronClassifier Scala实现例子及优化算法理解

package com.sparkimport org.apache.spark.ml.classification.MultilayerPerceptronClassifierimport org.apache.spark.ml.evaluation.MulticlassClassificationEvaluatorimport org.apache.spark.ml.feature.V...

2018-11-13 17:54:19 1755

原创 神经网络中的Softmax是如何更新参数的

本文将从两个方面阐述神经网络中的softmax是如何更新参数的。 第一部分:BP算法怎么更新参数?缺点是什么? 第二部分:用了softmax怎么更新参数?一、BP算法用二次经验误差作为代价函数我们已经知道,BP算法在前向传播中,在每一个功能节点上先是线性组合算得一个状态值,然后用Sigmoid转换成一个激活值,最后一层中把这个激活值o跟真是标签做差求平方,得到某个样本的二次经验误差,作为向前矫正

2017-05-26 14:05:47 10432

原创 机器学习基本算法总结

写这篇博文主要是想对自己近期学到的机器学习知识做一个总结,同时也谈一谈我对人工智能的理解。一、我对人工智能的理解首先谈一谈我对人工智能的理解。人工智能企图理解智能的本质,并让机器也拥有类似于人的智能。比如,人从出生到慢慢长大,能听懂别人的话,能辨认周围的物体,并且能模仿一些举动,所以人是拥有智能的。但是机器不行,一开始机器可以完成一些人类已经明确告诉它怎么去完成的任务(比如人编写程序告诉计算机加法的

2017-05-20 23:00:08 2399 3

原创 python学习记录

itertools.groupy(iterable, [key])mapenumerate

2017-05-17 23:59:05 599

原创 卷积神经网络学习笔记

一、理解卷积 首先,卷积是一种数学运算,从二维离散的卷积操作来理解这种运算的意义。摆出二维离散卷积公式: C(x,y)表示一个二维矩阵的函数值,C(x-s,y-t)是距离中心点(x,y)的函数值,F(s,t)是一个加权矩阵,对于中心点周围所有的点乘以一个加权值然后求和,就是该点新的函数值。举个例子: 要求C(2, 2)新的值,对于F(s, t)函数,, 所以C(2,2)=F(-1,-1)C

2017-05-10 18:12:35 1513

原创 Back Propagation后向传播算法 Python实现

Back Propagation后向传播算法 Python实现后向传播算法用来自动调节神经网络的参数,本次实现代码完全参照Back Propagation的讲解 选取sklearn.datasets的moon数据集的前250个样本进行训练,迭代10000次之后可以得到训练准确率达到87.6%

2017-05-09 18:07:30 2703

原创 Mac OS tensorflow的环境搭建

首先我的Mac中已经安装了anaconda2,其中有pip工具,那么就可以通过pip来安装tensorflow了。如果没有安装anaconda,建议先安装它,参见上一篇博文。打开terminal,输入conda --v,发现“-bash: conda: command not found”错误,加环境变量:export PATH=~/anaconda2/bin:$PATH,这个命令只对这次

2017-05-07 17:21:35 1768

原创 MacOS Sierra中Anaconda的安装以及在PyCharm的设置

环境:MacOS Sierra 10.12.3;PyCharm Community Edition 2017.11. 安装Anaconda:从https://www.continuum.io/downloads/下载 python 2.7 version中的图形界面版本或者命令行版本(根据自己的需要),然后在terminal中执行命令bash Anaconda2-4.3.1-MacOS-x86

2017-04-24 18:46:20 11201

原创 Logistic Regression 原理及推导 python实现

一、问题引入首先,Logistic回归是一种广义的线性回归模型,主要用于解决二分类问题。比如,现在我们有N个样本点,每个样本点有两维特征x1和x2,在直角坐标系中画出这N个样本的散点图如下图所示, 蓝色和红色分别代表两类样本。现在我们的目标是,根据这N个样本所表现出的特征以及他们各自对应的标签,拟合出一条直线对两类样本进行分类,直线的上侧属于第一类,直线的下侧属于第二类。那么我们如何寻找这条直

2017-02-15 16:33:35 13562 1

原创 TensorFlow环境搭建

安装python$sudo apt-get install python-pip python-dev出现错误:could not get lock /var/lib/dpkg/lock 百度原因:通过终端安装程序sudo apt-get install xxx时出错E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temp

2017-02-09 18:42:49 2998

原创 新手上路——hadoop2.7.3伪分布式模式环境搭建

修改配置文件 配置文件都在安装目录的etc/hadoop下,修改hadoop-env.sh,添加JAVA_HOME环境变量export JAVA_HOME=/usr/lib/java/jdk1.8.0_121在配置文件中找到三个xml文件: 修改core-site.xml 修改hdfs-site.xml文件: 修改mapred-site.xml.templates文件: 启动伪分布式模式

2017-02-05 22:45:17 947

原创 新手上路——hadoop2.7.3单机模式环境搭建

目的本人是一只hadoop新手,本篇文章主要是个人学习hadoop的学习笔记,内容是搭建单机模式下hadoop2.7.3开发环境。搭建环境及所需软件VMWare 12(64位),ubuntu-16.04(64位),hadoop2.7.3.tarHadoop简介Hadoop是Apache开源组织的一个分布式计算框架,可以在大量廉价硬件设备组成的集群上运行应用程序,并未应用程序提供一组稳定可靠的接口,旨

2017-02-04 23:02:22 10222 3

原创 分类器组合方法Bootstrap, Boosting, Bagging, 随机森林(二)

接《分类器组合方法Bootstrap, Boosting, Bagging, 随机森林(一) 》AdaboostAdaboost给每个基分类器设置了一个重要性参数α,基分类器的重要性参数α是训练误差的的函数,错误率越接近于1,则α有一个很大的负值,如果错误率接近于0,则有一个很大的正值。接下来,用α更新训练样本的权值。

2016-07-13 15:28:54 3304

原创 C++中单链表的基本操作:判空、增、删、显示

写在前面:本文讨论的是带有头结点的单链表1. 单链表的结点一般用结构体定义,含有两个域:数据域和指针域      struct Node{ int data;  Node * next;}; next是一个指针,指向Node数据类型;2. 头结点是一个指针,指向Node数据类型,指向第一个结点,

2016-07-04 19:26:14 3966

原创 Visual Studio 2013 DOS窗口一闪而过的解决方法

在visual Studio 2013中,按下“ctl" + "F5",不能显示DOS窗口,就看不到程序指示的要显示的内容,解决方法如下:在“解决方案”窗口中,右击项目名称,点击“属性” --> “配置属性” --> "链接器“ --> ”系统“  --> "子系统” , 在下拉菜单中选择“控制台(/SUBSYSTEM:CONSOLE )

2016-06-29 10:50:46 3741 1

原创 C4.5算法详解(非常仔细)

首先,我们用一个例子来计算一下。                                                                                                                                                    上述数据集有四个属性,属性集合A={ 天气,温度,湿

2016-06-11 22:06:54 112852 38

原创 如何使用交叉验证 Cross Validation

在机器学习的相关研究中,如果是有监督的算法,需要将原始数据集分为训练集和测试集两个集合。训练集中的数据带有标签,用这些数据来训练出一个模型,告诉机器什么样的数据可以分成哪一类,然后用这个模型来预测测试集中数据的标签。然后用预测得到的标签跟真实的标签作比对,就可以得到这个模型的预测准确率,其实是考察这个模型的generalization ability(泛化能力),即,从训练集中总结出来的规律能不能

2016-06-07 15:28:36 14078

原创 使用weka进行数据挖掘

参考教程点击打开链接

2016-06-07 10:34:41 21690 5

原创 分类器组合方法Bootstrap, Boosting, Bagging, 随机森林(一)

首先,机器学习的一个重要假设就是样本的分布和总体的分布是一致的。多分类器进行组合的目的是为了将弱分类器(单个分类器)集成为强分类器,提升对未知样本的分类准确率,(实验数据。。。)Bootstraping        名字来源于“Pull up your own bootstraps",即”通过拉靴子让自己上升“,本意是”不可能发生的事情“,现在的意思变成”通过自己的努力,让事

2016-06-06 16:26:48 24846 6

原创 有监督学习、无监督学习、参数估计、非参数估计

有监督学习和无监督学习         两者应用在模式识别的领域,目的是对给定的样本进行划分。        有监督学习将样本分为训练集和测试集,训练集中的数据带有标签,标志着这些样本来自哪些类别,训练集中的数据没有标签。有监督学习的目的就是学习训练集中不同类别数据的特征,得到一个能把不同类别数据划分开来的模式,然后在测试集中应用这个模式来预测未知类别的样本。        无监督学习

2016-06-05 17:36:21 5271

原创 SAP技术支持岗实习生面试

今天早上去SAP面试技术支持/咨询顾问的实习生岗位,现在来记录一下面试经历。昨天中午接到HR的电话,先询问了我一下简历中的实习经历,然后让我用英文简单的介绍了一下自己,电话就挂了。晚上6点左右打电话过来跟我说相关部门的经理对我比较感兴趣,要我第二天去公司做一个onsite面试。紧张。我开始百度技术支持岗位的职责,主要做什么样的工作,未来的职业发展方向等等,还看到SAP对这个岗位的英语要求比

2016-06-02 21:30:44 6154

原创 数据结构——树

树是一种很常用的数据结构,一般用来表示具有层次结构的数据。本篇博客中主要包含三个方面:1.树的定义和基本概念   2.二叉树一、树的定义和基本概念1)树是n(n>=0)个结点的有限集合。当n=0时是一棵空树,当n>0时,至少含有一个结点。2)根(Root):有且仅有一个结点(n=1)时,那个结点就是根节点3)子树(Subtree):当n>1时,除了根节点以外的其余结点可以分为m

2016-04-08 18:44:02 536

原创 CCF-最大矩形

问题描述在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。输入格式第一行包含一个整数n,即矩形的数

2016-04-06 14:16:00 754

原创 CCF-ISBN号码

问题描述每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第

2016-04-06 13:43:19 652

原创 CCF—出现次数最多的数

问题描述给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。输入格式输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。输出格式输出这n个次数中出现次数最多的数。如果这样的数有多个,输出

2016-04-05 19:27:45 2019

原创 模糊聚类FCM的MATLAB实现

FCM的原理在之前的博文中写过。现在按照它的算法流程,用MATLAB实现。共包括三个函数(myfcm.m, mydist.m, myplot.m)测试数据集用的是鸢尾花(iris)数据集。下载地址  http://download.csdn.net/detail/u013657981/92411211. myfcm.mfunction [U, V,objFcn] = myfcm

2016-03-29 21:56:46 37788 18

原创 matlab中plot函数

1. plot(X,Y)如果X是一个向量,Y是一个向量,那么X为横轴,Y为纵轴。例如:X = [1:0.01:2]; Y = sin(X);如果X是一个矩阵,Y是一个向量,那么X以行为单位为X轴的值,Y为Y轴的值。例如:X = [1:0.01:2;4:0.01:5]; Y = [2:0.01:3];如果X是一个向量,Y是一个矩阵,那么X为X轴的值,Y以行为单位为Y轴的值。例如:

2016-03-29 10:52:44 1557

原创 多元统计分析基础

1.多元统计分析(Multivariate Statistical Analysis)  多元统计分析研究的是客观事物中多个变量(多个因素)之间相互依赖的统计规律性。假如说一个数据它有n维特征,我们称它为多元数据,而分析多元数据的统计方法就叫做多元统计分析。重要的多元统计分析方法有:多重回归分析(简称回归分析)、判别分析、聚类分析、主成分分析、典型相关分析、多元方差分析等。 2.统计分

2016-03-27 20:12:40 7020

原创 Canonical Correlation Analysis(CCA) 典型相关分析

1.典型相关分析的基本思想  首先,什么是非典型的即经典的相关分析。给你两组变量X=[x1,x2,...,xm],Y=[y1,y2,...,yn],要研究X和Y之间的相关性,就是要得到一个X和Y的协方差矩阵cov(X,Y),矩阵中的每一个值uij表示的就是X的第i维特征xi和Y的第j维特征yj之间的相关性。之后的相关性研究工作就是要基于这个矩阵展开。  这样做的一个弊端就是,只考虑了xi和

2016-03-26 22:06:56 14680

原创 FCM(Fuzzy C-Means)模糊C聚类

1. FCM初识        FCM的C跟K-Means的K是一样的,指的是聚类的数目。F—Fuzzy是模糊的意思,指的是”一个事件发生的程度“。用在我们的聚类上面,第一条记录以怎样的概率或者说程度属于第一类,又以怎样的程度属于第二类等等。跟传统的聚类有所区别的地方就是,他改变了分类的时候非此即彼的一个现象,一个对象可以以不同的程度同时属于多个类。这个其实是跟我们的现实世界是更契合的。比如说

2016-03-18 12:15:16 47051 17

原创 [leetcode] Longest Substring Without Repeating Charactors最长无重复子序列

题目Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3

2016-03-09 16:52:27 599

原创 [leetcode]Add Two Numbers

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:ListNo

2016-03-09 14:07:35 322

原创 八个排序算法

1.插入排序基本思想: 将一个记录插入到已经有序的记录序列中,得到一个新的、记录数加1的序列。排序时,将第一个记录先视为有序,再依次对后面的记录进行插入。 时间复杂度: 最优:复杂度为O(n),当序列已经有序时; 最差:复杂度为O(n^2),当序列为逆序时void Sort::InsertSort(vector &s){    int size = s.size();    int i,

2016-03-06 20:36:04 436

原创 [leetcode]Two Sum

第一种方法暴力破解法,时间复杂度是O(n^2),会TLE。vector<int> Solution::twoSum(vector<int>& nums, int target) { int i, j; vector<int> indices; for(i=0; i<nums.size(); i++){ for(j=i+1; j<nums.size(); j++

2016-03-06 14:48:07 318

Java编程思想第四版高清

Java编程思想第四版高清

2018-04-04

数据结构链表

class LinkList { private: LNode head; int length; public: LinkList(); //构造函数 ~LinkList(); //析构函数 void LinkCreate(); //构建链表 void LinkPrint(); //打印链表 void LinkGetElem(int , ElemType &); //取得第i个元素 void LinkInsert(int , ElemType); //插入元素 void LinkDelete(int); //删除元素 void LinkMerge(LinkList &); //链表合并 void LinkSearchElem(ElemType); //按值查找 int LinkGetLength(); //链表长度 void LinkDelete(); //释放节点空间 void LinkReverse(); }; LinkList::LinkList() { //构造函数的实现 head.next = NULL; length = 0; } LinkList::~LinkList() { //析构函数 }

2013-08-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除