Machine Learning
文章平均质量分 87
imxietx
这个作者很懒,什么都没留下…
展开
-
《机器学习导论》学习札记1——第一章:绪论
之前买的《机器学习导论》这本书一直都没看,当遇到一些计算机视觉的问题的时候,发现拥有完整的理论知识是非常重要的,所以从今天开始花时间来研读这本书。这本书的作者是土耳其的Ethem Alpaydin。 简单介绍一下吧: (阿培丁)Ethem Alpaydin,是土耳其伊斯坦布尔博阿齐奇大学计算机工程系的教授。于1990年在洛桑联邦理工学院获博士学位,之后先后在原创 2015-12-02 13:44:36 · 1568 阅读 · 0 评论 -
机器学习实战 笔记文章链接
声明《机器学习实战》读书笔记系列是我对在读此书过程中遇到的各种问题、及解决方法的记录和总结。 另外我修改了部分源代码,并添加了注释,希望能够帮助到大家。 文章列表《机器学习实战》读书笔记1:NumPy的安装及简单用法 《机器学习实战》读书笔记2:K-近邻(kNN)算法 & 源码分析 《机器学习实战》读书笔记3:信息熵和信息增益 《机器学习实战》读书笔记4:决策树源码分析原创 2017-02-09 14:30:39 · 1700 阅读 · 0 评论 -
感知机的 python 实现
本文的主要内容是感知机的python实现。在阅读程序之前,如果对感知机的原理不了解,可以参考我的上一篇文章:感知机算法原理(PLA原理)及 Python 实现创建一些用于测试的线性可分数据机器学习是数据驱动的学科,如果您在网络上很难找到线性可分的数据的话,不妨自己来“捏造一些”。顺便提一下,因为我没有给我的 ubuntu 上的 sublime 添加中文支持,无法输入中文,所以注释使用英文写的。我会在原创 2017-03-13 20:10:49 · 9337 阅读 · 11 评论 -
感知机算法原理(PLA原理)及 Python 实现
最近遇到很多转载不注明出处,还打着原创旗号的小编和博主,所以: 本文采用 知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议 进行许可。参考书籍:李航老师的《统计学习方法》、林轩田老师的《机器学习基石》如无特殊说明,图片均来自网络(google图片、百度图片),如有侵权请联系我,我会立即删除或更改PLA 是 Perceptron Learning Algorithm 的缩写,也叫感知机算原创 2017-03-12 19:34:49 · 16596 阅读 · 6 评论 -
机器学习笔记01:线性回归(Linear Regression)和梯度下降(Gradient Decent)
最近在Coursera上看吴大神的Machine Learning,感觉讲的真的很棒。所以觉得应该要好好做做笔记,一方面是加强自己对ML中一些方法的掌握程度和理解,另一方面也能方便自己或者同样爱好ML的同学。线性回归(Linear Regression) 线性回归(Linear Regression)应该是机器学习中最基本的东西了。所谓回归,想必大家在高中时期的课程里面就接触过,给定一系列离散的点原创 2016-04-09 14:33:27 · 9877 阅读 · 1 评论 -
机器学习笔记02:多元线性回归、梯度下降和Normal equation
在《机器学习笔记01》中已经讲了关于单变量的线性回归以及梯度下降法。今天这篇文章作为之前的扩展,讨论多变量(特征)的线性回归问题、多变量梯度下降、Normal equation(矩阵方程法),以及其中需要注意的问题。单元线性回归首先来回顾一下单变量线性回归的假设函数: Size(feet2feet^2) Price($\$1000) 2104 460 1416 232 15原创 2016-04-17 00:31:07 · 12588 阅读 · 0 评论 -
机器学习笔记03:Normal equation与梯度下降的比较
在《机器学习笔记02》中已经讲了多变量的梯度下降法,以及其他的一些小技巧和注意事项。下面来讲一种更加数学化的方法,我们称之为Normal equation,网上也没找到什么标准的翻译,就暂且称其为矩阵方程法吧。一、简单回顾梯度下降如下图所示,我们在进行梯度下降的时候,一般都会执行多次迭代,才能得出最佳的一组 θ\theta 值。 我们能不能只用一次数学意义上的计算就能把所有的原创 2016-04-18 21:59:58 · 17566 阅读 · 12 评论 -
机器学习笔记04:逻辑回归(Logistic regression)、分类(Classification)
我们已经大概学习了用线性回归(Linear Regression)来解决一些预测问题,详见: 1.《机器学习笔记01:线性回归(Linear Regression)和梯度下降(Gradient Decent)》 2.《机器学习笔记02:多元线性回归、梯度下降和Normal equation》 3.《机器学习笔记03:Normal equation及其与梯度下降的比较》面对一些类似回归原创 2016-04-28 00:49:04 · 13075 阅读 · 2 评论 -
机器学习笔记05:正则化(Regularization)、过拟合(Overfitting)
说明:文章中的所有图片均属于Stanford机器学习课程(一)过拟合问题(The Problem of Overfitting)不管是在线性回归还是在逻辑回归中,我们都会遇到过拟合的问题。先从例子来看看什么是过拟合。i.线性回归中的过拟合还是以房价预测为例,来看几张张图片:1.欠拟合(Underfitting) 上图中,我们用一条直线 hθ(x)=θ0+θ1xh_原创 2016-04-30 20:01:58 · 11121 阅读 · 4 评论 -
机器学习笔记06:神经网络的表示(Neural Networks-Representation)
神经网络(Neural Networks)其实是一个很古老的想法,但是提出来之后,沉寂了很长一段时间。而现在,神经网络是许多机器学习问题的首选算法。文章内的所有图片均属于Stanford机器学习课程,转载请注明出处一、神经网络的表示(The Representation for Neural Networks)1、运用神经网络的动机(Motivations)非线性的假设原创 2016-05-08 12:31:08 · 6013 阅读 · 2 评论 -
机器学习笔记07:神经网络的反向传播(Backpropagation)
——–本文中除了在图片下方标记了出处的图片,均为原创,转载请注明出处——–上一篇文章《机器学习笔记06:神经网络的表示(Neural Networks-Representation)》 大概描述了神经网络的起源、结构、表示、工作方法及一些应用。今天这篇文章对应 Coursera 上的Stanford机器学习课程的week05。主要的内容是神经网络的学习,包括梯度下降、反向传播等。1.误差函数(Cos原创 2016-05-20 15:10:49 · 12246 阅读 · 6 评论 -
《机器学习实战》读书笔记6:朴素贝叶斯源码
下面是经过我注释并添加 docstring 的朴素贝叶斯分类器源码from numpy import *def loadDataSet(): ''' () -> list of lists, list Return a list of lists which are some posts in a forum and a list containing the correspo原创 2017-02-23 23:20:47 · 1390 阅读 · 0 评论 -
《机器学习实战》读书笔记5:朴素贝叶斯分类器的原理
贝叶斯定理我们知道:P(A∩B)=P(A|B)×P(B)=P(B|A)×P(A)P(A\cap B) = P(A|B)\times P(B) = P(B|A)\times P(A) 所以有:P(A|B)=P(B|A)×P(A)P(B)P(A|B) = \frac{P(B|A)\times P(A)}{P(B)} 这就是贝叶斯定理。贝叶斯分类器的原理假如我们要为一个疾病诊断系统构建一个贝叶斯分原创 2017-02-12 14:31:57 · 1816 阅读 · 0 评论 -
《机器学习实战》读书笔记1:NumPy的安装及简单用法
我以前学习 machine learning,个人觉得应该算是小打小闹,只是简单地了解了一下基本原理,然后改改现成的 matlab 代码。《机器学习实战》这本书已经入差不多两个多月了,但是因为期末考试,到现在基本还没开动。今天是除夕,闲着没事,就把一些基本必需知识和工具做个总结。一、NumPy是啥?就一句话:NumPy是一个科学计算库,用起来简单方便,是一个用Python处理数据的绝佳工具。二、Nu原创 2017-01-27 18:10:15 · 1598 阅读 · 1 评论 -
Coursera机器学习 week5 神经网络的学习 编程作业代码
这是Coursera上Week6的神经网络的学习部分的编程作业代码。经过测验,全部通过。下面是 sigmoidGradient.msigmoidGradient.m 的代码:% sigmoidGradient.mfunction g = sigmoidGradient(z)%SIGMOIDGRADIENT returns the gradient of the sigmoid function%原创 2016-05-21 09:39:00 · 8374 阅读 · 5 评论 -
Coursera机器学习 week4 神经网络的表示 编程作业代码
这是Coursera上 Week4 的 “神经网络的表示” 的编程作业代码。经过测验,全部通过。下面是 lrCostFunction.mlrCostFunction.m 的代码:% lrCostFunction.mfunction [J, grad] = lrCostFunction(theta, X, y, lambda)%LRCOSTFUNCTION Compute cost and grad原创 2016-05-21 13:46:16 · 9067 阅读 · 3 评论 -
Coursera机器学习 week3 逻辑回归 编程作业代码
这是Coursera上 Week3 的 “逻辑回归” 的编程作业代码。经过测验,全部通过。下面是 sigmoid.msigmoid.m 的代码:function g = sigmoid(z)%SIGMOID Compute sigmoid functoon% J = SIGMOID(z) computes the sigmoid of z.% You need to return th原创 2016-05-21 16:05:47 · 6890 阅读 · 0 评论 -
Coursera机器学习 week6 编程作业代码
这是Coursera上 Week4 的 “神经网络的表示” 的编程作业代码。经过测验,全部通过。下面是 linearRegCostFunction.m 的代码:function [J, grad] = linearRegCostFunction(X, y, theta, lambda)%LINEARREGCOSTFUNCTION Compute cost and gradient for原创 2016-05-21 16:29:12 · 5787 阅读 · 0 评论 -
Coursera机器学习 week2 多变量线性回归 编程作业代码
这是Coursera上 Week2 的 “多变量线性回归” 的编程作业代码。经过测验,全部通过。包括以下八个文件:% warmUpExercise.m% plotData.m% gradientDescent.m% computeCost.m% gradientDescentMulti.m% computeCostMulti.m%原创 2016-05-21 16:22:12 · 7799 阅读 · 7 评论 -
机器学习笔记09:支持向量机(二)-核函数(Kernels)
再吐槽一下CSDN的markdown编辑器,真的是烂,多少年了连个博客编辑器都做不好,数学公式一长,就卡的一笔。希望CSDN能出个离线的博客。核函数是 SVM 的最重要的部分,我们可以通过设置不同的核函数来创造出非常复杂的、非线性的支持向量机。1.核(Kernel)首先来看看什么是核函数。如图所示,假设有一个样本 xx 有两个特征 x1,x2x_1,x_2,我们可以根据与地标(la原创 2016-05-28 00:29:45 · 4678 阅读 · 0 评论 -
Coursera Stanford 机器学习 笔记文章链接
此系列笔记对应于Coursera上的Stanford机器学习课程文章链接: 1.《机器学习笔记01:线性回归(Linear Regression)和梯度下降(Gradient Decent)》 2.《机器学习笔记02:多元线性回归、梯度下降和Normal equation》 3.《机器学习笔记03:正规方程(Normal equation)与梯度下降的比较》 4.《机器学习笔记04:逻辑回归原创 2016-04-29 12:09:43 · 7971 阅读 · 1 评论 -
《机器学习实战》读书笔记4:决策树源码分析
本文对《机器学习实战》第三章——决策树的源码进行了全面的分析和解释。由于个人觉得作者的代码变量命名具有一定的迷惑性,使读者容易混淆,所以部分代码可能作了修改。本文只包含了构建决策树、用决策树分类、序列化决策树的代码。不包括画图的代码程序清单3-0:创建简单的数据集这部分是书上的python交互命令创建数据集的代码,写成函数,不用每次都输入一长传命令:def createDataSet():原创 2017-02-07 23:27:24 · 1936 阅读 · 2 评论 -
《机器学习实战》读书笔记3:信息熵和信息增益
点进来的读者肯定都看过《机器学习实战》第三章-决策树,所以就不罗嗦啦。上一篇文章实在是太罗嗦了。:)信息熵(或香浓熵): Entropy首先举个例子:假如美国参众两院要弹劾川普,通过提前走访调查议员的想法,得出结果有80%的可能性川普被弹劾,20%的可能性川普不被弹劾。那么我们知道了川普很可能会被弹劾。好了,我们待会儿再来说川普。现在给出信息的计算公式: info(xi)=−log2p(xi)i原创 2017-02-06 17:07:04 · 2953 阅读 · 0 评论 -
《机器学习实战》读书笔记2:K-近邻(kNN)算法 & 源码分析
声明:文章是读书笔记,所以必然有大部分内容出自《机器学习实战》。外加个人的理解,另外修改了部分代码,并添加了注释1、什么是K-近邻算法?简单地说,k-近邻算法采用测量不同特征值之间距离的方法进行分类。不恰当但是形象地可以表述为近朱者赤,近墨者黑。它有如下特点:优点:精度高、对异常值不敏感、无数据输入假定缺点:计算复杂度高、空间复杂度高适用数据范围:数值型和标称型2、K-近邻算法的工作原理:存原创 2017-02-03 00:43:27 · 4383 阅读 · 1 评论 -
机器学习笔记08:支持向量机(一)(SVM)
在网上找了很多支持向量机的资料看都是迷迷糊糊没完全搞懂,可能是我理解能力比较差,最后还是 Coursera 上吴大神的 Machine Learning 课程把我一下子讲懂了。由于支持向量机是由逻辑回归(Logistic Regression)衍生而来的,所以学习 SVM 之前务必完全理解逻辑回归。另外,文章中有些关于逻辑回归的东西(例如符号标记、函数的具体由来及其的一些性质)还请参考之前的两篇文章原创 2016-05-25 19:40:35 · 3317 阅读 · 0 评论