深度学习基础课程笔记
liang_biao
这个作者很懒,什么都没留下…
展开
-
一、机器学习介绍
机器学习 (Machine Learning, ML)1.1 概念:多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。1.2 学科定位:人工智能(Artificial Intelligence, AI)的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各原创 2016-07-04 19:10:03 · 1071 阅读 · 0 评论 -
7.2 简单线性回归应用
简单线性回归模型举例:汽车卖家做电视广告数量与卖出的汽车数量: 1.1 如何练处适合简单线性回归模型的最佳回归线? 使sum of squares最小1.1.2 计算 分子 = (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分母原创 2016-07-06 17:11:54 · 579 阅读 · 0 评论 -
7.3 多元线性回归算法
与简单线性回归区别(simple linear regression) 多个自变量(x)多元回归模型 y=β0+β1x1+β2x2+ … +βpxp+ε 其中:β0,β1,β2… βp是参数 ε是误差值多元回归方程 E(y)=β0+β1x1+β2x2+ … +βpxp估计多元回归方程: y_hat=b0+b1x1+b2x2+ … +bpx原创 2016-07-06 18:07:32 · 1750 阅读 · 0 评论 -
7.4 多元线性回归应用
例子 一家快递公司送货:X1: 运输里程 X2: 运输次数 Y:总运输时间目的,求出b0, b1,…. bp:y_hat=b0+b1x1+b2x2+ … +bpxp Python代码:from numpy import genfromtxtimport numpy as npfrom sklearn import linear_modeldeliveryData=genfro原创 2016-07-06 18:09:08 · 586 阅读 · 0 评论 -
7.5 非线性回归算法
概率:1.1 定义 概率(P)robability: 对一件事情发生的可能性的衡量 1.2 范围 0 <= P <= 1 1.3 计算方法: 1.3.1 根据个人置信 1.3.2 根据历史数据 1.3.3 根据模拟数据 1.4 条件概率: Logistic Regression (逻辑回原创 2016-07-06 19:59:06 · 1135 阅读 · 0 评论 -
7.6 非线性回归算法应用
Python 实现:import numpy as npimport random#m demoted the number of examples here,not the number of featuredef gradientDescent(x,y,theta,alpha,m,numIterations): xTrans=x.transpose() for i in r原创 2016-07-06 20:00:53 · 501 阅读 · 0 评论 -
7.6 回归中的相关度和R平方值
皮尔逊相关系数 (Pearson Correlation Coefficient): 1.1 衡量两个值线性相关强度的量 1.2 取值范围 [-1, 1]: 正向相关: >0, 负向相关:<0, 无相关性:=0 1.3 计算方法举例:X Y 1 10 3 12 8 24原创 2016-07-06 20:38:48 · 2228 阅读 · 0 评论 -
7.7 回归中的相关度的实现
import numpy as npimport mathdef computeCorrelation(x,y): xBar=np.mean(x) yBar=np.mean(y) SSR,varX,varY=0,0,0 for i in range(len(x)): diffXBar=x[i]-xBar diffYBar=y[i]-y原创 2016-07-06 20:40:20 · 352 阅读 · 0 评论 -
8.1 聚类(Clustering) K-means算法
归类: 聚类(clustering) 属于非监督学习 (unsupervised learning) 无类别标记(class label)举例: K-means 算法:3.1 Clustering 中的经典算法,数据挖掘十大经典算法之一 3.2 算法接受参数 k ;然后将事先输入的n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一原创 2016-07-07 00:03:26 · 620 阅读 · 0 评论 -
8.2 聚类(Clustering) K-means算法应用
1.python实现kmean 算法import numpy as npdef kmeans(X,k,maxIt): numPoints,numDim=X.shape dataSet=np.zeros((numPoints,numDim+1)) dataSet[:,:-1]=X centroids=dataSet[np.random.randint(numPoints,原创 2016-07-07 00:05:34 · 848 阅读 · 0 评论 -
8.3 聚类(Clustering) hierarchical clustering 层次聚类
假设有N个待聚类的样本,对于层次聚类来说,步骤: 1、(初始化)把每个样本归为一类,计算每两个类之间的距离,也就是样本与样本之间的相似度; 2、寻找各个类之间最近的两个类,把他们归为一类(这样类的总数就少了一个); 3、重新计算新生成的这个类与各个旧类之间的相似度; 4、重复2和3直到所有样本点都归为一类,结束 整个聚类过程其实是建立了原创 2016-07-07 11:24:02 · 770 阅读 · 0 评论 -
7.1 简单线性回归算法
前提介绍:为什么需要统计量?统计量:描述数据特征0.1 集中趋势衡量0.1.1均值(平均数,平均值)(mean){6, 2, 9, 1, 2}(6 + 2 + 9 + 1 + 2) / 5 = 20 / 5 = 40.1.2中位数 (median): 将数据中的各个数值按照大小顺序排列,居于中间位置的变量 0.1.2.1. 给数据排序:1, 2, 2, 6, 9 0.1.2.原创 2016-07-06 17:06:29 · 781 阅读 · 0 评论 -
6.4 支持向量机应用(下)
利用SVM进行人脸识别实例:from __future__ import print_functionfrom time import timeimport loggingimport matplotlib.pyplot as pltfrom sklearn.cross_validation import train_test_splitfrom sklearn.datasets impor原创 2016-07-06 15:29:20 · 379 阅读 · 0 评论 -
3.1、决策树算法
什么是决策树/判定树(decision tree)?判定树是一个类似于流程图的树结构:其中,每个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布。树的最顶层是根结点。机器学习中分类方法中的一个重要算法构造决策树的基本算法 3.1 熵(entropy)概念: 信息和抽象,如何度量? 1948年,香农提出了原创 2016-07-04 19:33:45 · 603 阅读 · 0 评论 -
3.2 决策树算法应用
PythonPython机器学习的库:scikit-learn2.1: 特性: 简单高效的数据挖掘和机器学习分析 对所有用户开放,根据不同需求高度可重用性 基于Numpy, SciPy和matplotlib 开源,商用级别:获得 BSD许可2.2 覆盖问题领域: 分类(classification), 回归(regression), 聚类(clustering), 降维(di原创 2016-07-04 19:36:46 · 720 阅读 · 0 评论 -
二、基本概念
基本概念:训练集,测试集,特征值,监督学习,非监督学习,半监督学习,分类,回归概念学习:人类学习概念:鸟,车,计算机定义:概念学习是指从有关某个布尔函数的输入输出训练样例中推断出该布尔函数例子:学习 “享受运动” 这一概念:小明进行水上运动,是否享受运动取决于很多因素 天气:晴,阴,雨 温度:暖,冷 湿度:普通,大 风力:强,弱 水温:暖,冷 预报:一样,变化 享受运动:是,否原创 2016-07-04 19:16:36 · 366 阅读 · 0 评论 -
4.1 最近邻规则分类算法(KNN)
综述 1.1 Cover和Hart在1968年提出了最初的邻近算法 1.2 分类(classification)算法 1.3 输入基于实例的学习(instance-based learning), 懒惰学习(lazy learning)例子: 未知电影属于什么类型? 3. 算法详述 3.1 步骤: 为了判断未知实例的类别,以所有已知类别的实例作为参照 选择参数K 计算未知原创 2016-07-05 00:26:27 · 4288 阅读 · 0 评论 -
4.2 最近邻规则分类算法(KNN)应用
1 数据集介绍:虹膜 150个实例 萼片长度,萼片宽度,花瓣长度,花瓣宽度 (sepal length, sepal width, petal length and petal width)类别: Iris setosa, Iris versicolor, Iris virginica.利用Python的机器学习库sklearn: SkLearnExample.pyfrom skle原创 2016-07-05 00:30:10 · 1011 阅读 · 0 评论 -
5.1 神经网络算法
背景: 1.1 以人脑中的神经网络为启发,历史上出现过很多不同版本 1.2 最著名的算法是1980年的 backpropagation 多层向前神经网络(Multilayer Feed-Forward Neural Network) 2.1 Backpropagation被使用在多层向前神经网络上 2.2 多层向前神经网络由以下部分组成: 输入层(input lay原创 2016-07-05 19:33:49 · 486 阅读 · 0 评论 -
5.2 神经网络算法应用
关于非线性转化方程(non-linear transformation function)sigmoid函数(S 曲线)用来作为activation function: 1.1 双曲函数(tanh) 1.2 逻辑函数(logistic function)实现一个简单的神经网络算法NeuralNetwork.pyimport numpy as npdef tanh(x): return原创 2016-07-05 19:41:41 · 546 阅读 · 0 评论 -
6.1 支持向量机算法(上)
背景:1.1 最早是由 Vladimir N. Vapnik 和 Alexey Ya. Chervonenkis 在1963年提出 1.2 目前的版本(soft margin)是由Corinna Cortes 和 Vapnik在1993年提出,并在1995年发表 1.3 深度学习(2012)出现之前,SVM被认为机器学习中近十几年来最成功,表现最好的算法机器学习的一般框架: 训练集 =原创 2016-07-06 00:03:11 · 637 阅读 · 0 评论 -
6.2 支持向量机应用(上)
1 sklearn简单例子# -*- coding:utf-8 -*-from sklearn import svmX=[[2,0],[1,1],[2,3]]y=[0,0,1]clf=svm.SVC(kernel='linear')clf.fit(X,y)print clfprint clf.support_vectors_ #get support vectorsprint clf原创 2016-07-06 09:39:10 · 479 阅读 · 0 评论 -
6.3 支持向量机算法(下)
SVM算法特性: 1.1 训练好的模型的算法复杂度是由支持向量的个数决定的,而不是由数据的维度决定的。所以SVM不太容易产生overfitting 1.2 SVM训练出来的模型完全依赖于支持向量(Support Vectors), 即使训练集里面所有非支持向量的点都被去除,重复训练过程,结果仍然会得到完全一样的模型。 1.3 一个SVM如果训练得出的支持向量个数比较小,SVM训练出的原创 2016-07-06 15:27:56 · 389 阅读 · 0 评论 -
8.4 聚类(Clustering) hierarchical clustering 层次聚类应用
python实现:from numpy import *class cluster_node: def __init__(self,vec,left=None,right=None,distance=0.0,id=None): self.left=left self.right=right self.vec=vec self.原创 2016-07-07 11:25:25 · 597 阅读 · 0 评论