林轩田机器学习基石笔记与作业
分享学习过程中的思考以及整合他人资料
loserChen.
这个作者很懒,什么都没留下…
展开
-
机器学习基石下思维导图
原创 2018-11-29 17:09:17 · 333 阅读 · 1 评论 -
机器学习基石作业四python实现
总体来说,13-20题总的框架都是一样,因此代码都集中在一起。import numpy as npdef getData(path): with open(path,'r') as fr: rawData=fr.readlines() lenx=len(rawData) leny=len(rawData[0].strip().split()) ...原创 2018-11-29 17:07:17 · 291 阅读 · 0 评论 -
Coursera机器学习基石笔记week16
Three Learning PrinciplesOccam‘s Razor奥卡姆剃刀原则:如无必要勿增实体。对这个原则的理解相当于是说,在机器学习里最简单的能够解释数据的模型就是最合理的模型。但是有两个问题,怎么知道一个模型是比较简单的?以及,怎么确定更简单的模型就是更好的?一个简单的hypothesis看起来比较简单,一般是意味着有比较少的参数。而一个模型比较简单意味着它包含的hypo...原创 2018-11-29 17:04:23 · 166 阅读 · 0 评论 -
Coursera机器学习基石笔记week15
ValidationModel Selection Problem针对模型建立的过程,如上图所示,不仅需要考虑算法的选择,还要考虑迭代次数,学习速率,特征转换,正则化,正则化系数的选择等等,不同的搭配,都有不同的机器学习效果。那么我们应该如何找一个最合适的搭配呢?首先我们考虑通过找一个最好EinE_{in}Ein来选择模型。但是相对来说,EinE_{in}Ein小的模型总是偏向于使...原创 2018-11-29 16:58:33 · 223 阅读 · 0 评论 -
Coursera机器学习基石笔记week14
RegularizationRegularized Hypothesis Set我们发现10阶多项式hypothesis set里包含了2阶多项式hypothesis set的所有项,那么如果我们加一些限制条件就可以让其近似为H2H_2H2。这种函数近似称之为不适定问题(ill-posed problem)。根据上图可知,我们令w3=w4=.....=w10=0w_3=w_4=.......原创 2018-11-29 16:51:26 · 189 阅读 · 0 评论 -
Coursera机器学习基石笔记week13
Hazard of OverfittingWhat is Overfittinghypothesis的阶数越高,表示VC Dimension越大。随着VC Dimension增大,EinE_{in}Ein是一直减小的,而EoutE_{out}Eout先减小后增大。在d∗d^*d∗位置,EoutE_{out}Eout取得最小值。在d∗vcd^*vcd∗vc右侧,随着VC Dimensio...原创 2018-11-29 16:45:22 · 282 阅读 · 0 评论 -
机器学习基石作业三python实现
问题6,7,8,10代码实现如下:import numpy as npdef E(u,v): return np.exp(u)+np.exp(2*v)+np.exp(u*v)+u*u-2*u*v+2*v*v-3*u-2*vdef gradU(func,u,v): return (func(u+0.0001,v)-func(u-0.0001,v))/0.0002de...原创 2018-11-23 15:50:44 · 494 阅读 · 0 评论 -
Coursera机器学习基石笔记week12
Nonlinear TransformationQuadratic Hypothesis已知对于线性模型来说,可以分类线性可分的情况,但是对于线性不可分的情况,我们可以使用非线性模型来进行分类。对于图中的h(x),我们可以知道w0=0.6,w1=−1,w2=−1w_0=0.6,w_1=-1,w_2=-1w0=0.6,w1=−1,w2=−1,但是对应的参数是1,x12,x221,x_1...原创 2018-11-23 15:45:21 · 199 阅读 · 0 评论 -
Coursera机器学习基石笔记week11
Linear Models for Classification严谨一点来说,PLA并不是一种“模型”,PLA (Perceptron Learning Algorithm) 是一种“算法”,用来寻找在“线性可分”的情况下,能够把两个类别完全区分开来的一条直线,所以我们简单的把PLA对应的那个模型就叫做Linear Classification。Linear Classification模...原创 2018-11-23 15:40:10 · 367 阅读 · 0 评论 -
Coursera机器学习基石笔记week10
Logistic RegressionLogistic Regression Problem之前提过的二元分类器如PLA,其目标函数为,f(x)=sign(wTx)∈−1,+1f(x)=sign(w^Tx)∈{−1,+1}f(x)=sign(wTx)∈−1,+1,输出要么是-1要么是+1,是一个“硬”的分类器。而Logistic Regression是一个“软”的分类器,它的输出是y=+1的概...原创 2018-11-23 15:35:20 · 339 阅读 · 0 评论 -
Coursera机器学习基石笔记week9
Linear Regression线性回归的预测函数取值在整个实数空间,这跟线性分类不同。h(x)=wTXh(x)=w^TXh(x)=wTX在一维或者多维空间里,线性回归的目标是找到一条直线(对应一维)、一个平面(对应二维)或者更高维的超平面,使样本集中的点更接近它,也就是残留误差Residuals最小化。如下图所示:一般最常用的错误测量方式是基于最小二乘法(这里是线性的),其目标是计算误...原创 2018-11-10 10:57:58 · 379 阅读 · 0 评论 -
机器学习基石上思维导图
原创 2018-11-10 10:06:02 · 373 阅读 · 1 评论 -
Coursera机器学习基石作业二python实现
##机器学习基石作业二下面的代码是17、18题的结合:import numpy as npimport randomclass decisonStump(object): def __init__(self,dimension,data_count,noise): self.dimension=dimension self.data_count=...原创 2018-11-12 11:00:09 · 525 阅读 · 0 评论 -
Coursera机器学习基石笔记week8
Noise and ErrorNoise and Probabilistic Target这节课引入noise的概念,那么VC Dimension的推导还成立吗?首先,数据集的Noise一般有三种情况:由于人为因素,正类被误分为负类,或者负类被误分为正类;同样特征的样本被模型分为不同的类;样本的特征被错误记录和使用。之前的数据集是确定的,即没有Noise的,我们称之为Determ...原创 2018-11-10 10:52:56 · 280 阅读 · 0 评论 -
Coursera机器学习基石笔记week7
The VC DimensionDefinition of VC DimensionVC dimension就是满足成长函数2N2^N2N的最大的N。也就是dvcd_{vc}dvc=‘minimum k’-1.VC Dimension of Perceptrons已知在1D Perceptron,dvc=2d_{vc}=2dvc=2,在2D Perceptrons,dvc=3d_{v...原创 2018-11-10 10:49:12 · 371 阅读 · 0 评论 -
Coursera机器学习基石笔记week6
Theory of GeneralizationRestriction of Break Point很明显,当N=1时,mH(N)m_H(N)mH(N)=2,;当N=2时,由break point为2可知,任意两点都不能被shattered(shatter的意思是对N个点,能够分解为2N2^N2N种dichotomies);mH(N)m_H(N)mH(N)最大值只能是3;当N=3时,简单...原创 2018-11-10 10:44:39 · 483 阅读 · 0 评论 -
Coursera机器学习基石笔记week5
Training vs TestingRecap and Preview简单回顾一下前面几节课的内容:第一节课,介绍了机器学习的定义,目标是找到最好的g,使g≈\approx≈f,保证Eout(g)≈0E_{out}(g)\approx0Eout(g)≈0第二节课,介绍了如何让Ein≈0E_{in}\approx0Ein≈0,即使用PLA、pocket algorithm来实现第三...原创 2018-11-10 10:37:53 · 328 阅读 · 0 评论 -
Coursera机器学习基石作业一python实现
机器学习基石作业一import numpy as npdef train_matrix(): with open("hw1_15_train.dat.txt","r") as f: rawData=f.readlines() dataNum=len(rawData) dataDim=len(rawData[0].strip().split(' '))...原创 2018-11-10 10:19:58 · 1114 阅读 · 0 评论 -
Coursera机器学习基石笔记week4
Feasibility of LearningLearning is Impossible?我们想要在D以外的数据中更接近目标函数似乎是做不到的,只能保证对D有很好的分类结果。机器学习的这种特性被称为没有免费午餐(No Free Lunch)定理。NFL定理表明没有一个学习算法可以在任何领域总是产生最准确的学习器。不管采用何种学习算法,至少存在一个目标函数,能够使得随机猜测算法是更好的算法。...原创 2018-11-10 10:02:48 · 390 阅读 · 0 评论 -
Coursera机器学习基石笔记week3
Types of LearningLearning with Different Output Space Y机器学习按照输出空间划分的话,包括二元分类、多元分类、回归、结构化学习等不同的类型。其中二元分类和回归是最基础、最核心的两个类型。Learning with Different Data Label如果我们拿到的训练样本D既有输入特征x,也有输出yn,那么我们把这种类型的学习称为监...原创 2018-11-10 09:58:36 · 311 阅读 · 1 评论 -
Coursera机器学习基石笔记Week2
Learning to Answer Yes/NoPerceptron Hypothesis Set(感知机)银行是否给用户发信用卡的例子,我们把用户的个人信息作为特征向量x,令总共有d个特征,每个特征赋予不同的权重w,表示该特征对输出(是否发信用卡)的影响有多大。那所有特征的加权和的值与一个设定的阈值threshold进行比较:大于这个阈值,输出为+1,即发信用卡;小于这个阈值,输出为-1,...原创 2018-10-27 14:33:51 · 303 阅读 · 0 评论 -
Coursera机器学习基石笔记Week1
The Learning ProblemWhat is Machine learning?machine learning:improving some performance measure with experience computed from data。Key Essence of Machine Learning存在潜在因素可以学习so performance meas...原创 2018-10-27 14:26:43 · 296 阅读 · 0 评论