Chapter 001. Machine Learning Fundamentals

text 复制代码
Field of study that givescomputers the ability to learnwithout being explicitlyprogrammed.
使计算机无需明确编程即可学习的研究领域
		                                                  --Arthur Samuel(1959)

What's Machine learning

通过编程使计算机能够进行成千上万次自我对弈,来得到最优解

如果跳棋程序只进行10场自我对弈,而不是数万场,那么它学习到的策略和模式将非常有限,无法充分探索棋局的各种可能性,也无法有效优化自己的决策。这会使其性能显著下降,无法达到通过大量自我对弈所获得的强大水平


Machine Learning Algorithms

  • 监督学习(Supervised learning) <- used more in real-world applications(rapid advancements)
  • 非监督学习(Unsupervised learning)
  • 强化学习(Reinforcement learning)
  • 应用学习算法的实用建议 <- Practical advice for applying learning algorithms(How to use)

Supervised learning

关键特征:给学习算法提供学习的例子(Learns from being given "right answers")
Right answers 是指给定输入x的正确标签y,通过观察输入x和期望标签y的正确配对 学习算法最终学会,仅通过输入而不需要输出标签来给出相当准确的预测和猜测
监督学习 = 给算法"题目 + 标准答案"

我们给算法提供了一个数据集 其中所谓的正确答案,也就是标签或正确的价格y,是为图上的每一栋房子给出的

针对这个房价的预测是监督学习中特定类型 称为回归(Regression)
infinitely many possible outputs -> Predict a number

通过回归,从无限多的可能数字中预测一个数字
分类(Classification)

和回归的区别:预测的可能输出或类别数量很少,这种情况下会有两种输出(zero or one & benign or malignant),因为在这个例子中只有两个可能的输出

分类算法预测类别(Predict Categories):类别可以是非数字

可能的输出数量较少(small number of possible outputs)

可以使用多个输入值来预测输出

可以通过测量患者的肿瘤大小并记录患者的年龄

如何鉴定:学习算法会摘找到一些边界,将恶性肿瘤与良性肿瘤分开,学习算法必须决定如何为这些数据拟合一条边界线


Unsupervised learning

非监督学习不会指定正确的输出,而是让算法自己找出有什么有趣的东西或可能存在的模式或结构

之所以称之为无监督学习是因为我们并不是试图监督算法为每个问题给出某个所谓的正确答案输入,相反,我们让算法自己找出有什么有趣的东西或可能存在的模式或结构

一个监督学习算法可能会决定将数据分为两个不同的组或两个不同的簇
聚类算法(Clustering Algorithm):将未标记的数据放入不同的簇中

Google News

对信息进行自动分组

DNA Microarray

不会先告诉算法有什么什么类型,而是提供一堆数据,让算法自动在数据中找到机构,并自动找出主要的个体类型,这就是无监督学习

Grouping customers(客户信息数据库)

根据数据将客户分成不同的市场细分,从而高效的为客户服务

Concept:

  • Data only comes with inputs x, but not output labels y.
  • Algorithm has to find structure in the data.
    Learning Type:
  • Clustering(聚类算法):将相似的数据点分组在一起(Group similar datapoints together.)
  • Anomaly Detection(异常检测):找出异常数据点(Find unusual data points)
  • Dimensionality Reduction(降维):将一个大型数据集压缩成一个更小的数据集 同时尽可能少地丢失信息(Compress data using fewer numbers)

Jupyter Notebooks

Conda环境配置

复制代码
常用的conda指令: 
创建新的python环境 conda create -n env_name python=3.x 
查看已有的python环境 conda env list 
进入已有的python环境 conda activate env_name 
退出当前的python环境 conda deactivate 
常用的pip指令: pip install -r requirements.txt 根据requirements.txt的内容安装所需的包 pip install package_name 安装包 
pip install ............... --timeout 6000 pip 
换清华源后缀: -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple --trusted-host=https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

可以直接Vscode安装插件

相关推荐
朝新_1 天前
【Spring AI 】图像与语音模型实战
java·人工智能·spring
Yuanxl9031 天前
神经网络-Sequential 应用与实战
人工智能·深度学习·神经网络
火山引擎开发者社区1 天前
Seedance 2.0 1080P 生成能力正式上线
人工智能
冬奇Lab1 天前
一天一个开源项目(第79篇):生化危机女主角亲自开源的 AI 记忆系统 MemPalace
人工智能·开源·资讯
冬奇Lab1 天前
Android 开发要变天了:Google 专为 Agent 重建工具链,Token 减少 70%、速度提升 3 倍
android·人工智能·ai编程
慧一居士1 天前
Open WebUI 和Ollama 区别对比和关系
人工智能
云安全助手1 天前
2026年AI安全大模型实战指南:快快云安全AI能力全景解析
人工智能·网络安全·claude
fuquxiaoguang1 天前
当AI开始改写自己的“进化引擎”:从DGM到HyperAgents
人工智能·hyperagents
bKYP953cL1 天前
构建自己的AI编程助手:基于RAG的上下文感知实现方案
数据库·人工智能·ai编程
数字供应链安全产品选型1 天前
在供应链攻击激增200%的时代,如何用AI原生安全重塑防御边界?
人工智能