机器学习
文章平均质量分 71
ynztpwy
这个作者很懒,什么都没留下…
展开
-
感知器算法
引例:判断一个人是否长得帅??? 有如下feature: 身高,体重,三围,颜值,学习成绩(帅的人学习成绩好的少...为何要这么一个扯淡的特征下面会讲解)等等。假设有一个标准:每一个评分项给予多少分的权重,当所有feature与权重相乘的和大于某一个值的时候,那这个人就是帅哥!!例子: 180*5+150*3+....>1000 帅哥! 小于则.....感知器任务:通过已知的实例调节权原创 2015-04-13 13:26:27 · 6593 阅读 · 0 评论 -
神经网络和反向传播算法推导
注:由于自己画图实在太难画,本文中基本所有插图来源于算法团子机器学习班,请勿转载1.普通的机器学习模型:其实,基本上所有的基本机器学习模型都可以概括为以下的特征:根据某个函数,将输入计算并输出。图形化表示为下图:当我们的g(h)为sigmoid函数时候,它就是一个逻辑回归的分类器。当g(h)是一个只能取0或1值的函数时,它就是一个感知机。那么问题来了,这一类模型有明显缺陷:当模原创 2015-06-03 16:11:45 · 10141 阅读 · 3 评论 -
神经网络和BP算法C及python代码
以上仅给出了代码。具体BP实现原理及神经网络相关知识请见:神经网络和反向传播算法推导首先是前向传播的计算:输入:首先为正整数 n、m、p、t,分别代表特征个数、训练样本个数、隐藏层神经元个数、输出层神经元个数。其中(1随后为 m 行,每行有 n+1 个整数。每行代表一个样本中的 n 个特征值 (x 1 , x 2 ,..., x n ) 与样本的实际观测结果 y。特原创 2015-06-08 10:49:47 · 5635 阅读 · 1 评论 -
logistic回归和用最大似然估计选取CostFunction
逻辑回归和其他回归的异同,及其如何选择关于权值的更新函数问题。用最大似然估计来选取costfunction原创 2015-05-20 15:59:16 · 3046 阅读 · 1 评论 -
c++实现logistic回归代码
测试题目:代码如下:#include#include#include#include#include#includeusing namespace std;double hypothesis(vector &feature,vector&w){ double sum=0.0; for(int i=0;i<feature.size();i++){原创 2015-05-20 16:03:08 · 4621 阅读 · 2 评论 -
决策树ID3算法C++代码及测试用例(bug版)
有bug,一直未找到,闲暇下来在看看,存一档输入格式首先为正整数n、m,分别代表特征个数、训练样本个数。随后为m行,每行有n+1个整数。其中(1在后续的m行中,每行代表一个样本中的n个整数特征值( )与样本的实际观测结果y(整数)。其中 。输出格式决策树的前序遍历结果,若是一个内部节点则输出inner(特征id),若是一个叶节点,则输出leaf(特征id)。原创 2015-05-04 16:40:46 · 1015 阅读 · 0 评论 -
用熵的决策树问题ID3和C4.5,C5.0简单介绍
用熵决策树问题的最基本思想: 我们一般可以通过信息熵来描述分类的混乱程度,如果标注的种类繁杂,说明信息非常混乱,如果标注就只有一种,或者大部分标注相同,那么说明这个数据集的信息比较整齐。用熵决策树的基本思想就是通过不断的划分数据集(通过用特征细化),是的信息熵尽量变小,也就是所谓的增大信息增益。通过不同的特征值来划分数据集,得到的信息增益是肯定不同的,熵决策树的目标就是找出最优的划分方法原创 2015-05-04 16:49:16 · 1939 阅读 · 0 评论 -
梯度下降算法
注:本文所有图片及文章架构均来源于“算法团子”,后经本人改写所成以上两幅图片显然左侧这幅能更好描述房价与面积关系,但怎样用数学表示?我们将其误差定义为J,所有点的欧氏距离之和其实就是它的误差JJ=all(y-h(x))如感知器算法,我们的目标就是减小J,根据梯度下降含义,我们可以将J沿着下降最快的方向调整权值,使其能够收敛到J的最小值(极值)下降最快的方向,就是一阶翻译 2015-04-14 16:41:28 · 1846 阅读 · 0 评论 -
perception感知器算法的C语言实现代码
此处仅给出代码实现,具体原理及过程请看前面的博文文件输入格式如下:2 4 0.25 50 0 00 1 11 0 11 1 10.06230 0.01123 -0.07335含义如下:实现代码如下:(注:为了通用性,本代码只输出了最后一次迭代结果)#include#include using namespace std;double hypotho原创 2015-04-16 11:27:36 · 4252 阅读 · 0 评论 -
特征值缩放和过拟合与欠拟合的最low解法
特征值缩放:例子:有一个feature序列,x1基本大于10000,x2都是小于0.01的数,这样可能需要花很长时间才能收敛,解决办法就是特征值缩放这样可以将数据控制在【-1,1】的区间内过拟合问题和欠拟合问题都是由于特征值没有选好或者样本太少引发的过拟合的最简单解决方法:删除无用特征,选取更简单的拟合函数欠拟合解决办法:增加核心特征,选取复杂函数原创 2015-04-14 17:42:25 · 715 阅读 · 0 评论 -
C++代码实现梯度下降算法并给出测试用例
此处仅给出代码实现,具体原理及过程请看前面的博文测试文件输入格式如下:2 10 0.01 102104 3 3999001600 3 3299002400 3 3690001416 2 2320003000 4 5399001985 4 2999001534 3 31490原创 2015-04-24 15:09:54 · 11725 阅读 · 2 评论