原文地址:http://www.jianshu.com/p/4bc01760ac20 问题描述 程序实现 17-18 # coding: utf-8 import numpy as np import matplotlib.pyplot as plt def sign(n): if(n>0): return 1 else: return -1 def gen_data(): data_X=np.random.uniform(-1,1,(20,1))# [-1,1) data_Y=np.zeros…
原文地址:http://www.jianshu.com/p/5b4a64874650 问题描述 程序实现 # coding: utf-8 import numpy as np import matplotlib.pyplot as plt import time def read_data(dataFile): with open(dataFile, 'r') as file: data_list = [] for line in file.readlines(): line = line.st…
原文地址:https://www.jianshu.com/p/3f7d4aa6a7cf 问题描述 程序实现 # coding: utf-8 import numpy as np import math import matplotlib.pyplot as plt def sign(x): if(x>=0): return 1 else: return -1 def read_data(dataFile): with open(dataFile,'r') as f: lines=f.readli…
原文地址:http://www.jianshu.com/p/311141f2047d 问题描述 程序实现 13-15 # coding: utf-8 import numpy as np import numpy.random as random import matplotlib.pyplot as plt def sign(x): if(x>=0): return 1 else: return -1 def gen_data(): x1=random.uniform(-1,1,1000) x…
机器学习分为四步: When Can Machine Learn? Why Can Machine Learn? How Can Machine Learn? How Can Machine Learn Better? 一.What is Machine Learning Q:什么是“学习”? A:学习就是人类通过观察.积累经验,掌握某项技能或能力.就好像我们从小学习识别字母.认识汉字,就是学习的过程. 机器学习(Machine Learning),顾名思义,就是让机器(计算机)也能向人类一样,…
原文地址:https://www.jianshu.com/p/bd7cb6c78e5e 什么时候适合用机器学习算法? 存在某种规则/模式,能够使性能提升,比如准确率: 这种规则难以程序化定义,人难以给出准确定义: 存在能够反映这种规则的资料. 所以,机器学习就是设计算法\(A\),从包含许多假设的假设集合\(H\)里,根据所给的数据集\(D\),选出和实际规则\(f\)最为相似的假设\(g\). \(g\)和\(f\)相似度的衡量是基于所有数据,不仅仅是\(D\). \(Learning \ M…
原文地址:https://www.jianshu.com/p/f2f4d509060e 机器学习是设计算法\(A\),在假设集合\(H\)里,根据给定数据集\(D\),选出与实际模式\(f\)最为相近的假设\(g\)(\(g\)可能与\(f\)相同,也可能不同). 那什么情况下学习是可行的?即保证\(g\)和\(f\)是相似的. 数据集内的表现\(g\)约等于\(f\); \(g\)在数据集外的表现约等于\(g\)在数据集内的表现. 结合1.2可保证,由算法在给定数据集上学习到的\(g\)(即数…
原文地址:https://www.jianshu.com/p/86b2a9cef742 一.学习的分类 根据输出空间\(Y\):分类(二分类.多分类).回归.结构化(监督学习+输出空间有结构): 根据标签\(y\):监督学习.无监督学习(聚类.密度估计.异常点检测).半监督学习(标注成本高时).强化学习: 根据数据喂给方式:批.在线(PLA.强化学习).主动学习: 根据输入空间\(X\):具体(相关物理意义).原始(图像灰度值).抽象(用户id). 二.主动学习 vs 半监督学习 半监督学习是不…
Roadmap Decision Tree Hypothesis Decision Tree Algorithm Decision Tree Heuristics in C&RT Decision Tree in Action Summary…
上节课介绍了机器学习可以分为不同的类型.其中,监督式学习中的二元分类和回归分析是最常见的也是最重要的机器学习问题.本节课,我们将介绍机器学习的可行性,讨论问题是否可以使用机器学习来解决. 一.Learning is Impossible 首先,考虑这样一个例子,如下图所示,有3个label为-1的九宫格和3个label为+1的九宫格.根据这6个样本,提取相应label下的特征,预测右边九宫格是属于-1还是+1?结果是,如果依据对称性,我们会把它归为+1:如果依据九宫格左上角是否是黑色,我们会把它…
上节课我们主要介绍了解决线性分类问题的一个简单的方法:PLA.PLA能够在平面中选择一条直线将样本数据完全正确分类.而对于线性不可分的情况,可以使用Pocket Algorithm来处理.本节课将主要介绍一下机器学习有哪些种类,并进行归纳. 一.Learning with Different Output Space Y(根据输入空间变化划分) 银行根据用户个人情况判断是否给他发信用卡的例子,这是一个典型的二元分类(binary classification)问题.也就是说输出只有两个,一般y=…
机器学习的整个过程:根据模型H,使用演算法A,在训练样本D上进行训练,得到最好的h,其对应的g就是我们最后需要的机器学习的模型函数,一般g接近于目标函数f.本节课将继续深入探讨机器学习问题,介绍感知机Perceptron模型,并推导课程的第一个机器学习算法:Perceptron Learning Algorithm(PLA). 一.Perceptron Hypothesis Set 某银行要根据用户的年龄.性别.年收入等情况来判断是否给该用户发信用卡.现在有训练样本D,即之前用户的信息和是否发了…
原文地址:https://www.jianshu.com/p/ed0aee74523f 一.Perceptron Learning Algorithm (一)算法原理 PLA本质是二元线性分类算法,即用一条线/一个面/一个超平面将1.2维/3维/4维及以上数据集根据标签的不同一分为二.算法确定后,根据\(W\)取值的不同形成不同的\(h\),构成假设集合\(H\).如2维感知器算法,根据\(w_0\),\(w_1\),\(w_2\)的不同取值,构成了不同的\(h\),这些\(h\)最终构成\(H…
线性回归假设: 代价函数------均方误差: 最小化样本内代价函数: 只有满秩方阵才有逆矩阵. 线性回归算法流程: 线性回归算法是隐式迭代的. 线性回归算法泛化可能的保证: 根据矩阵的迹的性质:trace(A+B)=trace(A)+trace(B), trace(I-H) =trace(IN*N)-trace(H) =N-trace(XX+) =N-trace(XTX(XTX)-1) =N-trace(I(d+1)*(d+1)) =N-(d+1), I-H这种转换的物理意义: 原来有一个有N…
线性分类中的是非题------>概率题, 设置概率阈值后,大于等于该值的为O,小于改值的为X.------>逻辑回归. O为1,X为0: 逻辑回归假设: 逻辑函数/S型函数:光滑,单调, 自变量趋于负无穷时,因变量趋于0: 自变量趋于正无穷时,因变量趋于1: 自变量取0时,因变量值为0.5. ---模拟概率特性. 三种线性模型: 逻辑回归使用交叉熵代价函数. 最小化代价函数时, 发现无法求出使其值最小的解析解, 类比PLA的迭代法,使用梯度下降法求最小值.   eta------学习速率,与梯…
噪声:误标.对同一数据点的标注不一致.数据点信息不准确...... 噪声是针对整个输入空间的. 存在噪声的情况下,VC bound依旧有用: 存在噪声,就是f------>p(y|x),f是p的特殊情况:如p(0|x)=1,p(1|x)=0. VC bound本身就不管f的. 其实,推VC bound的时候第3步使用的是不放回的霍夫丁不等式,不要求独立同分布. 参照口袋算法,可以表明存在噪声情况下,VC bound依旧有用. 错误/代价:分类常用0/1错误,回归常用均方误差. false pos…
一.二次假设 实际上线性假设的模型复杂度是受到限制的, 需要高次假设打破这个限制. 假设数据不是线性可分的,但是可以被一个圆心在原点的圆分开, 需要我们重新设计基于该圆的PLA等算法吗? 不用, 只需要通过非线性转换将X域圆形可分变为Z域线性可分! 通用的二次假设集: 二.非线性转换 好的二次假设: 非线性转换的步骤: 三.非线性转换的代价 计算/存储代价: 次数越高,代价越大. 模型复杂度代价: 次数越高,代价越大. 高次假设能使样本内代价更小: 低次假设能保证泛化误差更小. 可视化数据后再选…
泛化能力差和过拟合: 引起过拟合的原因: 1)过度VC维(模型复杂度高)------确定性噪声: 2)随机噪声: 3)有限的样本数量N. 具体实验来看模型复杂度Qf/确定性噪声.随机噪声sigma2.样本数量N对过拟合的影响: 尽量避免过拟合: 1)从简单模型开始:降低模型复杂度: 2)data cleaning/data pruning:去noise: 3)data hinting(线索):增加样本数量: 4)regularization:正则化: 5)validation:验证.…
一.二元分类的线性模型 线性分类.线性回归.逻辑回归: 可视化这三个线性模型的代价函数, SQR.SCE的值都是大于等于0/1的. 理论分析上界: 将回归应用于分类: 线性回归后的参数值常用于pla/pa/logistic regression的参数初始化. 二.随机梯度下降 两种迭代优化模式: 利用全部样本------>利用随机的单个样本, 梯度下降------>随机梯度下降. SGD与PLA的相似性: 当迭代次数足够多时,停止. 步长常取0.1. 三.使用逻辑回归的多分类问题 是非题---…
若H的断点为k,即k个数据点不能被H给shatter,那么k+1个数据点也不能被H给shatter,即k+1也是H的断点. 如果给定的样本数N是大于等于k的,易得mH(N)<2N,且随着N的增大,小得越来越多. 当断点为k时,记最大可能的成长函数mH(N)为bound函数,记为B(N,k).------只和N.k有关. 注意比较,发现bound函数比起成长函数消除了H. 如果无断点,自然没有B(N,k)什么事: 如果断点为k, 那么mH(N)是给定H下,可能的最大假设类数: B(N,k)是不限H…
当N大于等于2,k大于等于3时, 易得:mH(N)被Nk-1给bound住. VC维:最小断点值-1/H能shatter的最大k值. 这里的k指的是存在k个输入能被H给shatter,不是任意k个输入都能被H给shatter. 如:2维感知机能shatter平面上呈三角形排列的3个样本点,却shatter不了平面上呈直线排列的3个样本点, 因为当另外2个点标签值一致时,中间那个点无法取与它们相反的标签值. 若无断点,则该H下,VC维为无穷. 所以,存在断点------>有限VC维. d维感知器算…
train:A根据给定训练集D在H中选出g,使得Ein(g)约等于0: test:g在整个输入空间X上的表现要约等于在训练集D上的表现,使得Eout(g)约等于Ein(g). 如果|H|小,更易保证test(不等式右式小),难保证train(选择少): 如果|H|大,更易保证train(选择多),难保证test(不等式右式大). 如果|H|无限呢?2Mexp(...)可能大于1了,对于概率值上限来说失去意义.那能否用个有限值代替|H|呢? 看一下2Mexp(...)这个上限的来源. 本质是求并集…
三个理论上界: 三个线性模型: 三个关键工具: 三条学习规则: 1.奥卡姆剃刀定律 先从简单模型开始, 训练后出现欠拟合, 再尝试复杂点模型. 2.采样误差 训练.验证.测试数据尽量同分布. 3.数据偷看 找到折中方法.…
一.模型选择问题 如何选择? 视觉上 NO 不是所有资料都能可视化;人脑模型复杂度也得算上. 通过Ein NO 容易过拟合;泛化能力差. 通过Etest NO 能保证好的泛化,不过往往没法提前获得测试资料. 折中: 将样本资料分为两部分,一部分用作训练,一部分用作验证. 二.验证 利用验证集的模型选择: 利用所有训练数据训练所有模型,得出各个模型下的最优假设; 计算验证数据在各个模型最优假设下的代价值,选择最小代价值的模型; 利用全部样本数据训练选出来的模型,得到最优假设. 如何选择K? 通常,…
一.正则化的假设集合 通过从高次多项式的H退回到低次多项式的H来降低模型复杂度, 以降低过拟合的可能性, 如何退回? 通过加约束条件: 如果加了严格的约束条件, 没有必要从H10退回到H2, 直接使用H2就可以了. 加上松弛点的约束条件, 使得模型比H2复杂, 但到不了H10那么复杂. 二.权重衰减正则化 通过拉格朗日乘子法处理带约束的优化问题, 只看谷的话,需沿着梯度反方向下降到谷底; 只看超球面的话,需沿着垂直于法向量的方向滚; 判断当前W是否是最优解就看它能否在超球面上的同时还能向更接近谷…
[一] 线性回归直觉上的解释 得到Ein = mean(y - wx)^2 [二] w的推导 Ein = 1/N || xw - y||^2 连续.可微.凸函数 在各个方向的偏微分都是0 Ein = 1/N (wTxTxw - 2wTxTy + yTy) Ein := 1/N (wTaw - 2wTb + c) 向量求导,aw - b = 0 xTxw = xTy w = (xTx)^-1(xTy) xTx的维度为dxd, x是nxd, y是nx1 可定义为 w = x^{+} y 那么有yHa…
vc demension定义: breakPoint - 1 N > vc dimension, 任意的N个,就不能任意划分 N <= vc dimension,存在N个,可以任意划分 只要vc dimension是finite,那么H就比较好. Perceptron Learning Algo 多维度也行么?vc dimension是多少么?d维的, Dvc = d + 1 要证明! Dvc >= d+1, 存在d+1个点,可以被shatter. 原点,加上每个分量为1, 加上常数项,…
原文地址:https://www.jianshu.com/p/6f86290e70f9 一.二元分类的线性模型 线性回归后的参数值常用于PLA/PA/Logistic Regression的参数初始化. 二.随机梯度下降 两种迭代优化模式: 若利用全部样本 ------> 利用随机的单个样本,则梯度下降 ------> 随机梯度下降. SGD与PLA的相似性: 当迭代次数足够多时,停止.步长常取0.1. 三.使用逻辑回归的多分类问题 是非题 ------> 选择题: 每次识别一类A,将其…
1  定义 机器学习 (Machine Learning):improving some performance measure with experience computed from data 2  应用举例 ML:an alternative route to build complicated systems 2.1  股票预测   2.2  图像识别 2.3  衣食住行    2.4  关键要素 在决定某些应用场景,是否适合使用机器学习时,常考虑以下三个要素: 1) exists s…