机器学习
土肥宅娘口三三
这个作者很懒,什么都没留下…
展开
-
机器学习之线性回归-AndrewNg学习笔记
监督学习从讨论监督学习问题的例子出发,假设我们有某个地区住房面积和相应房价的数据集合。对于这样的给定的数据, 我们的目的是要利用已有的信息,来对房价建立预测模型。即对于给定的房屋信息(房屋面积)预测其房价。为了方便以后的使用,我们首先定义一些符号标记。我们使用x(i)表示输入变量(或者是特征),使用y(i)表示我们将要预测的输出变量或者说是目标变量(或者叫做标记)。(x(i), y(i))原创 2016-11-12 00:30:44 · 3323 阅读 · 0 评论 -
机器学习笔记-Neural Network
Neural NetworkMotivation从我们熟悉的perceptron说起, perceptron就是从原创 2017-12-09 20:41:38 · 7276 阅读 · 0 评论 -
机器学习笔记-Deep Learning
在上一篇的介绍中我们看到在Neural networkNeural\ network中有一层一层的神经元,它们的作用就是帮助我们识别出资料中的模式patternpattern,将这些模式当成是特征。通过BPBP算法可以帮助我们计算梯度,这样就可以利用GDGD类算法来更新每一个权重,最终得到神经网络中每一个神经元的权重 w(l)ijw_{ij}^{(l)}。所以神经网路的核心就是这些一层一层的神经元原创 2017-12-18 15:36:09 · 7208 阅读 · 0 评论 -
机器学习笔记-Radial Basis Function Network
Radial Basis Function Network先从一个之前介绍过的模型Gassian SVMGassian\ SVM 说起,简单的来说这个模型就是在SVMSVM中加入了高斯核函数,从而可以做到在无限维度的空间中找最大分隔超平面。该模型最终得到的分类器如下: gsvm(x)=sign(∑SVαnynexp(−γ∥x−xn∥2)+b)(1)g_{svm}(x) = sign\bigg原创 2017-12-20 20:49:43 · 11729 阅读 · 0 评论 -
机器学习笔记-Matrix Factorization
Matrix FactorizationLinear Network Hypothesis上一篇介绍了RBF NetworkRBF\ Network,简单来说这个模型可以看成是由到很多不同的中心点的相似性的线性组合,其中使用聚类算法kk-MeansMeans来计算中心点。机器学习算法的目的是希望能从资料datadata中学习到某种能力skillskill。例如一个经典的场景是,从用原创 2017-12-22 16:26:23 · 7922 阅读 · 0 评论 -
SVM学习笔记-核函数与非线性SVM
核技术回顾上次讲到了SVM的对偶形式,这个对偶问题也是二次规划问题。所以可以使用二次规划的方法来解决。之所以要使用SVM的对偶形式,是因为它告诉了我们SVMSVM背后的一些几何意义,例如,对偶的SVM问题的解中αn≥0\alpha_n \ge 0所对应的那些点(zn,yn)(z_n, y_n)就是我们想要找的支撑向量。另一方面,这个对偶问题在求解的时候好像几乎和我们所在的空间的维度没有原创 2017-08-12 09:30:10 · 8794 阅读 · 0 评论 -
机器学习笔记-Kernel Logistic Regression
Kernel Logistic Regression本篇要介绍的是将Logistic Regression和Kernel函数结合在一起的应用。即我们要讨论的是:如果想要把KernelKernel的技巧使用在logistic Regressionlogistic\ Regression上,我们应该怎么做?Soft-Margin SVM as Regularized Model回顾原创 2017-11-16 21:15:36 · 4797 阅读 · 1 评论 -
机器学习笔记-Nonlinear Transformation
本系列共四篇,为林轩田机器学习基础篇学习笔记。线性模型通过非线性的变换可以得到非线性的模型,增强了模型对数据的认识能力,但这样导致了在机器学习领域中一个很常见的问题,过拟合。为了解决这个问题引入了规则化因子。为了解决规则化因子的选择,模型的选择,参数的选择等问题引入了validationvalidation的相关方法。机器学习笔记-Nonlinear TransformationNonlinear原创 2018-01-03 19:37:57 · 7129 阅读 · 0 评论 -
机器学习笔记-Hazard of Overfitting
什么是过拟合将线性模型加上非线性的转换就可以很方便的产生非线性的模型来完成我们的学习任务。但是这样做的缺点是要付出额外的模型复杂度代价。正是这个额外的模型复杂度会造成机器学习中一个很容易出现和很难解决的问题就是过拟合的问题,本小节先分析过拟合产生的原因, 然后给出解决的方法。例子 以上是一个一维的回归分析的例子。一共有5个资料点,x随机产生,y是将x带入一个二次多项式然后再加原创 2018-01-03 19:41:28 · 1308 阅读 · 0 评论 -
机器学习笔记-Regularization
Regularized Hypothesis Set上一篇中说到,在机器学习中最大的危险是过拟合。 当使用的模型的复杂度过高,资料量不多,资料存在噪声或者是目标函数很复杂的时候都有可能会出现过拟合的情况。Regularization可以看成是对付overfitting的一个方法。 右图是一个典型的overfitting的情形,资料量大小为5,当我们使用一个4次甚至是更高次的多项式去原创 2018-01-03 19:46:23 · 6721 阅读 · 0 评论 -
机器学习笔记-Validation
可以使用regularization来避免overfitting的发生。监督机器学习问题可以概括为:在规则化参数的同时最小化误差。最小化误差是为了让我们的模型拟合我们的训练数据,而规则化参数是防止我们的模型过分拟合我们的训练数据。Regularization的具体做法是我们不只是专注在最小化EinE_{in}上,而是在EinE_{in}上加上一个regularizer,将得到的augmented原创 2018-01-03 19:49:40 · 7391 阅读 · 0 评论 -
决策树ID3算法及实现
0. 信息论信道模型和信息的含义信息论是关于信息的本质和传输规律的理论。 信道模型:信源(发送端)-> 信道 -> 信宿(接收端) 1. 通信过程是在随机干扰的环境汇中传递信息的过程 2. 信宿对于信源的先验不确定性:在通信前,信宿不能确切的了解信源的状态; 3. 信宿对于信源的后验不确定性:在通信后,由于存在干扰,信宿对于接收到的信息仍然具有不确定性 4. 后验不确定性总是原创 2018-01-12 21:32:27 · 13467 阅读 · 0 评论 -
machine learning博客索引
本系列为台大林轩田老师《机器学习基石》和《机器学习技法》课程的部分学习笔记。机器学习基础机器学习笔记-Nonlinear Transformation机器学习笔记-Hazard of Overfitting机器学习笔记-Regularization机器学习笔记-Validation机器学习笔记-线性回归机器学习笔记-Logistic回归机器学习笔记-利用线性模型进行分类SV...原创 2018-06-16 08:21:17 · 1047 阅读 · 0 评论 -
XGBoost 1 - 基础及简单调用
XGBoostextreme gradient boosting, 是gradient boosting machine的优化实现,快速有效。xgboost简介 xgboost特点xgboost基本使用指南xgboost理论基础 supervise learningCARTboostinggradient boostingxgboostxgboost实战 特征工程参...原创 2018-07-03 14:23:56 · 3655 阅读 · 0 评论 -
XGBoost 2 - 机器学习基础
2 - 机器学习基础监督学习分类回归树随机森林2.1 - 监督学习模型参数目标函数 损失函数正则项优化2.1.1 - 模型若y为离散值,则为分类问题;若y为连续值,则为回归问题。对于给定的x如何预测标签y^y^\hat{y}? - 对于回归问题中的线性回归,其模型为:y^=f(x)=∑jwjxjy^=f(x)=∑jwjxj\hat{y} = f...原创 2018-07-03 14:25:02 · 636 阅读 · 0 评论 -
机器学习笔记-Support Vector Regression(SVR)
Support Vector Regression(SVR)上一篇中的内容是KLR(kernel logistic regression)KLR(kernel\ logistic\ regression)。这个问题的出发点是我们想要把SVMSVM这个强大的工具用在soft binary classificationsoft\ binary\ classification上,我们有两种选择: 第一种方原创 2017-11-26 20:22:31 · 11952 阅读 · 0 评论 -
机器学习--knn手写数字识别系统
0.刚接触java,并且在学习机器学习的相关算法,knn又非常的易于实现,于是就有了这个小系统。1.knn算法简介:2.该程序的功能主要有如下几个, 功能1:可以在面板上手写输入数字 功能2:可以对特定的区域进行截屏,因为要获取用户手写的数字,保存为图像,然后使用算法进行分析 功能3:可以对图片进行缩放,要保证图片的大小(维度)要和原创 2017-05-07 20:04:05 · 3050 阅读 · 0 评论 -
机器学习笔记-利用线性模型进行分类
理论部分这一部分主要是为了证明为什么可以使用线性回归和逻辑斯蒂回归来做二元分类问题。我们想要将已知的线性模型应用到二分类甚至是多分类的问题。我们已知的线性模型有如下的三种,它们有一个共同的地方是都会利用输入的特征计算一个加权和 s=wTxs = w^Tx。 线性分类不好解, 因为想要最小化E0/1(w)E_{0/1}(w)被证明是一个NP难问题。但相比之下,线性回归和逻辑斯蒂回归原创 2017-08-16 14:10:44 · 4821 阅读 · 0 评论 -
SVM学习笔记-对偶形式的SVM
Roadmap上一篇笔记讲述了一个模型:线性支撑向量机。其目的是要找一个比较“胖”的分割线或者叫分割超平面,因为这些比较“胖”的hyperplane对于测量误差是比较robust的。并且使用二次规划方法来解决这样的问题。 这篇将要讲述的是将这个模型转化为另一种形式,以使得该模型可以更容易的延伸到其他不同的各种各样的应用当中去。Non-Linear Support Vector Mac原创 2017-08-12 09:29:01 · 8143 阅读 · 1 评论 -
机器学习笔记-线性回归
Linear Regression Problem信用额度预测希望算法可以给出针对用户信用卡额度的预测,即当我们收集到用户的一些信息(如下),那么我们如何决定发放给该用户的信用额度呢? 线性回归这个问题要求我们的hypothesis可以给出实数范围内的预测结果。同样的从最简单的假设出发,对于每一个用户,x=(x0,x1,x2,⋯,xd)x = (x_0 , x_1, x_2, \cdots,原创 2017-08-23 10:20:42 · 1779 阅读 · 0 评论 -
logistic regression识别真假币
介绍本篇实现了使用logisticlogistic回归进行真假币的判断,有关logistic regressionlogistic\ regression的详细讲解见这里。本篇使用随机梯度下降算法(SGD)(SGD)来求解logistic regressionlogistic\ regression,使用的数据集为钞票数据集。该数据集有17321732个样本, 每一个样本有44个特征。yy为00表示原创 2017-10-31 18:54:24 · 1788 阅读 · 0 评论 -
机器学习笔记-Logistic回归
回顾linearregressionlinear\ regression如果使用平方错误的话,我们可以很方便的解析出最好的ww是什么。即wbest=X†yw_{ best}=X^{\dagger} yLogistic Regression Problem问题的提出从一个人的身体数据来判断这个人有没有心脏病,这是一个典型的二元分类问题。Logistic Regression关注的是根据一个人的身体状原创 2017-08-23 10:30:23 · 3486 阅读 · 0 评论 -
SVM学习笔记-软间隔SVM
回顾在上一篇中记录了Kernel SVM,利用核函数使得我们可以通过对偶形式的SVM解决非线性的问题,例如使用高斯核函数可以在无限维度的空间中寻找超平面。但是正如我们之前说到过的,高斯SVM在参数选择的不恰当的时候,也会出现overfit的情况。为什么SVM也会出现overfit的情况呢?一个原因可能是因为我们选择的特征转化太过于powerful,就算存在最大间隔的限制,最终也还是会出现过拟合原创 2017-08-12 09:31:13 · 23471 阅读 · 5 评论 -
SVM学习笔记-线性支撑向量机
Linear Support Vector MachineLinear Classification Revisited当数据是线性可分的时候,PLA算法可以帮助我们找到那个hyperplane。 Which Line Is Better?对于PLA算法来说,最终得到哪一条线是不一定的,取决于算法scan数据的过程。从VC bound的角度来说,上述三条线的复杂度是一样的原创 2017-08-12 09:27:55 · 7739 阅读 · 1 评论 -
机器学习笔记-Adaptive Boosting
Motivation of Boosting识别苹果通过以下20个样本,其中前十个是苹果,后十个不是苹果,老师想要教会小孩子们如何识别苹果。 老师:Michael,前十张图片是苹果,下面的十张不是,通过观测,你觉得苹果长什么样子呢? Michael:我觉得苹果是圆的如果根据Michael所说的规则, 所有的小孩子们都会觉得圆形的就是苹果,在这种简单的规则下有一些原创 2017-11-24 09:20:41 · 7025 阅读 · 0 评论 -
机器学习笔记-Blending and Bagging
为什么要用aggregation如果我们已经有了一些模型hypothesishypothesis,或者已经有了一些featurefeature,这些hypothesishypothesis可以帮助我们做预测,我们怎么样将这些已有的hypothesishypothesis或者是有有预测性的featurefeature结合起来,让它们在一起的时候可以work的更好。这样的模型我们称之为aggreg原创 2017-11-23 20:01:27 · 7035 阅读 · 1 评论 -
机器学习笔记-Decision Tree
上一篇讲解了Adaptive Boosting算法,这个算法有两个特点:第一个是在第t轮中通过调整每一个样本点的权重值以使得在t+1t+1轮得到不同于的gtg_t的gt+1g_{t+1};第二点是通过gtg_t的表现计算一个值作为权重将其线性的融合到GG中。这样的算法被证明当base learnerbase\ learner不怎么强的时候,通过这样的方式也可以得到很强的效果。Decision原创 2017-11-29 09:39:36 · 7394 阅读 · 0 评论 -
机器学习笔记-Random Forest
随机森林算法回顾Bagging和Decision Tree这篇主要讲述机器学习中的随机森林算法相关的知识。首先回顾一下我们在前几篇博文中提到的两个模型,Bagging和Decision Tree。 Bagging算法的主要过程是通过bootstraping的机制从原始的资料D\mathcal{D}中得到不同的大小为N′N'资料D~t\mathcal{\tilde{D}_t},将这些资料原创 2017-11-29 09:43:33 · 7353 阅读 · 0 评论 -
机器学习笔记-Gradient Boosted Decision Tree
上一篇介绍了Random Forest,该算法利用Bagging中的bootstrapping机制得到不同的Decision Tree, 然后将这些Decision Tree融合起来。除了基本的Bagging和Decision Tree之外,Random Forest还在Decision Tree中加入了更多的randomness。有了这些机制之后,我们发现这个算法可以利用OOB数据做self-V原创 2017-11-29 09:47:37 · 8704 阅读 · 0 评论 -
sklearn之SVM二分类
理论部分线性支持向量机对偶形式支持向量机核函数支持向量机软间隔支持向量机Kernel Logistic RegressionSupport Vector Regression(SVR) 使用sklearn实现的不同核函数的SVM使用不同核函数的SVMSVM用于二分类问题并可视化分类结果。# -*- coding: utf-8 -*-import numpy as npimport原创 2017-12-04 08:37:24 · 15407 阅读 · 5 评论 -
XGBoost 3 - XGBoost原理及调用
XGBoost原理Boosting AdaBoostGradient BoostingXGBoost1 - BoostingBoosting: 将弱学习器组合成强分类构造一个性能很高的强学习器是一件很困难的事情但构造一个性能一般的弱学习器并不难弱学习器:性能比随机猜测好(层数不深的CART是一个好选择)G(x)=∑t=1Tαtϕt(x)G(x)=∑t=1Tα...原创 2018-07-03 14:30:30 · 1484 阅读 · 2 评论