学习内容:机器学习绪论
视频章节为1.1到2.6
内容为week1 的1、2、3
机器学习定义
让计算机在没有明确编程的情况下学习的科学(gives computers the ability to learn without being explicitly programmed)
机器学习算法分类
分为三类:监督学习(Supervised Learning)、无监督学习(Unsupervised Learning)和强化学习(Reinforcement Learning)
监督学习算法
定义
训练数据中的输出y自带标签,即标准答案。
例如在经典的房价回归预测数据集中,每一处的房价y都给出了具体数值,在训练中机器能够知道学习结果正确与否,偏差是多少。
类型
监督学习的两种主要问题是回归(Regression)与分类(Classification)。
二者的区别在于回归是连续的,分类是离散的。对于回归问题,房价的预测值可以是任意数值;然而对于分类问题来说,我们依据肿瘤尺寸预测良性恶性,哪怕在第一级标准下继续划分,最后分成的种类数目依然是有限的,其标签也是已知数组中的某个元素。
无监督学习算法
定义
训练数据中的输出y不带标签,让机器自行在数据中发现某种模式、结构或特征(structure)。
类型
无监督学习的三种主要问题是聚类(Clustering)、异常检测(Anomaly Detection)和降维(Dimensionality Reduction)。
聚类无需多言,异常检测可以用于发现金融活动中的异常情况,如非法交易等;降维指的是将大数据集压缩成小数据集,并尽可能少丢失有效信息。
强化学习算法
学到该部分再回来补充
实操
jupyter notebook
配置环境过程
- 先在anaconda激活环境(activate pytorch)
- 安装CPU版本不带CUDA的pytorch(conda install pytorch torchvision torchaudio cpuonly -c pytorch);带CUDA:conda install pytorch torchvision torchaudio cudatoolkit=11.7 -c pytorch
- 安装Jupyter notebook(conda install jupyter)
- 启动(jupyter notebook)
- 测试(import torch
print(torch.__version__)
print(torch.cuda.is_available()) # 如果安装了CUDA版本
)
可以参考【环境配置】Jupyter Notebook配置多个kernel内核(基于conda)_jupyter kernel-CSDN博客
kernel是jupyter notebook执行代码的计算引擎。不同语言的kernel能够执行不同语言的代码,如python、R语言等。可以理解为代码的执行环境或解释器。
遇到问题
- 从GitHub上下载的ipynb文件图片无法正常显示(24.8.10)
解决方案:图片存放在文件外的另一个文件夹。建议整个项目直接下载移植。
思考
-
感触比较深的一点是Andrew Ng提到某些顶尖的机器学习团队花了六个月却毫无成效,他认为他本可以在六个月前就告诉他们现有的方法是行不通的,也许可以应用更有效的工具来帮助成功,这就是选对方法比盲目努力更加重要,同时也表明应该多向顶尖人物请教。