- 博客(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
1800
原创 神经网络中的Softmax是如何更新参数的
本文将从两个方面阐述神经网络中的softmax是如何更新参数的。 第一部分:BP算法怎么更新参数?缺点是什么? 第二部分:用了softmax怎么更新参数?一、BP算法用二次经验误差作为代价函数我们已经知道,BP算法在前向传播中,在每一个功能节点上先是线性组合算得一个状态值,然后用Sigmoid转换成一个激活值,最后一层中把这个激活值o跟真是标签做差求平方,得到某个样本的二次经验误差,作为向前矫正
2017-05-26 14:05:47
10524
原创 机器学习基本算法总结
写这篇博文主要是想对自己近期学到的机器学习知识做一个总结,同时也谈一谈我对人工智能的理解。一、我对人工智能的理解首先谈一谈我对人工智能的理解。人工智能企图理解智能的本质,并让机器也拥有类似于人的智能。比如,人从出生到慢慢长大,能听懂别人的话,能辨认周围的物体,并且能模仿一些举动,所以人是拥有智能的。但是机器不行,一开始机器可以完成一些人类已经明确告诉它怎么去完成的任务(比如人编写程序告诉计算机加法的
2017-05-20 23:00:08
2433
1
原创 卷积神经网络学习笔记
一、理解卷积 首先,卷积是一种数学运算,从二维离散的卷积操作来理解这种运算的意义。摆出二维离散卷积公式: 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
1558
原创 Back Propagation后向传播算法 Python实现
Back Propagation后向传播算法 Python实现后向传播算法用来自动调节神经网络的参数,本次实现代码完全参照Back Propagation的讲解 选取sklearn.datasets的moon数据集的前250个样本进行训练,迭代10000次之后可以得到训练准确率达到87.6%
2017-05-09 18:07:30
2748
原创 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
1797
原创 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
11251
原创 Logistic Regression 原理及推导 python实现
一、问题引入首先,Logistic回归是一种广义的线性回归模型,主要用于解决二分类问题。比如,现在我们有N个样本点,每个样本点有两维特征x1和x2,在直角坐标系中画出这N个样本的散点图如下图所示, 蓝色和红色分别代表两类样本。现在我们的目标是,根据这N个样本所表现出的特征以及他们各自对应的标签,拟合出一条直线对两类样本进行分类,直线的上侧属于第一类,直线的下侧属于第二类。那么我们如何寻找这条直
2017-02-15 16:33:35
13625
原创 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
3025
原创 新手上路——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
979
原创 新手上路——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
10259
原创 分类器组合方法Bootstrap, Boosting, Bagging, 随机森林(二)
接《分类器组合方法Bootstrap, Boosting, Bagging, 随机森林(一) 》AdaboostAdaboost给每个基分类器设置了一个重要性参数α,基分类器的重要性参数α是训练误差的的函数,错误率越接近于1,则α有一个很大的负值,如果错误率接近于0,则有一个很大的正值。接下来,用α更新训练样本的权值。
2016-07-13 15:28:54
3351
原创 C++中单链表的基本操作:判空、增、删、显示
写在前面:本文讨论的是带有头结点的单链表1. 单链表的结点一般用结构体定义,含有两个域:数据域和指针域 struct Node{ int data; Node * next;}; next是一个指针,指向Node数据类型;2. 头结点是一个指针,指向Node数据类型,指向第一个结点,
2016-07-04 19:26:14
4272
原创 Visual Studio 2013 DOS窗口一闪而过的解决方法
在visual Studio 2013中,按下“ctl" + "F5",不能显示DOS窗口,就看不到程序指示的要显示的内容,解决方法如下:在“解决方案”窗口中,右击项目名称,点击“属性” --> “配置属性” --> "链接器“ --> ”系统“ --> "子系统” , 在下拉菜单中选择“控制台(/SUBSYSTEM:CONSOLE )
2016-06-29 10:50:46
3775
1
原创 如何使用交叉验证 Cross Validation
在机器学习的相关研究中,如果是有监督的算法,需要将原始数据集分为训练集和测试集两个集合。训练集中的数据带有标签,用这些数据来训练出一个模型,告诉机器什么样的数据可以分成哪一类,然后用这个模型来预测测试集中数据的标签。然后用预测得到的标签跟真实的标签作比对,就可以得到这个模型的预测准确率,其实是考察这个模型的generalization ability(泛化能力),即,从训练集中总结出来的规律能不能
2016-06-07 15:28:36
14151
原创 分类器组合方法Bootstrap, Boosting, Bagging, 随机森林(一)
首先,机器学习的一个重要假设就是样本的分布和总体的分布是一致的。多分类器进行组合的目的是为了将弱分类器(单个分类器)集成为强分类器,提升对未知样本的分类准确率,(实验数据。。。)Bootstraping 名字来源于“Pull up your own bootstraps",即”通过拉靴子让自己上升“,本意是”不可能发生的事情“,现在的意思变成”通过自己的努力,让事
2016-06-06 16:26:48
24982
5
原创 有监督学习、无监督学习、参数估计、非参数估计
有监督学习和无监督学习 两者应用在模式识别的领域,目的是对给定的样本进行划分。 有监督学习将样本分为训练集和测试集,训练集中的数据带有标签,标志着这些样本来自哪些类别,训练集中的数据没有标签。有监督学习的目的就是学习训练集中不同类别数据的特征,得到一个能把不同类别数据划分开来的模式,然后在测试集中应用这个模式来预测未知类别的样本。 无监督学习
2016-06-05 17:36:21
5364
原创 SAP技术支持岗实习生面试
今天早上去SAP面试技术支持/咨询顾问的实习生岗位,现在来记录一下面试经历。昨天中午接到HR的电话,先询问了我一下简历中的实习经历,然后让我用英文简单的介绍了一下自己,电话就挂了。晚上6点左右打电话过来跟我说相关部门的经理对我比较感兴趣,要我第二天去公司做一个onsite面试。紧张。我开始百度技术支持岗位的职责,主要做什么样的工作,未来的职业发展方向等等,还看到SAP对这个岗位的英语要求比
2016-06-02 21:30:44
6343
原创 数据结构——树
树是一种很常用的数据结构,一般用来表示具有层次结构的数据。本篇博客中主要包含三个方面: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
551
原创 CCF-最大矩形
问题描述在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。输入格式第一行包含一个整数n,即矩形的数
2016-04-06 14:16:00
775
原创 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
682
原创 CCF—出现次数最多的数
问题描述给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。输入格式输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。输出格式输出这n个次数中出现次数最多的数。如果这样的数有多个,输出
2016-04-05 19:27:45
2061
原创 模糊聚类FCM的MATLAB实现
FCM的原理在之前的博文中写过。现在按照它的算法流程,用MATLAB实现。共包括三个函数(myfcm.m, mydist.m, myplot.m)测试数据集用的是鸢尾花(iris)数据集。下载地址 http://download.youkuaiyun.com/detail/u013657981/92411211. myfcm.mfunction [U, V,objFcn] = myfcm
2016-03-29 21:56:46
37883
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
1616
原创 多元统计分析基础
1.多元统计分析(Multivariate Statistical Analysis) 多元统计分析研究的是客观事物中多个变量(多个因素)之间相互依赖的统计规律性。假如说一个数据它有n维特征,我们称它为多元数据,而分析多元数据的统计方法就叫做多元统计分析。重要的多元统计分析方法有:多重回归分析(简称回归分析)、判别分析、聚类分析、主成分分析、典型相关分析、多元方差分析等。 2.统计分
2016-03-27 20:12:40
7137
原创 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
14722
原创 FCM(Fuzzy C-Means)模糊C聚类
1. FCM初识 FCM的C跟K-Means的K是一样的,指的是聚类的数目。F—Fuzzy是模糊的意思,指的是”一个事件发生的程度“。用在我们的聚类上面,第一条记录以怎样的概率或者说程度属于第一类,又以怎样的程度属于第二类等等。跟传统的聚类有所区别的地方就是,他改变了分类的时候非此即彼的一个现象,一个对象可以以不同的程度同时属于多个类。这个其实是跟我们的现实世界是更契合的。比如说
2016-03-18 12:15:16
47273
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
628
原创 [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
348
原创 八个排序算法
1.插入排序基本思想: 将一个记录插入到已经有序的记录序列中,得到一个新的、记录数加1的序列。排序时,将第一个记录先视为有序,再依次对后面的记录进行插入。 时间复杂度: 最优:复杂度为O(n),当序列已经有序时; 最差:复杂度为O(n^2),当序列为逆序时void Sort::InsertSort(vector &s){ int size = s.size(); int i,
2016-03-06 20:36:04
455
原创 [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
337
数据结构链表
2013-08-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人