Machine Learning 课程笔记1-Introduction

本文详细介绍了机器学习的基础概念,包括有监督学习和无监督学习的区别与应用实例。通过房价预测引入有监督学习,展示回归问题的特点;通过肿瘤问题探讨分类问题,并说明了特征数量的影响。此外,解释了无监督学习的概念及其应用场景,如聚类分析在不同领域的应用。

        决定认真学习Andrew Ng的机器学习课程,我想写下来既可以给自己日后一个参考,也可以有个动力,同时帮助理解吧,总之,希望自己坚持下去!

一、introduction

     1、what is machine learning

        对一个计算机程序而言,给它一个任务T和性能度量方式P,通过对经验E的反馈使得P对T的度量结果得到改进,就说该程序从经验E中学习了。

        主要分为有监督学习和无监督学习。

     2、有监督学习

用房价预测的例子来引出有监督学习的概念,很直观。

        

             红叉为已经给出的房价和面积的坐标值,根据这些已知的数据,我们如何通过机器学习来实现给出面积就推测出房价。紫色的线是画出了一个最接近的直线,蓝色是二         次曲线,如何选择曲线来拟合是后面需要讨论的问题,这里只是一个有监督学习的例子。

             从而引出有监督学习的定义:我们给出一个数据集来显示“正确答案”,如这里给出的房价,然后根据这个数据集来预测或得到更多的“正确答案”

            上面这个例子也叫做回归问题:预测一个连续的数值,将其作为输出,如这里的房价。

            下面课程中给出了另一种有监督学习问题——分类问题。以肿瘤问题为例:

             蓝色表示良性,红色表示恶性,当然预测值也可以有多个(>2),如0,1,2,3

             

           上面这个例子中只用到了一个特征值,就是肿瘤大小,我们也可以有多个特征值,如肿瘤大小和患者年龄:



            如果有无限个特征量呢?    支持向量机可以处理无限个特征量的情况

            关于分类和回归的区别,我在知乎上看到“走刀口”大大有一个比较直观地解释,这里分享过来,如果有不适之处,我马上删掉。

           分类和回归的区别在于输出变量的类型。


定量输出称为回归,或者说是连续变量预测;

定性输出称为分类,或者说是离散变量预测。


举个例子:

预测明天的气温是多少度,这是一个回归任务;

预测明天是阴、晴还是雨,就是一个分类任务。


  3. 无监督学习

       在课程开头老师对比了有监督学习和无监督学习的数据,想说的应该是,对于分类问题,输入的数据集有特征值,有标签,我们需要做的就是找到两者之间的关系(直线,曲线。。。),我们根据这个关系来根据新给的特征值预测标签数据。如果训练集中的数据有标签,则为有监督学习(如良性0,恶性1);没有标签的话就是无监督学习,也就是说数据集没有提供“正确答案”。无监督学习也即聚类。

      无监督学习的例子:Google news 的分类问题,将相同主题的链接放到一起;DNA分组;社交网络分析;市场划分;天文数据分析等等

       后面又给了一个鸡尾酒聚会的例子,这个我没有太get到它的用意。

由于没有确切来自Comp90049课程的机器学习介绍部分笔记,但参考常见的机器学习入门知识和提供的引用内容,以下是可能涵盖的笔记内容: ### 卷积神经网络基础 #### 卷积层相关 - **从全连接到卷积**:进行图像识别有两个原则,可从全连接层出发应用这两个原则得到卷积。卷积算子用于图像识别,有二维交叉相关、二维卷积层,还存在一维、三维交叉相关的情况。二维交叉相关与卷积有所不同。 - **填充和步幅**:在卷积层里,填充和步幅是重要概念。填充可改变输出的尺寸,步幅影响卷积操作的移动间隔,并且有对应的代码实现 [^1]。 - **多输入多输出通道**:卷积层存在多个输入通道和多个输出通道的情况。多个输入通道时,卷积操作会考虑不同通道的信息;多个输出通道可增加特征提取的多样性。1*1卷积层是卷积核的高和宽都等于1,它不会识别空间信息,只是融合通道,相当于将输入拉成向量后与权重为co*ci的全连接层进行操作 [^1][^3]。 ```python # 简单示例代码,使用PyTorch创建一个卷积层 import torch import torch.nn as nn # 创建一个卷积层,输入通道为3,输出通道为6,卷积核大小为3 conv_layer = nn.Conv2d(in_channels=3, out_channels=6, kernel_size=3) ``` #### 池化层 池化层有二维最大池化层和平均池化层。最大池化层会选取局部区域的最大值,平均池化层则计算局部区域的平均值,也有对应的代码实现 [^1]。 ```python # 简单示例代码,使用PyTorch创建一个最大池化层 import torch import torch.nn as nn # 创建一个最大池化层,池化核大小为2,步幅为2 max_pool = nn.MaxPool2d(kernel_size=2, stride=2) ``` #### 经典卷积神经网络LeNet LeNet是经典的卷积神经网络,有其具体的实现方式,并且可以学习如何手动检查模型 [^1]。 ### 降维方法 非负矩阵分解(NMF)是一种降维方法。从`sklearn.decomposition`中导入`NMF`,可创建实例`nmf = NMF(n_components,init,tol)`,其中`n_components`为主成分个数/降维后的维度,`init`为初始化方法,`tol`为最小迭代差值。通过`pca.fit_transform(data)`可进行降维计算并按行返回降维后的数据 [^4]。 ```python from sklearn.decomposition import NMF import numpy as np # 示例数据 data = np.random.rand(100, 20) # 创建NMF实例 nmf = NMF(n_components=5) # 降维计算 data_reduced = nmf.fit_transform(data) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值