机器学习
文章平均质量分 74
sun_shengyun
这个作者很懒,什么都没留下…
展开
-
人工神经网络
人工神经网络二分类问题,输出层使用softmax函数,所以输出层有两个神经元,output1表示样本属于类1的概率,output2表示样本属于类2的概率;输入的每个样本有两个特征,所以输入层有两个神经元,隐藏层假设有500个神经元,因为是全连接,所以W1(输入层与隐藏层间的权重)是2*500维矩阵,W2(隐藏层与输出层间的权重)是500*2维矩阵,b1是1*500矩阵,b2是1*2矩阵,b1和原创 2016-12-13 14:52:58 · 1604 阅读 · 0 评论 -
决策树算法原理(上)
此文参考了http://www.cnblogs.com/pinard/p/6050306.html 以及周志华老师的《机器学习》决策树算法在机器学习中算是很经典的一个算法系列了。它既可以作为分类算法,也可以作为回归算法,同时也特别适合集成学习比如随机森林。本文就对决策树算法原理做一个总结,上篇对ID3, C4.5的算法思想做了总结,下篇重点对CART算法做一个详细的介绍。选择CART做转载 2017-02-27 22:54:32 · 2737 阅读 · 0 评论 -
scikit-learn SVM支持向量机算法库使用小结
之前通过一个系列对支持向量机(以下简称SVM)算法的原理做了一个总结,本文从实践的角度对scikit-learn SVM算法库的使用做一个小结。scikit-learn SVM算法库封装了libsvm 和 liblinear 的实现,仅仅重写了算法了接口部分。1. scikit-learn SVM算法库使用概述 scikit-learn中SVM的算法库分为两类,一类是分类的算法库,包转载 2017-02-18 17:09:31 · 1778 阅读 · 0 评论 -
SVM支持向量机原理(四)SMO算法原理
转自http://www.cnblogs.com/pinard/p/6111471.html在SVM的前三篇里,我们优化的目标函数最终都是一个关于α α向量的函数。而怎么极小化这个函数,求出对应的α α向量,进而求出分离超平面我们没有讲。本篇就对优化这个关于α α向量的函数的SMO算法做一个总结。1. 回顾SVM优化目标函数 我们首先回顾下我们的优化目标函数:mi转载 2017-02-18 16:48:25 · 953 阅读 · 0 评论 -
SVM支持向量机原理(三)线性不可分支持向量机与核函数
转自http://www.cnblogs.com/pinard/p/6103615.html在前面两篇我们讲到了线性可分SVM的硬间隔最大化和软间隔最大化的算法,它们对线性可分的数据有很好的处理,但是对完全线性不可分的数据没有办法。本文我们就来探讨SVM如何处理线性不可分的数据,重点讲述核函数在SVM中处理线性不可分数据的作用。1. 回顾多项式回归 在线性回归原理小结中,我们讲到转载 2017-02-18 16:35:18 · 1969 阅读 · 0 评论 -
SVM支持向量机原理(二) 线性支持向量机的软间隔最大化模型
在支持向量机原理(一) 线性支持向量机中,我们对线性可分SVM的模型和损失函数优化做了总结。最后我们提到了有时候不能线性可分的原因是线性数据集里面多了少量的异常点,由于这些异常点导致了数据集不能线性可分,本篇就对线性支持向量机如何处理这些异常点的原理方法做一个总结。1. 线性分类SVM面临的问题 有时候本来数据的确是可分的,也就是说可以用 线性分类SVM的学习方法来求解,但是却因为混转载 2017-02-18 15:39:44 · 2630 阅读 · 0 评论 -
SVM支持向量机原理(一) 线性支持向量机
此篇文章并非完全原创,参考了下篇博客,如果大家觉得稳重的1、2、3部分不好理解,可以看下图中我的手写版。http://www.cnblogs.com/pinard/p/6097604.html支持向量机(Support Vecor Machine,以下简称SVM)虽然诞生只有短短的二十多年,但是自一诞生便由于它良好的分类性能席卷了机器学习领域,并牢牢压制了神经网络领域好多年。如原创 2017-02-18 13:24:55 · 3802 阅读 · 0 评论 -
【集成学习】Bagging与随机森林算法原理小结
原文地址:http://www.cnblogs.com/pinard/p/6156009.html在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系。另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合。本文就对集成学习中Bagging与随机森林算法做一个总结。 随机森林转载 2017-01-19 15:20:07 · 6396 阅读 · 0 评论 -
【集成学习】scikit-learn Adaboost类库使用小结
转自http://www.cnblogs.com/pinard/p/6136914.html在集成学习之Adaboost算法原理小结中,我们对Adaboost的算法原理做了一个总结。这里我们就从实用的角度对scikit-learn中Adaboost类库的使用做一个小结,重点对调参的注意事项做一个总结。1. Adaboost类库概述 scikit-learn转载 2017-01-09 16:11:09 · 16080 阅读 · 3 评论 -
【集成学习】scikit-learn随机森林调参小结
原文:http://www.cnblogs.com/pinard/p/6160412.html在Bagging与随机森林算法原理小结中,我们对随机森林(Random Forest, 以下简称RF)的原理做了总结。本文就从实践的角度对RF做一个总结。重点讲述scikit-learn中RF的调参注意事项,以及和GBDT调参的异同点。1. scikit-learn随机森林类库概述转载 2017-01-19 17:34:54 · 26407 阅读 · 1 评论 -
【集成学习】原理小结
原文:http://www.cnblogs.com/pinard/p/6131423.html集成学习(ensemble learning)可以说是现在非常火爆的机器学习方法了。它本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务。也就是我们常说的“博采众长”。集成学习可以用于分类问题集成,回归问题集成,特征选取集成,异常点检测集成等等,可以说所有的机器学习领域转载 2017-02-08 14:33:00 · 756 阅读 · 0 评论 -
python手撸线性回归(二)theta0不需要正则化
在上一篇关于线性回归的文章中,python手撸线性回归及参数解释,我们可以看到正则化项中并没有theta0二是从theta1开始的,In[7]的第三行Andrew在其机器学习中对此的解释是,按照惯例来讲,不去对θ0进行惩罚, 因此 θ0 的值是大的 这就是一个约定, 但其实在实践中这只会有非常小的差异 ,无论你是否包括θ0这项,结果只有非常小的差异,下边我们通过实验来证明,正则原创 2016-12-20 11:14:38 · 3633 阅读 · 0 评论 -
python手撸线性回归及参数解释
线性回归,简单的理解,在二维空间中,找到一条直线去尽可能的拟合样本数据,给出新的样本x,可以预测其y值,y是连续值,分类是离散值,如图1所示;如果是高维空间,那就是找到一个超平面去拟合,当然也可以是曲线;为了方便理解,以二维空间的直线为例,所谓找到最好的直线,就是找参数a和b,也就是theta[0],theta[1]。 如何去衡量一条直线是否是最好,在回归问题中一般用预测值与真原创 2016-12-14 11:57:12 · 14919 阅读 · 0 评论 -
精确率(准确率、查准率、precision)、召回率(查全率、recall)、RoC曲线、AUC面积、PR曲线
1. TP, FP, TN, FNTrue Positives,TP:预测为正样本,实际也为正样本的特征数False Positives,FP:预测为正样本,实际为负样本的特征数True Negatives,TN:预测为负样本,实际也为负样本的特征数False Negatives,FN:预测为负样本,实际为正样本的特征真实情况预测结果原创 2017-01-03 22:45:01 · 18067 阅读 · 0 评论 -
线性收敛的随机优化算法之 SAG、SVRG(随机梯度下降)
原文出处:https://zhuanlan.zhihu.com/p/22402784?utm_source=tuicool&utm_medium=referral这篇文章回顾了基于梯度的随机优化算法在这几年的重要发展 -- SAG、SVRG。很多常见的机器学习模型的目标(比如最小二乘做线性回归、逻辑回归)都可以概括成以下这种一般形式:转载 2016-12-22 11:20:12 · 25968 阅读 · 0 评论 -
sklearn逻辑回归(Logistic Regression,LR)类库使用小结
原文出处:http://www.07net01.com/2016/11/1706402.html,在原文的基础上做了一些修订sklearn中LogisticRegression的API如下,官方文档:http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html#sklear转载 2016-12-22 11:36:02 · 86479 阅读 · 4 评论 -
Python手撸逻辑回归(logistic regression)
与线性回归用于预测连续值不同,逻辑归回用于分类,原理与线性回归类似,定义损失函数,然后最小化损失,得到参数既模型,只不过损失的定义不同。逻辑回归的假设如图1所示,可以理解为线性回归外面套了一层sigmoid函数g(z),sigmoid函数图像如图2所示,该函数有很好的数学性质,其导数= g(z)*(1- g(z)),导数计算量小,当z=0时,其函数值为0.5,z越大,函数值越接近于1,z越小,原创 2016-12-21 17:55:06 · 5850 阅读 · 0 评论 -
SVM支持向量机高斯核调参小结
转自http://www.cnblogs.com/pinard/p/6117515.html 在支持向量机(以下简称SVM)的核函数中,高斯核(以下简称RBF)是最常用的,从理论上讲, RBF一定不比线性核函数差,但是在实际应用中,却面临着几个重要的超参数的调优问题。如果调的不好,可能比线性核函数还要差。所以我们实际应用中,能用线性核函数得到较好效果的都会选择线性核函数。如果线性核不好,我转载 2017-02-18 17:48:08 · 29452 阅读 · 3 评论