开发机器学习的过程有助于在机器学习开发的过程中做出正确决策。首要要确定系统的整体架构这意味选择机器学习模型以及什么数据可能还需要选择超参数然后根据这些决策会实现并训练一个模型然后事实活产看一下诊断例如产看算法的偏差或者方差以及在下一个章节要看到的错误分析根据诊断的见解做出决策例如是否让神经网络更强大或者改变正则化参数或者可能添加更多的数据或者添加更多的特征或者减少特征最后再次围绕这个循环进行选择新的架构通常需要多次迭代才能达到想要的性能看一个电子邮件垃圾邮件分类器如何区分一个邮件是垃圾邮件还是真正的有限呢一种方法是训练一个监督学习算法其中输入特征X是电子邮件邮件的特征输出标签Y 1或0用来 取决于他是垃圾邮件还是非垃圾邮件因此这是一个文本分类的应用一种构建分类特征方法的是说取英语语言或某些其他字典前100000的单词并使用他们来定义特征X1,X2X....X10000统计这些词是否出现出现为1没出现为0构建成一个列表向量另一种方法是不让这些数字是0和1而是实际单词在邮件中出现的次数比如buy出现了两次就变成2有了这些特征就可以训练一个分类算法例如逻辑回归模型或者是神经网络用来预测这些给定特征X的Y,在训练模型之处如果他变现的不如你希望的那样好你可能会想到很多种改进学习算法性能的想法例如收集更多的数据总是很诱人但是会有创建了大量的虚假电子邮件地址并故意让这些地址落入垃圾邮件发送者手中以便当他们向这些虚假邮件发送垃圾邮件时这些邮件是垃圾邮件因此这是一种获取大量垃圾邮件数据的方法或者你可能会基于邮寄路由开发更复杂的特征邮件路由指的是电子邮件在到达你手中之前所经过的一系列计算服务器有时遍布全球而电子邮件实际上有所谓的邮件头信息这些信息记录了电子邮件如何穿越不同的服务器不同的网络最终找到你有时电子邮件的路径可以帮到你判断他是否由垃圾邮件发送的或者从邮件正文中开发开发更复杂的特征即邮件的文本所以之前提到的特征中discountingdiscount可能被视为不同的词但他们也许被视为相同的词或者你可能会决定开发算法拼写错误或故意的拼写错误如w4tchesmed1cine,m0rtgage,这也可以判断一个邮件是否为垃圾邮件