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(...)这个上限的来源. 本质是求并集…
 这节的主题感觉和training,testing关系不是很大,其根本线索在于铺垫并求解一个问题:    为什么算法PLA可以正确的work?因为前面的知识告诉我们,只有当假设的个数有限的时候,我们才能比较确认我们得到坏的数据集的概率比较低,也就是说算法得出的假设和最佳假设在全局表现相同(错误率相等),可是PLA的假设是平面上的直线,不是无数个么?为什么可以正常泛化?   为解释这个问题,有了这节以及下面几节的课程  可以看到这个问题其实很重要,因为这是我们理解机器为啥能学习的关键一步,因为很多…
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(...)这个上限的来源. 本质是求并集…
上节课,我们主要介绍了机器学习的可行性.首先,由NFL定理可知,机器学习貌似是不可行的.但是,随后引入了统计学知识,如果样本数据足够大,且hypothesis个数有限,那么机器学习一般就是可行的.本节课将讨论机器学习的核心问题,严格证明为什么机器可以学习.从上节课最后的问题出发,即当hypothesis的个数是无限多的时候,机器学习的可行性是否仍然成立? 一.Recap and Preview 我们先来看一下基于统计学的机器学习流程图: 该流程图中,训练样本D和最终测试h的样本都是来自同一个数据…
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(...)这个上限的来源. 本质是求并集…
机器学习基石 5 Training versus Testing Recap and Preview 回顾一下机器学习的流程图: 机器学习可以理解为寻找到 \(g\),使得 \(g \approx f\),也就是 \(E_{out}(g) \approx 0\) 的过程.为了完成这件事情,有两个关键的步骤,一个是保证 \(E_{out}(g) \approx E_{in}(g)\),另一个是保证 \(E_{in}(g) \approx 0\) (这两件事情通常由 "训练" 以及 &qu…
接着上一讲留下的关子,机器学习是否可行与假设集合H的数量M的关系. 机器学习是否可行的两个关键点: 1. Ein(g)是否足够小(在训练集上的表现是否出色) 2. Eout(g)是否与Ein(g)足够接近(在训练集上的表现能否迁移到测试集上) (1)如果假设集合数量小(M小),可知union bound后,Ein与Eout是接近的:但由于可选择的假设集合少,Ein(g)效果可能不佳: (2)如果假设集合数量大(M大),有可能Ein(g)会获得更多的选择,测试集上效果更好:但由于M数量过大,训练集…
原文地址: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/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\)(即数…