1.初识机器学习
1.1 什么是机器学习?
定义:在进行特定编程的情况下,给予计算机学习能力的领域。
不同类型的学习算法:主要分为两种。1,监督学习。2,无监督学习。
1.2 监督学习
我们可以根据房价的数据(Price(s)-Size),应用学习算法拟合出一条线,这实际上是推测出一个连续值得结果。由此可以看出,监督学习指的是我们给学习算法一个数据集。
在此模型中代入数据得出的答案,就是预测房子的价格。用术语来讲,这叫做回归问题。回归这个词的意思是,我们在试着推测出这一系列连续值属性。
另一个监督学习的例子,检测乳腺肿瘤。横轴表示肿瘤大小,纵轴上的1和0表示是或者不是恶性肿瘤。那么机器学习的问题就在于,你能否预测出肿瘤良性与恶性的概率。用术语来讲,这是一个分类问题。
分类是指,我们试着推测出离散得输出值。事实上分类可能不止有两个,也可能是更多个。
在其他一些机器学习中,可能会遇到不止一种特征。现在,我们不仅知道肿瘤的大小,还知道对应患者得年龄等等。有一种算法,叫支持向量机,里面有数学技巧,能让计算机处理无限多特征。
总的来讲,关于监督学习,其基本思想是,我们数据集中每个样本都有对应得“结果”,再根据这些样本做出预测。我们还介绍了回归问题,即通过回归来推出一个连续输出。还有分类问题,其目标是推出一组离散的结果。
练习
你经营一家公司,你想开发学习算法来处理连个问题:
1.你有一大批同样的货物,上千件等待出售。你准备预测接下来三个月能卖出多少件。这属于分类问题还是回归问题?
1:属于回归问题。售卖货物的数量,是一个实数。一个连续的值。
2.你有许多客户,这时你想写一个软件来检验每一个用户的账户。对于每一个账户,你要判断它们是否曾经被盗。这属于分类问题还是回归问题?
2:属于分类问题。把预测的值,0表示未被盗过,1表示被盗过。算法推测一个账号是0还是1,是推测离散结果。
无监督学习
相对于监督学习,无监督学习的数据没有任何标签。针对数据集,无监督学习可以判断出上图数据有两个不同的聚集簇。叫做聚类算法。
一个DNA围观数据的例子。基本思想是输入一组不同个体,对其中的每个个体,要分析出它们是否有一个特定基因。技术上,特定基因已经表达。所以,红,绿,灰等部分展示了相应的程度。即不同个体是否有着一个特定基因。我们可以运行一个聚类算法,把个体聚类到不同类或者不同类型的组里。
这就是无监督学习。我们只有一堆数据,没有任何关于它们的信息。我们要在此前提下,自动的聚类这些个体到各个类。聚类只是无监督学习中的一种。
另一个例子。
两个不同位置的麦克风,记录下不同位置的两个声源。而算法,将这两个声音区分开来。实现这个算法(鸡尾酒算法😄)需要一行代码就可以了:
[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x');
svd表示奇异值分解