当前位置: 首页 > news >正文

0开篇-介绍

创作灵感

最近又开始写Python,换新机器了,加上回顾硬盘上的一些资料,发现当时用在态势上的一些机器学习内容一直没有收尾,2019年10月研发中心成立中断了机器学习产品的研发,加上后来疫情,这几年荒废了。有空归纳下,希望有机会能用上。

基础介绍

语言、框架及环境:

当然是Python。优点:好用的数学函数库例如numpy,绘图工具matplotlib,框架或库sklearn,keras和有名的TensorFlow。缺点:性能。硬件cpu最好是intel的,原来有一次使用联想AMD本跑模型始终有问题,同样的使用我自己的intel本就没问题,不知道现在还有没有这种CPU问题。显卡不强求,学习的话已算法为主,测试数据不多的话cpu跑也没问题,就是cpu一直100%啥也干不了,最好有闲置机跑。有显卡建议也是台式机显卡,我用神舟笔记本差点把GTX960M干冒烟了。

数学基础和相关资料:

高数,线性代数,概率论和数理统计,基本都是大学本科的数学知识,知道各种概念就OK,用于理解各种算法,毕竟都是调包调参数,不用深入到框架原理。

相关资料可以参考各个大佬(吴恩达,周志华,李宏毅等)的书,和现在b站很多讲解视频。

机器学习开发算法步骤:

1.数据收集(Extract)。因为需要有样本数据,学习的话我会从kaggle之类的网站下载,实际项目会有特定格式的数据,我原来使用的都是安全设备上提取的数据。

2.数据格式化和分析(Transform)。数据要整理成标准格式,标准数据格式可以融合算法,方便操作。同时对于值需要转化或填充,异常值可能还需要进行必要的展示和分析,判断是否有保留价值。

3.算法训练。机器学习从这一步才真正开始。和下一步一起组成机器学习算法的核心。训练就是通过一定的算法将数据变为知识或信息或者模型。这里需要区别的是监督学习和无监督学习。简单理解,分类和回归是监督学习,监督就是必须知道预测什么,知道目标变量的分类信息,算法就是做到如何分类,常用算法有k-邻近算法、线性回归、朴素贝叶斯、决策树等。相对的无监督学习没有确定的目标,没有类别信息。常用算法有k-均值、最大期望算法、DBSCAN等。

4.测试算法。使用前一步输出的知识、信息或者模型,使用测试数据,评测检验算法的成功率。如果不满意算法的输出结果,可以回到第一步重新运算。如果发现准备的数据有问题,也可以回到第一步重新收集数据。

5.实际使用。利用验证算法过的算法执行实际操作。

工具

推荐使用anaconda,集成JupyterLab Notebook  Spyder等工具,配合vscode使用。

算法

按照整理的顺序写。

相关文章:

  • 经典的滑动窗口的题目 力扣 2799. 统计完全子数组的数目(面试题)
  • 【代码随想录训练营】【Day 38】【贪心-5】| Leetcode 435, 763, 56
  • 算法金 | 再见,支持向量机 SVM!
  • 富格林:应用正规技巧阻挠被骗
  • 原生js访问http获取数据的方法
  • 数据在计算机内的表示和存储
  • 哈夫曼树的构造,哈夫曼树的存在意义--求哈夫曼编码
  • 【安卓跨进程通信IPC】-- Binder
  • 简易图像处理器的设计
  • ChatGLM3-6B部署
  • Python代码关系图生成,帮助快速熟悉一个项目
  • Vue.js的核心概念:如何理解Vue.js的声明式渲染、组件系统、Vue实例、Vue生命周期等核心概念。
  • 机器学习实战项目一(卡通化图像)
  • Linux命令篇(一):文件管理部分
  • 阿里云短信服务使用(Java)
  • 77. Combinations
  • classpath对获取配置文件的影响
  • GraphQL学习过程应该是这样的
  • JavaScript的使用你知道几种?(上)
  • JAVA之继承和多态
  • Laravel Mix运行时关于es2015报错解决方案
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • springboot_database项目介绍
  • Vue实战(四)登录/注册页的实现
  • vue中实现单选
  • windows下mongoDB的环境配置
  • yii2中session跨域名的问题
  • 从伪并行的 Python 多线程说起
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 如何学习JavaEE,项目又该如何做?
  • 微信公众号开发小记——5.python微信红包
  • 用mpvue开发微信小程序
  • 怎么将电脑中的声音录制成WAV格式
  • 智能合约Solidity教程-事件和日志(一)
  • 白色的风信子
  • 关于Android全面屏虚拟导航栏的适配总结
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • #pragma预处理命令
  • (C)一些题4
  • (附源码)python旅游推荐系统 毕业设计 250623
  • *p++,*(p++),*++p,(*p)++区别?
  • .apk 成为历史!
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .Net 路由处理厉害了
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .NET中使用Redis (二)
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • [20140403]查询是否产生日志
  • [Android]How to use FFmpeg to decode Android f...
  • [C++]C++基础知识概述
  • [C++]运行时,如何确保一个对象是只读的
  • [HDU3710]Battle over Cities
  • [IE编程] IE8的SDK 下载
  • [IE编程] 如何获得IE版本号