
彭亮之深度学习基础介绍-机器学习
忧郁一休
算法初学者
展开
-
第20节--非线性回归(上)
1. 概率:1.1 定义概率(Probability): 对一件事情发生的可能性的衡量1.2 范围0 <= P <= 11.3 计算方法 1.3.1 根据个人置信 1.3.2 根据历史数据 1.3.3 根据模拟数据1.4 条件概率2. Logistic Regression (逻辑回归)2.1 例子2.2 基本模型2.3 Cost函数线性回归:逻辑回归:cos原创 2016-11-03 11:30:26 · 875 阅读 · 0 评论 -
第3节--深度学习介绍
深度学习(Deep Learning)什么是深度学习? 深度学习是基于机器学习延伸出来的一个新的领域,由以人大脑结构为启发的神经网络算法为起源加之模型结构深度的增加发展,并伴随大数据和计算能力的提高而产生的一系列新的算法。深度学习什么时间段发展起来的? 其概念由著名科学家Geoffrey Hinton等人在2006年和2007年在《Sciences》等上发表的文章被提出和兴起。学习能用原创 2016-10-20 21:14:49 · 977 阅读 · 0 评论 -
第4节--机器学习的基本概念
1、基本概念: 训练集,测试集,特征值,监督学习,非监督学习,半监督学习,分类,回归2、概念学习: 人类学习概念:鸟,车,计算机 定义:概念学习是指从有关某个布尔函数的输入输出训练样例中推断出该布尔函数3、例子:学习 “享受运动” 这一概念:小明进行水上运动,是否享受运动取决于很多因素概念定义在实例(instance)集合之上,这个集合表示为X。 X:所有可能的日子原创 2016-10-21 11:00:52 · 970 阅读 · 0 评论 -
第5节--决策树算法
0、机器学习中算法的评价准确率速度强壮性可规模性可解释性1、什么是决策树(decision tree)决策树是一个类似于流程图的树结构:其中,每个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布。树的最顶层是根结点。2、决策树算法是机器学习中分类方法中一个重要的算法3、构造决策树的基本算法例子:“什么样的人买电脑”下图为数据集: 下图为依据数据集建原创 2016-10-21 11:25:04 · 1593 阅读 · 0 评论 -
第6节--决策树算法实现(scikit-learn)
1、python本课程的机器学习的算法都是基于python语言实现的,所以你需要有一定的python语言基础,可以参考彭亮在麦子学院讲授的“Python语言编程基础”。2、python机器学习的库:scikit-learn特性: 简单高效的数据挖掘和机器学习分析 对所有用户开放,根据不同需求高度可重用性 基于Numpy, SciPy和matplotlib 开源,商用级别:获得 BSD许可覆盖原创 2016-10-22 21:36:45 · 3663 阅读 · 3 评论 -
第7节--KNN算法
1. 综述:1.1 Cover和Hart在1968年提出了最初的邻近算法 1.2 KNN算法属于分类(classification)算法 1.3 输入基于实例的学习(instance-based learning), 懒惰学习(lazy learning)2. 例子:未知电影属于什么类型?3. 算法详述:3.1 步骤:1 为了判断未知实例的类别,以所有已知类别的实例作为参照 2 选择参数K原创 2016-10-25 15:52:05 · 760 阅读 · 0 评论 -
第8节--KNN算法的python实现
1 Iris Plants Database介绍:150个实例特征值(4种): 萼片长度,萼片宽度,花瓣长度,花瓣宽度 (sepal length, sepal width, petal length and petal width)类别(3类): Iris setosa, Iris versicolor, Iris virginica.2. KNN实现(利用sklearn机器学习库): fr原创 2016-10-25 16:20:19 · 1368 阅读 · 2 评论 -
第13节--神经网络算法
1. 背景1.1 以人脑中的神经网络为启发,历史上出现过很多不同版本 1.2 最著名的算法是1980年的 backpropagation算法 2. 多层前馈神经网络(Multilayer Feed-Forward Neural Network)2.1 Backpropagation算法被使用在多层前馈神经网络上 2.2 多层前馈神经网络由以下部分组成(如下图): 输入层(input layer原创 2016-11-01 15:12:25 · 1331 阅读 · 0 评论 -
第14节--神经网络算法(python实现)
1. 关于非线性转化方程(non-linear transformation function)sigmoid函数(S 曲线)用来作为activation function: 1.1 双曲函数(tanh) 1.2 逻辑函数(logistic function)2. 实现一个简单的神经网络算法import numpy as npdef tanh(x): return np.tanh(x)原创 2016-11-01 19:30:33 · 1475 阅读 · 0 评论 -
第15节--神经网络应用--异或判断、手写数字识别
1. 简单非线性关系数据集测试(XOR):X—>y 00–>0 01–>1 10–>1 11–>0调用上节课的神经网络程序,实现异或预测from NeuralNetwork import NeuralNetworkimport numpy as npnn = NeuralNetwork([2,2,1],'tanh')X = np.array([[0,0],[0,1],[1,0],[1,1原创 2016-11-01 19:41:42 · 885 阅读 · 0 评论 -
第16节--简单线性回归(上)
0. 前提介绍:为什么需要统计量? 统计量:描述数据特征0.1 集中趋势衡量0.1.1均值(平均数,平均值)(mean){6, 2, 9, 1, 2}(6 + 2 + 9 + 1 + 2) / 5 = 20 / 5 = 40.1.2中位数 (median): 将数据中的各个数值按照大小顺序排列,居于中间位置的变量给数据排序:1, 2, 2, 6, 9 找出位置处于中间的变量:2当n为基数的时候:原创 2016-11-02 15:11:57 · 758 阅读 · 0 评论 -
第17节--简单线性回归(下)
1. 简单线性回归模型举例:汽车卖家做电视广告数量与卖出的汽车数量:1.1 如何画出适合简单线性回归模型的最佳回归线?使sum of squares最小计算过程分子 = (1-2)(14-20)+(3-2)(24-20)+(2-2)(18-20)+(1-2)(17-20)+(3-2)(27-20) = 6 + 4 + 0 + 3 + 7 = 20分母 = (1-2)^2 + (3-2)^2原创 2016-11-02 16:33:11 · 727 阅读 · 0 评论 -
第18节--多元线性回归(上)
1. 与简单线性回归区别(simple linear regression)多个自变量(x)2. 多元回归模型y=β0+β1x1+β2x2+ … +βpxp+ε 其中:β0,β1,β2… βp是参数值,ε是误差值3. 多元回归方程E(y)=β0+β1x1+β2x2+ … +βpxp4. 估计多元回归方程y_hat=b0+b1x1+b2x2+ … +bpxp一个样本被用来计算β0,β1,β2… βp原创 2016-11-02 16:43:54 · 900 阅读 · 0 评论 -
第2节--深度学习基础介绍-机器学习--课程介绍(下)
接第1节–深度学习基础介绍-机器学习–课程介绍(上)4、Demo - 微软实时语音翻译(一个说英语的人,系统模拟说话人的声音实时说出对应的汉语) - Google无人车送盲人去超市购物 - Google翻译 - 淘宝购物推荐系统 - 无人机玩平衡杆原创 2016-10-20 20:23:30 · 1142 阅读 · 0 评论 -
第1节--深度学习基础介绍-机器学习--课程介绍(上)
本课程是来自麦子学院彭亮老师的——深度学习基础介绍-机器学习 共27小节,以下是我的学习笔记。1、课程介绍学习前提 对微积分,线性代数,概率论的基本知识有一定了解有一定编程基础(最好是Python)学习目标 理解机器学习的概念、原理、常用算法学会对数据的预处理使用Python语言和相关的机器学习库使用常用算法和应用框架解决实际问题课程安排 基本介绍基本概念监督学习(分类、回原创 2016-10-20 20:42:30 · 4048 阅读 · 0 评论 -
第19节--多元线性回归(下)
接上一节的例子 以下为python代码,有错误,无法解决,不开心!!!from numpy import genfromtxtimport numpy as npfrom sklearn import datasets, linear_modeldataPath = open(r"D:\eclipse\mars\project\DeepLearningBasicsMachineLearning原创 2016-11-02 22:30:16 · 639 阅读 · 0 评论 -
第21节--非线性回归(下)
logistics regression: (梯度下降法)code:import numpy as npimport randomdef gradientDescent(x,y,theta,alpha,m,numIterations): xTrans = x.transpose() for i in range(0,numIterations): hypothes原创 2016-11-03 13:39:12 · 701 阅读 · 0 评论 -
第22节--回归中的相关度和R平方值
相关系数R平方值定义:决定系数,反应因变量的全部变异能通过回归关系被自变量解释的比例。描述:如R平方为0.8,则表示回归关系可以解释因变量80%的变异。换句话说,如果我们能控制自变量不变,则因变量的变异程度会减少80%简单线性回归:R^2 = r * r多元线性回归: R平方也有其局限性:R平方随着自变量的增加会变大,R平方和样本量是有关系的。因此,我们要到R平方进行修正。修正的方法:原创 2016-11-03 14:05:27 · 7965 阅读 · 0 评论 -
第23节--回归中的相关度和R平方值应用
皮尔逊相关系数与R平方决定系数的计算程序:import numpy as npfrom astropy.units import Ybarnimport mathdef computeCorrelation(X,Y): xBar = np.mean(X) yBar = np.mean(Y) SSR = 0 varX = 0 varY = 0 for i原创 2016-11-03 14:49:11 · 982 阅读 · 0 评论 -
第24节--聚类之K-means算法(上)
1. 归类:聚类(clustering) 属于非监督学习 (unsupervised learning) 无类别标记(class label)2. 举例:3. K-means 算法:3.1 Clustering 中的经典算法,数据挖掘十大经典算法之一。3.2 算法接受参数 k ;然后将事先输入的n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似原创 2016-11-03 18:45:52 · 673 阅读 · 0 评论 -
第25节--聚类之K-means算法(下)
K-means算法实现代码:(接上一节的小例子,如图)import numpy as np# Function: K Means# -------------# K-Means is an algorithm that takes in a dataset and a constant# k and returns k centroids (which define clusters of d原创 2016-11-03 19:51:45 · 814 阅读 · 0 评论 -
第26节--层次聚类(上)
算法描述:假设有N个待聚类的样本,对于层次聚类来说,步骤: 1、(初始化)把每个样本归为一类,计算每两个类之间的距离,也就是样本与样本之间的相似度; 2、寻找各个类之间最近的两个类,把他们归为一类(这样类的总数就少了一个); 3、重新计算新生成的这个类与各个旧类之间的相似度; 4、重复2和3直到所有样本点都归为一类,结束整个聚类过程其实是建立了一棵树,在建立的过程中,可以通过在第二步上设置一原创 2016-11-03 20:11:01 · 975 阅读 · 0 评论 -
第27节--层次聚类(下)
层次聚类代码:from numpy import *"""Code for hierarchical clustering, modified from Programming Collective Intelligence by Toby Segaran (O'Reilly Media 2007, page 33). """class cluster_node: def __ini原创 2016-11-03 21:17:20 · 783 阅读 · 0 评论 -
第9节--支持向量机(SVM)算法原理
1 背景最早是由 Vladimir N. Vapnik 和 Alexey Ya. Chervonenkis 在1963年提出 目前的版本(soft margin)是由Corinna Cortes 和 Vapnik在1993年提出,并在1995年发表 深度学习(2012)出现之前,SVM被认为机器学习中近十几年来最成功,表现最好的算法2 机器学习的一般框架训练集 => 提取特征向量 => 结合原创 2016-10-31 15:53:35 · 1257 阅读 · 0 评论 -
第10节--支持向量机(SVM)算法代码
1 sklearn实现svm的小例子from sklearn import svmX = [[2,0],[1,1],[2,3]]y = [0,0,1]clf = svm.SVC(kernel = "linear")clf.fit(X,y)print(clf)print(clf.support_vectors_)print(clf.support_)print(clf.n_support_)2原创 2016-10-31 19:03:10 · 908 阅读 · 0 评论 -
第11节--支持向量机(SVM)--线性不可分
1. SVM算法特性:1.1 训练好的模型的算法复杂度是由支持向量的个数决定的,而不是由数据的维度决定的。所以SVM不太容易产生overfitting 1.2 SVM训练出来的模型完全依赖于支持向量(Support Vectors), 即使训练集里面所有非支持向量的点都被去除,重复训练过程,结果仍然会得到完全一样的模型。 1.3 一个SVM如果训练得出的支持向量个数比较小,SVM训练出的模型比较原创 2016-10-31 20:06:43 · 1195 阅读 · 0 评论 -
第12节--支持向量机(SVM)算法在人脸识别上的应用
# -*- coding: gbk -*-# 利用SVM进行人脸识别实例:from __future__ import print_functionfrom time import timeimport loggingimport matplotlib.pyplot as pltfrom sklearn.cross_validation import train_test_splitfrom原创 2016-10-31 21:59:07 · 1976 阅读 · 1 评论 -
第28节--《深度学习基础介绍-机器学习》课程总结
——————本课程共28小节,至此完结——————课程总结:基本知识 机器学习介绍 深度学习介绍 机器学习的基本概念监督学习–分类问题 决策树算法 KNN算法 SVM算法 神经网络算法监督学习–回归问题 简单线性回归 多元回归分析 非线性回归 相关系数、R平方值非监督学习–聚类算法 K-means算法 层次聚类算法原创 2016-11-03 21:43:15 · 938 阅读 · 0 评论