我眼中的机器学习(二)

在上一篇文章(我眼中的机器学习(一)) 中, 我们通过三个非常简单的数学例子了解了机器学习的基本流程(训练, 预测).

有的同学可能会觉的机器学习好像也没有什么神奇的, 什么一元一次方程, 三元一次方程,  二元二次方程等, 你们老早就会解了, 不但会解这些高中的方程, 而且还会大学才学到的解线性方程组!

那么问题来了, 竟然通过这么简单的计算就可以得到计算模型, 为什么还需要机器学习?

我的回答是: 在现实世界中,  许多数学方程是无解的或者是非常非常难解的, 比如:

1. 我们知道数据的标准方程, 但是在现实世界中经常会发生观察到的数据数量太少的情况
   2. 我们知道数据的标准方程, 并且观察得到的数据数量也足够多, 但是当现实世界中观察到的数据是不可靠时

3. 观察得到的数据数量足够多, 并且所有的样本都是可靠的, 但是在现实世界中, 我们并不知道数据的标准方程

接下来让我来帮同学们逐个分析

第一点:  即便我们知道数据的标准方程, 但是在现实世界中经常会发生观察到的数据数量太少的情况

比如我们知道抛物线的标准方程为: y=ax2+bx+c, 也知道某份样本数据的数学模型是能够使用抛物线标准方程来描述的.

但是如果我们只获取到两个样本的具体坐标(正常情况下, 最少需要三个点), 我们是无法解开这个方程的

图一

比如我们得到的样本数据只有 A(-3,0),B(1,0), 我们是无法计算出标准方程对应的a,b,c的值的. 因为我们可以画任意个同时经过点A和B的抛物线.

所以只有当数据样本足够多时, 才可以更准确的预估模型.

PS: 我们都知道只要有两个点就可以确定一条线,  但是这不意味着我们在观察到两个点的数据时, 就可以得到数据的模型是直线的结论, 因为很有可能这两个点只是抛物线上的两个点, 更多的点只是还没有被发现而已. 因此在应用机器学习算法时通常需要得到尽可能多的观察数据.

第二点: 即便我们知道数据的标准方程, 并且观察得到的数据数量也足够多, 但是当现实世界中观察到的数据是不可靠时

同样还是举抛物线的例子, 不过这会我们已经拿到了三个标本的数据, 但是很遗憾样本C的数据是错误的

A(-3,0),B(1,0),C(0,0)

所以利用上面三个点, 我们同样无法计算出来这个抛物线的a,b与c的值

第三点:   即便观察得到的数据数量足够多, 并且所有的样本都是可靠的, 但是在现实世界中, 我们并不知道数据的标准方程

还是拿抛物线举例子, 不过这会的图形多有点变化, 这个时候即便告诉你10000个样本数据, 单纯依靠人工, 已经很难把该数据模型的方程组描述出来了.

以上三种情况都是同学们无法通过常规方法进行正常求解的例子

更糟糕的是(就像数学老师教完我们有理数的加减乘除后, 布置的课后作业是解微积分一样), 在现实世界中我们需要解决的问题往往会比以上三点中的任意一个都更糟糕的, 比如我们会既不知道数据模型的标准方程, 也没有足够的数据样本, 同时还不能保证已有的数据样本是可靠的. (说多了都是泪)

当然在这种极端情况下, 我们也有一定的方法比如: 机器学习算法 (Machine learning algorithms)

是她是她就是她, 她能够帮助我们求解这些变态的方程(数学模型)

同学A: 怎么做到的?

L 1011111110101100 : 机器学习算法会从无数个可能的模型中找出最有可能正确的(最优的)那个模型!

同学B: 怎么寻找最优模型?

L 1011111110101100 : 时间不早了, 我们下一章的内容再说吧~

时间: 2024-10-29 19:11:21

我眼中的机器学习(二)的相关文章

从统计看机器学习(二) 多重共线性的一些思考

从一个生活中的现象说起:我们在装机时,不会安装一款以上的解压软件,也希望被莫名其妙地安装额外的管家.与此相反,我们会安装多款播放器.那么,这是为什么呢?当然,也可以思考这样一个问题,好评的软件那么多,硬盘又足够大,为什么不都装上?看到第二个问题,思路似乎清晰了.很简单,解压软件.管家的功能大同小异,且都免费,甚至不需要考虑到底用哪个,似乎只要有那么一个就好了.但是,播放器有单机.网络之分.即使均为网络播放器,仍会搜索到不同资源...即使播放器之间看似相同. 在1996年,还在读书的Tim C.

机器学习二 逻辑回归作业

作业在这,http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_2016/Lecture/hw2.pdf 是区分spam的. 57维特征,2分类问题.采用逻辑回归方法.但是上述数据集在kaggle中没法下载,于是只能用替代的方法了,下了breast-cancer-wisconsin数据集. 链接在这http://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin

机器学习二 -- 决策树学习

决策树学习 从今天开始,坚持每天学习一个机器学习的新知识,加油! 决策树学习是应用最广的归纳推理算法之一,是一种逼近离散值目标函数的方法,在这种方法中学习到的函数被表示为一颗决策树. 决策树表示法 决策树通过把实例从根结点排列到某个叶子结点来分类实例,叶子结点即为实例所属的分类.树上的每一个结点指定了对实例的某个属性的测试,并且该结点的每一个后继分支对应于该属性的一个可能值.分类实例的方法是从这棵树的根节点开始,册数这个结点指定的属性,然后按照给定实例的该属性对应的树枝向下移动,然后这个过程再以

机器学习二(线性回归和Logistic回归)

前言 由于本部分内容讲解资源较多,本文不做过多叙述,重点放在实际问题的应用上. 一.线性回归 线性回归中的线性指的是对于参数的线性的,对于样本的特征不一定是线性的. 线性模型(矩阵形式):y=XA+e 其中:A为参数向量,y为向量,X为矩阵,e为噪声向量. 对于线性模型,通常采用最小二乘法作为其解法(可通过最大似然估计推得). 最小二乘法是通过最小化误差的平方和寻找数据的最佳函数匹配. 最小二乘法的解法有很多种,通常有: 解析法即求通过函数的导数为0确定函数的极值点 矩阵法---解析法的矩阵形式

scikit-learn机器学习(二)逻辑回归进行二分类(垃圾邮件分类),二分类性能指标,画ROC曲线,计算acc,recall,presicion,f1

数据来自UCI机器学习仓库中的垃圾信息数据集 数据可从http://archive.ics.uci.edu/ml/datasets/sms+spam+collection下载 转成csv载入数据 import matplotlib matplotlib.rcParams['font.sans-serif']=[u'simHei'] matplotlib.rcParams['axes.unicode_minus']=False import pandas as pd import numpy as

机器学习二

Gram矩阵 v1,v2,-,vn 是内积空间的一组向量,Gram 矩阵定义为: Gij=vi,vj,显然其是对称矩阵. 其实对于一个XNd(N 个样本,d 个属性)的样本矩阵而言,XX′ 即为 Gram 矩阵:

机器学习二 逻辑回归

在生成模型中讲到了,可以利用手头的数据,假设数据是满足高斯分布,且是不同的均值,但是同一个协方差矩阵,基于贝叶斯的判别式,可以得到 p(c1|x)>0.5 是第一类   p(c1|x)可以转化为sigmod(z)=w*x +b

机器学习二分类模型评价指标:准确率\召回率\特异度等

混淆矩阵是一种用于性能评估的方便工具,它是一个方阵,里面的列和行存放的是样本的实际类vs预测类的数量. P =阳性,N =阴性:指的是预测结果. T=真,F=假:表示 实际结果与预测结果是否一致,一致为真,不一致为假. TP=真阳性:预测结果为P,且实际与预测一致. FP=假阳性:预测结果为P,但与实际不一致. TN=真阴性:预测结果为N,且与实际一致. FN=假阴性:预测结果为N,但与实际不一致. 分类模型的经验误差可以通过计算1-准确率得到. 然而,如何选择一个适当的预测误差度量是高度依赖于

机器学习(二)之决策树(Decision Tree)

Contents 理论基础 熵 信息增益 算法实现 Python 模型的保存与读取 总结 理论基础 决策树(Decision Tree, DT):决策树是一种基本的分类与回归方法.由于模型呈树形结构,可以看做是if-then规则的集合,具有一定的可读性,可视化效果好. 决策树的建立包括3个步骤:特征选择.决策树生成和决策树的修剪. 模型的建立实际上就是通过某种方式,递归地选择最优的特征,并通过数据的划分,将无序的数据变得有序. 因此,在构造决策树时,第一个需要解决的问题就是如何确定出哪个特征在划