机器学习
hjj牛bb啊
这个作者很懒,什么都没留下…
展开
-
k近邻分类(KNN)
近来学习了最近邻分类KNN(k Nearest Neighbors),写下心得,以为记录。 K近邻的原理很简单,对于数据集,可以分为训练集和测试集,KNN使用训练集全部数据作为分类计算的依据。输入一个待分类样本,计算该样本与训练集所有样本的距离,挑选出距离最小的k个样本,统计这k个样本的类别标签,出现最多的那个类别就被认为是待分类样本的类别。 《机器学习实战》中使用欧式距离作为...原创 2018-03-07 17:53:05 · 1947 阅读 · 0 评论 -
神经网络之优化方法
1、前言 神经网络的优化方法有很多,前面学习了神经网络参数的初始化方法,好的初始化方法可以让网络训练的更快,也可能让网络收敛的更好。同样,好的优化方法同样具有这样的作用。注意:谈论优化方法时候,并没有修改损失函数,只是修改了网络学习过程中参数的更新方法。 之前经常使用梯度下降法来优化网络,今天学习了梯度下降法的几个改进版本:Momentum、RMSprop、Adam 网络学习中,...原创 2018-05-18 10:07:19 · 1977 阅读 · 0 评论 -
神经网络之Initialization
1、前言 神经网络参数众多,权值w的初始化对网络训练影响很大,好的初始化可以加快网络训练的速度,也有可能可以使得网络收敛到更小的误差点。前面学习的时候我们使用了服从(0,1)正态分布的随机初始化方法,网络也基本可以用,使用正态分布的原因是均值为0的正态分布能够让大部分的参数接近0,能加速训练速度。 一个极端的情况就是,w全部使用0来初始化,这个是行不通的,原因是每个神经元的参数都一样的...原创 2018-05-17 16:34:20 · 1376 阅读 · 2 评论 -
神经网络之Dropout
1、前言 前面学习了神经网络的L2正则化,作为避免过拟合的方法,Dropout也非常流行,使用极其广泛。按照吴恩达的描述,Dropout在神经网络中的表现要优于L2正则化。 Dropout的实际做法也很简单,甚至比L2正则化更加简单,因为它没有用到求导的知识,知识用到了简单的矩阵Element-wise乘法。具体思想是:对于所有隐藏层,按照某个概率keep_prob保留神经元,而其他的...原创 2018-05-17 15:45:55 · 751 阅读 · 0 评论 -
神经网络之L2正则化
1、前言 之前的BP神经网络,训练时候,算法会调整每层的参数w使得损失尽可能小,由于数据存在很多干扰或者噪声,容易产生过拟合现象,导致网络对训练数据预测的效果较好,而对测试和验证数据的预测效果较差。过拟合的决策面可能如下所示:2、L2 Regularization 事实表明,在相同网络结构下,决策面越复杂,参数w的值往往更大,而w较小时候,得到的决策面相...原创 2018-05-17 15:28:02 · 7370 阅读 · 0 评论 -
数据分析基础笔记
1、概述 近来开始做kangle的项目,从Titanic开始,一个星期,不断试验,将很多之前学习过的东西都用起来了。这里统一汇总一下,记录下数据分析常用的一些函数、方法等。这些东西属于数据分析的范畴,是特征工程的基础。 下面以Titanic、Iris等数据尽量给出示例。2、Pandas做数据分析的常用函数(1)DataFrame.describe 能够对number类数据进行统计...原创 2018-04-20 22:17:00 · 3271 阅读 · 0 评论 -
kaggle Titanic 分析
1、概述 正式入坑kaggle竞赛,为了学习,做了Titanic: Machine Learning from Disaster,原文地址:https://www.kaggle.com/c/titanic 经过一段时间的学习,对数据分析和机器学习有了更深的了解和认知。在机器学习中,特征工程及其重要,如果特征表达的好,一个复杂的问题用一个简单的分类器可能也能做的很好。sklearn中的算法...原创 2018-04-24 22:05:42 · 980 阅读 · 0 评论 -
PCA主成分分析
1、概述PCA(principle component analysis),也就是主成分分析,其主要目的或者作用是,将原来的数据变换到一个新的空间中,得到数据更好的表达方式,去除影响较小的部分,简化数据的维度。 在看《机器学习实战》时候,一次看下,完全不知道他是怎么做的,网上搜索无数帖子,基本都在讨论或者阐述PCA实现的流程,先怎么样然后怎么样,很少看到讨论我们为什么要这么做,这么做...原创 2018-04-07 12:08:21 · 1710 阅读 · 0 评论 -
Adaboost
1、方法论 adaboost(adaptive boosting, 自适应提升法)是用多个弱分类器组合成强分类器的一种算法,其中这些弱分类器只需要满足分类效果比随机猜测好即可(当然弱分类器越强,需要的弱分类器数量也越少)。用俗话说,人多力量大,或者三个臭皮匠赛过诸葛亮。 adaboost的弱分类器可以使用很多种,常见的是单层决策树。其实很简单,就是只使用特征的一个...原创 2018-04-12 15:48:04 · 243 阅读 · 0 评论 -
岭回归、lasso回归
岭回归(ridge regression)和lasso(least absolute shrinkage and selection operator)都是OLS的改进,知乎上有关于三者异同的详细讨论:https://www.zhihu.com/question/38121173关于lasso:https://zhuanlan.zhihu.com/p/26766850这里记录一下最近的学习心得。岭...原创 2018-04-01 14:36:55 · 1540 阅读 · 0 评论 -
线性回归
1、心路历程 近来学习了感知器、线性回归、逻辑回归等,发现他们大体相似,线性回归其实是做数据拟合,而感知器可以认为是将线性回归应用到分类去了,使用了符号函数来离散化结果,而逻辑回归本质上也是寻找一维矩阵,只是它对线性方程用了sigmod函数,这个方法的好处是可以得到样本属于某一类的概率。 线性回归一般使用最小二乘法来实现,常见有两种推导形式,一种是适用于简单二维平面的场景,y=wx+b,推导过...原创 2018-03-21 22:03:10 · 652 阅读 · 0 评论 -
逻辑回归-Logistic Regression
1、前言首先值得注意的是,逻辑回归(对数几率回归)虽然叫回归,但其实是个分类器。前面学习了线性回归,是用线性方程逼近一个高维平面,如果对y增加函数,则表示用线性方程去逼近一个高维曲面(大概可以这么理解吧),比如:就是意图用线性方程逼近lny2、问题引入前面学习了线性回归,这里尝试用它来进行分类,引用周志华的《机器学习》,这部分写的很好:不过我还是有个疑问,这里是阶跃函数不可导,因此要用sigmoi...原创 2018-03-25 11:27:05 · 630 阅读 · 0 评论 -
L0、L1、L2范数及参数正则化
在深度学习中,监督类学习问题其实就是在规则化参数同时最小化误差。最小化误差目的是让模型拟合训练数据,而规则化参数的目的是防止模型过分拟合训练数据。参数太多,会导致模型复杂度上升,容易过拟合,也就是训练误差小,测试误差大。因此,我们需要保证模型足够简单,并在此基础上训练误差小,这样训练得到的参数才能保证测试误差也小,而模型简单就是通过规则函数来实现的。规则化项可以是模型参数向量的范数。如:L...转载 2018-03-20 22:43:33 · 707 阅读 · 0 评论 -
朴素贝叶斯
-----------------------2018年3月14日,虽然巨星陨落,但我们依然要保持前行 朴素贝叶斯(navie bayes),首先要理解贝叶斯: 目的是求w条件下,Ci发生的概率。其中Ci发生的概率、Ci发生的情况下,w发生的概率、w发生的概率都是可以根据已有的数据计算出来的。 另外要理解的就是朴素一词,朴素贝叶斯假设Ci之间互相独立,而w条件中各维度也是独立的...原创 2018-03-15 08:08:59 · 372 阅读 · 0 评论 -
回归与分类
心路历程:近来学习机器学习基础,发现分不清分类和回归:单层感知器、线性回归、逻辑回归,因此简单研究了一下,得到最透彻的一段话是Andrew NG的课程中关于回归和分类的定义:Supervised learning problems are categorized into "regression" and "classification" problems. In a regression...原创 2018-03-19 23:05:29 · 239 阅读 · 0 评论 -
决策树(ID3算法)
决策树学习笔记1、决策树的概念 顾名思义,决策树是用来:根据已知的若干条件,来对事件作出判断。从根节点到叶子节点,是将不同特征不断划分的过程,最后将类别分出。 在理论学习前,先了解下面一个例子: 如下图所示,根据“不浮出水面是否可以生存”和“是否有脚蹼”两种特征来判断该海洋动物是否鱼类。图中有5个样本,样本中有两种是鱼类,三种不是鱼类。 可建立的特征向量如下:_data_s...原创 2018-03-05 22:05:20 · 35848 阅读 · 3 评论 -
BP神经网络小结
1、逻辑回归 理解逻辑回归是理解BP神经网络的关键,逻辑回归相当于是BP神经网络的最后一层,也就是输出层(BP神经网络用于二分类问题)。下面给出逻辑回归的简单推导过程:公式中已经默认Z=WX+b,损失函数使用交叉熵损失函数修正:W导数中的X应该增加转置上面推导假设一次训练一个样本,如果训练多个样本,最后公式略有不同。由于求导、链式法则的应用都是Element-Wise的,所以求导推导过程基...原创 2018-05-13 17:30:17 · 3526 阅读 · 0 评论