首页 > 其他分享 >吴恩达机器学习课程 笔记1 概念

吴恩达机器学习课程 笔记1 概念

时间:2024-09-18 20:04:03浏览次数:9  
标签:吴恩达 预测 回归 算法 笔记 学习 监督 课程 数据

主要的人工智能分支

人工智能(AI)是一个广泛的领域,包含了多个子领域或分支,每个分支都专注于解决特定类型的问题或执行特定的任务。以下是一些主要的人工智能分支:

  1. 机器学习(Machine Learning)

    • 这是AI的一个核心部分,专注于构建可以从数据中学习并作出决策或预测的系统。
  2. 深度学习(Deep Learning)

    • 深度学习是机器学习的一个子集,利用深度神经网络来模仿人类大脑的工作方式,特别擅长处理图像、声音和文本等非结构化数据。
  3. 计算机视觉(Computer Vision)

    • 计算机视觉致力于教会计算机如何解析和理解视觉世界,包括图像和视频。应用范围广泛,如人脸识别、自动驾驶汽车等。
  4. 自然语言处理(Natural Language Processing, NLP)

    • NLP专注于让计算机理解和生成人类语言的能力,包括语音识别、机器翻译、聊天机器人等应用。
  5. 专家系统(Expert Systems)

    • 基于规则的系统,用于模拟人类专家的知识和解决问题的能力。它们通常包含一个知识库和推理引擎。
  6. 机器人学(Robotics)

    • 结合了控制论、机械工程和信息技术,设计智能机器人来执行各种任务,如工业装配、家庭助理等。
  7. 推荐系统(Recommendation Systems)

    • 用于预测用户可能会喜欢什么,从而向用户提供个性化的建议,常见于电商网站、音乐和视频流媒体服务。
  8. 认知计算(Cognitive Computing)

    • 模拟人类的认知功能,如记忆、感知、推理、学习等,以解决复杂问题。
  9. 博弈论(Game Theory in AI)

    • 在AI中,博弈论可以用来开发策略性的决策制定系统,特别是在对抗性环境中。
  10. 进化计算(Evolutionary Computing)

    • 受自然界选择过程启发的方法,如遗传算法,用于解决优化和搜索问题。

这些分支并不是彼此孤立的,而是经常相互交叉,共同推动着AI的发展。随着技术的进步,还会有新的分支和技术出现。

什么是机器学习

机器学习是人工智能(AI)的一个分支,它使计算机能够在没有明确编程的情况下从数据中学习并改进其操作。简而言之,机器学习是让计算机通过经验(即数据)自动改进算法的技术。它侧重于开发能够接收数据输入并预测输出的模型,随着更多的数据输入,模型的预测能力会逐渐增强。

机器学习可以分为几个主要类型:

  1. 监督学习:在此类型中,算法从带有标签的数据集中学习,这意味着每个训练示例都有一个“正确答案”。目标是创建一个模型,当给定新的未见过的数据时,它可以预测正确的答案。常见的监督学习任务包括分类(例如,识别图像中的对象)和回归(例如,预测连续值,如房价)。

  2. 无监督学习:这种类型的机器学习使用没有标签的数据集。算法试图自行发现数据的结构或模式。常见的无监督学习方法包括聚类(将数据分成不同的组)和降维(减少数据的复杂性以便更好地可视化和理解)。

  3. 半监督学习:这种方法介于监督学习和无监督学习之间,使用少量标记的数据和大量未标记的数据进行学习。

  4. 强化学习:算法(通常称为智能体)在环境中采取行动以实现某个目标,并根据其行动的结果获得奖励或惩罚。通过试错,智能体学会最大化某种累积奖励。

机器学习的应用非常广泛,从电子邮件过滤垃圾邮件到推荐系统(如电影推荐),再到自动驾驶汽车等。随着计算能力和数据可用性的增加,机器学习技术正在变得越来越先进,对社会的影响也在不断增长。

什么是监督学习

监督学习(Supervised Learning)是机器学习中最基本也是最常用的一种学习方法。在这种学习过程中,算法通过分析一组已知的输入数据及其对应的正确输出结果(标签或答案)来学习输入与输出之间的映射关系。一旦模型训练完成,就可以用来对新的未知数据进行预测。

以下是监督学习的一些关键特征:

  1. 数据集:监督学习需要有标签的数据集来进行训练。这意味着每个训练样本不仅包含特征(输入变量),还包含相应的标签(输出变量)。标签可以是离散的类别(分类任务)或连续的数值(回归任务)。

  2. 分类任务:如果目标是预测离散的类别,则任务被称为分类任务。常见的分类问题包括图像识别(识别图片中的对象)、情感分析(判断一段文本的情感倾向)等。

  3. 回归任务:如果目标是预测连续的数值,则任务被称为回归任务。常见的回归问题包括房价预测、股票价格预测等。

  4. 训练与测试:监督学习的过程通常包括训练阶段和测试阶段。在训练阶段,模型从标记数据中学习;在测试阶段,模型会被评估其对新数据的泛化能力。

  5. 评估指标:对于分类任务,常用的评估指标有准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1分数(F1 Score)等;而对于回归任务,常用的评估指标有均方误差(Mean Squared Error, MSE)、平均绝对误差(Mean Absolute Error, MAE)等。

  6. 常见算法:监督学习中常用的算法包括但不限于逻辑回归(Logistic Regression)、支持向量机(Support Vector Machines, SVM)、决策树(Decision Trees)、随机森林(Random Forests)、神经网络(Neural Networks)等。

监督学习的目标是找到一个模型,使得对于任意输入数据,该模型都能尽可能准确地预测出正确的输出结果。这使得监督学习成为许多现实世界问题解决方案的核心,尤其是在那些需要基于历史数据做出预测或决策的场景中。

分类&回归

在机器学习中,“回归”和“分类”都是监督学习任务中的两种主要类型。它们的主要区别在于预测的目标变量的性质:

回归(Regression)

回归任务是指预测一个连续值或实数值的输出。也就是说,回归问题的目标是根据输入特征预测一个数值型的结果。例如,预测房价、股票价格或者温度变化等都属于回归问题。
从无限多的数字中预测数字

  • 输入:一系列特征变量。

  • 输出:一个连续的数值。

  • 应用场景

    • 房价预测:根据房屋的各种属性(如面积、位置、房间数量等)预测房价。
    • 股票价格预测:根据历史股价和其他相关因素预测未来的股价。
    • 销售预测:根据历史销售数据预测未来的销售额。
  • 常用算法

    • 线性回归(Linear Regression)
    • 支持向量回归(Support Vector Regression, SVR)
    • 决策树回归(Decision Tree Regression)
    • 随机森林回归(Random Forest Regression)
    • 深度学习中的神经网络等。

分类(Classification)

分类任务是指预测一个离散的类别标签。换句话说,分类问题的目标是确定输入数据属于哪一类别。分类可以是二元的(只有两个可能的类别,如“是”或“否”)或多类的(三个或更多个类别)。

  • 输入:一系列特征变量。

  • 输出:一个离散的类别标签。

  • 应用场景

    • 垃圾邮件检测:根据邮件内容判断是否为垃圾邮件。
    • 图像识别:根据图像内容识别图像中包含的对象种类。
    • 医疗诊断:根据患者的症状和其他医疗记录判断患者是否患有某种疾病。
  • 常用算法

    • 逻辑回归(Logistic Regression)
    • 支持向量机(Support Vector Machine, SVM)
    • 决策树(Decision Tree)
    • 随机森林(Random Forest)
    • K近邻算法(K-Nearest Neighbors, KNN)
    • 神经网络等。

主要区别

  • 输出类型:回归任务的输出是连续值,而分类任务的输出是离散的类别标签。
  • 损失函数:回归任务通常使用均方误差(MSE)作为损失函数,而分类任务则使用交叉熵(Cross-Entropy)或其他适用于分类问题的损失函数。

了解这两个概念对于正确选择合适的算法以及构建有效的机器学习模型至关重要。

无监督学习

无监督学习(Unsupervised Learning)是机器学习的一种形式,在这种学习过程中,算法并没有给定任何标签或结果的训练数据。相反,算法必须自己找出数据中的模式、结构或规律。由于缺乏明确的指导信息,无监督学习通常比监督学习更具挑战性,但它也能够揭示数据中隐藏的有趣特性。

无监督学习的主要目标是理解数据的内在结构,比如数据点之间的相似性和差异性。它通常用于以下几种情况:

  1. 聚类(Clustering)

    • 聚类是指将数据分成若干组,使得同一组内的数据点彼此相似,而不同组的数据点彼此相异。常见的聚类算法包括K均值(K-Means)、层次聚类(Hierarchical Clustering)、DBSCAN等。
  2. 降维(Dimensionality Reduction)

    • 当数据具有高维度时,降维可以帮助减少数据的复杂性,同时保留重要的信息。这样可以使数据更容易可视化和分析。常见的降维技术包括主成分分析(PCA)、t-分布邻域嵌入(t-SNE)、自动编码器(Autoencoders)等。
  3. 关联规则学习(Association Rule Learning)

    • 关联规则学习旨在发现数据集中变量之间的依赖关系。例如,在市场篮子分析中,算法可以找出哪些商品经常一起购买。Apriori算法和Eclat算法是常用的关联规则学习方法。
  4. 密度估计(Density Estimation)

    • 密度估计是指估计数据的概率分布。这有助于理解数据点是如何聚集在一起的。例如,混合高斯模型(Gaussian Mixture Models, GMM)可以用来估计数据的分布。
  5. 异常检测(Anomaly Detection)

    • 异常检测旨在识别不符合正常模式的数据点。这些异常点可能是错误或是值得关注的情况。例如,信用卡欺诈检测、网络入侵检测等。

无监督学习的应用非常广泛,从客户细分、推荐系统到图像分割等领域都有所涉及。虽然没有明确的目标或标签来指导学习过程,但无监督学习可以帮助我们理解数据的潜在结构,从而在实际应用中提供有价值的信息。

无监督学习的一个重要方面是评估结果的质量。由于缺乏明确的标签,评价无监督学习算法的效果通常比评价监督学习算法更困难。常用的方法包括内部度量(如轮廓系数Silhouette Coefficient)和外部度量(如果有标签的话,比如调整兰德指数Adjusted Rand Index)。

Jupyter Notebook

some终端命令

  • pip install --upgrade pip
  • pip install jupyter
  • jupyter notebook --help
  • jupyter notebook
  • jupyter notebook --port <port_number>

标签:吴恩达,预测,回归,算法,笔记,学习,监督,课程,数据
From: https://www.cnblogs.com/jhhhred/p/18419219

相关文章

  • Windows常用快捷键(学习笔记)
    键盘功能键:Tab,Shift,Ctrl,Win,空格,Enter,↑↓←→常用功能:Ctrl+Shift  ----  切换输入法Alt+F4----关闭窗口Ctrl+C ----复制Ctrl+V ----粘贴Ctrl+A ----全选Ctrl+X ----剪切Ctrl+Z ----撤销Ctrl+S ----保存Ctrl+D----功能:打开“添加收......
  • OSG开发笔记(三十):OSG加载动力学仿真K模型文件以及测试Demo
    前言  Osg需要打开模型文件,但是遇到显示动力学仿真的K模型文件,.k文件是一种描述材料属性的文件,比如密度、弹性模量等,该模型文件不是常规中间开放格式,无法直接支持,需要自定义解析并且重建三维模型。<br>Demo  实际非常流程,因为视频转gif导致部分看起来不行:      <......
  • c++primer第七章函数学习笔记
    函数的基本知识定义函数无返回值voidfunctionName(parameterList){  statement(s);  return;//optional}有返回值  typeNamefuntionName(parameterList)  {    statements;    returnvalue;  }#include<iostream>usi......
  • 学习高校课程-软件工程-软件工程(ch2)
    2.1DEFININGTHEDISCIPLINEdefinitionforsoftwareengineering软件工程的定义(1)Theapplicationofasystematic,disciplined,quantifiableapproachtothedevelopment,operation,andmaintenanceofsoftware;thatis,theapplicationofengineeringtosoftw......
  • JavaSE——Java基础语法(黑马个人听课笔记)
    1.关键字介绍关键字:被Java赋予了特定含义的英文单词关键字的字母全部小写 常用的代码编辑器,针对关键字由特殊的颜色标记,非常直观2.常量2.1常量概述常量:在程序的执行过程中,其值不会发生改变的量(数据)  2.2常量的分类:字符串常量:被双引号包裹的内容整数常量:所......
  • Day22笔记-多态&函数重写&运算符重载&对象的内置内容
    一、多态多态的前提:继承体现1:同一种事物的多种体现形式,如:动物有很多种体现2:在定义的过程无法确定变量的类型,只有当程序正常运行的时候才会确定该变量是什么类型,调用哪个函数#体现1:同一种事物的多种体现形式,如:动物有很多种classAnimal():  passclassCat(Animal):......
  • Day23笔记-Day21和Day22作业讲解&单例类
    Day22作业讲解'''学生类Student:属性:学号,姓名,年龄,性别,成绩​班级类Grade:属性:班级名称,班级中的学生【使用列表存储学生】​方法:1.查看该班级中的所有学生的信息2.查看指定学号的学生信息3.查看......
  • 菜鸟笔记之PWN入门(1.1.1)汇编语言基础与堆栈入门
    啥是汇编语言?有啥用?深入了解计算机底层,我们会发现,计算机实际上只能执行一些非常基础的操作,但其速度却非常快。计算机的CPU只能执行机器码,即由一系列0和1组成的指令。不同的0和1组合会触发计算机中的不同电路,从而进行各种操作。由于这些0和1的组合很长,阅读起来不方便,因此通常以1......
  • 菜鸟笔记之PWN入门(1.1.3)Linux基础操作和ELF文件保护
    这里不讨论Linux的历史及其与Windows的比较。直接介绍一些简单基础的操作。首先我们需要安装一个Linux操作系统(首先推荐Ubuntu),我们需要安装一个VM虚拟机,然后在里面搭建一个Ubuntu的虚拟机可以直接百度搜索,这里推荐一个文章安装虚拟机(VMware)保姆级教程(附安装包)_vmware虚拟机-......
  • 菜鸟笔记之PWN入门(1.1.2)C程序调用过程与函数栈变化(32位 vs 64位)(Intel)
    本文使用Intel的32位为例子进行举例。64位本质上和32位类似,主要区别在于函数参数的调用方式,文章结尾会简要提及。重新回顾一下栈pop和push指令//将0x50的压入栈push0x50//将esp指向的数据放入指定的寄存器中pop寄存器名字比如:popeax执行之后eax的值就变成了0x50......