[TOC]
# Python人工智能

開始學習Python人工智能,為自己梳理一下整個知識脈絡!
# Python 優勢
**1 簡單**
> Python 是一種代表簡單主意思想的語言,閱讀一個良好的Python 程序就像是在讀英語. 使你可以專注于解決問題本身,而不是去搞明白語言本身
**2 易學**
> Python 定位是 優雅,明確,簡單, 所以Python程序看起來總是簡單易懂,初學者學習Python不但入門容易,而且將來深入學習也可以編寫非常非常復雜的的程序
**3 開發效率高**
> 開發效率非常高,Python有強大的第三方庫,基本上你想通過計算機實現的任何功能,Python 官方庫里都有對應的模塊進行支持,直接下載調用后,在基礎庫上載進行開發,大大降低了開發周期,避免重復造輪子
**4 可移植性**
> 由于它的開源本身,Python 已經被移植在需要平臺(經過改動,它能夠工作在任何平臺上),如果你小心的避免使用依賴于系統的特性,那么你的所有python程序無需修改幾乎就可以在市場上任意系統平臺上運行
**5 可擴展可嵌入性**
> 如果你需要你的一段代碼關鍵片段運行的更快,或者希望某些算法不公開,你可以把部分程序用C 或C++ 編寫,然后在你的Python 程序中使用它們. 你可以把Python 嵌入你的C/C++ 程序,從而為你的程序用戶提供腳本功能
# Python語言特點
**1. Python 是弱類型語言**
> 簡單來說,弱數據類型語言對數據類型的各種類型區分不嚴格.可以不用提前聲明變量的類型既可直接使用,而強類型語言則必須要提前聲明變量的類型,否則這個變量不能使用
**2. Python 是面向對象的語言**
> Python語言支持完全的面向對象編程方式,同時也支持過程化和一定程序的函數式編程
**3.膠水語言**
> Python能夠把其他語言(尤其是C 和 C++) 編寫的各種模塊很輕松的聯合在一起,另外Python語言本身和擴展庫大部分都是由 C 語言構建
# Python 應用領域
Python被廣泛應用于眾多領域,并被各大公司使用和

**數據分析**
> 2016/2月/11 ,美國科學家宣布發現引力波,使用Python分析觀測30年的數據.分析引力波數據的Python包: GWPY
**云計算**
> 典型應用--Python 開發的 OpenStack
**WEB開發**
> 眾多優秀的wab框架, Django,flask,tornado 科學運算, 人工智能庫: 典型庫 NumPy, SciPy,Matplotib, Enthought, Librarys,Pandas
**系統運維**
> 運維人員必備, slatstack(系統自動化配置和管理), Ansible (自動化運維工具)
**圖形開發**
> Tkinter , wxPython, PyQT
并且越來越多公司選擇python作為其主要的開發語言,例如:
**Google-** Google Groups , Gmail , Google Maps , AlphaGo 等, Gogle App Engine 支持Python作為開發語言
**NASA-** 美國航天局,從1994年起把python作為主要開發語言
**Dropbox-** 美國最大的在線云存儲網站,全部用Python實現,每天處理10億個文件的上傳和下載
**豆瓣網-** 圖書,唱片,電影等文化產品的資料數據庫網站
**BitTTorrent** bt下載軟件客戶端
**gedit** Linx 平臺的文文本編輯器
**GIMP** Linx 平臺的圖形處理軟件(Linux 下的PS)
**知乎** (國外的Quora) - 社交問答網站,國內最大的問答社區,通過Python開發 Autodesk Maya - 3D 建模軟件, 支持Python 作為腳本語言
**YouTube** 世界最大的視頻往回走哪YouTube 就是用Python開發的
**Facebook** 大量的基礎庫均通過Python 實現的
**Redhat** 世界上最流行的Linux發行版中的yum 包管理工具就是通過python開發的
除上面之外,還有搜狐,金山,騰訊,盛大,網易,百度,阿里,淘寶,土豆,新浪,果殼等公司都在使用Python 完成各種任務
[更多案例]( http://www.python.org/about/success)
# 工作崗位和工作流
我比較偏實踐派,我感覺一套知識的建立,應該落地到現實的工作流中!現在各大招聘網站上Python崗位大致有如下幾個
- Python 爬蟲工程師
- Python 后端開發工程師
- Python 運維
- Python 大數據分析師
- Python 全棧
- Python 人工智能工程師
我現有知識架構比較偏重: 全棧, 爬蟲,后端,大數據,人工智能. 接下來的指示體系的建立過程中,都會圍繞這幾個關鍵詞梳理知識體系! 運維方面涉及會比較少!
> Pyhton的工作中最常見的流程簡單整理:
>1. 運維
>2. 數據挖掘: 使用爬蟲技術完成數據的采集---整理---和可視化處理
>3. 人工智能: 語音識別,圖片識別,文字識別等各種智能領域,需要精通各種數學算法,機器學習原理和>深度學習原理等...這是未來的發展方向
# 知識體系組成
關鍵字:后端,爬蟲,大數據,人工智能,要完成這些我儲備的知識體系如下!
## Python語法基礎
>變量,
>數據類型,
>運算符,
>判斷,
>循環,
>內置對象
>:字符串,列表,元組,字典,日期和時間,函數,
>異常
>模塊
GUI(Tkinter,wxPython等)
## Python高級
>面向對象:類,對象,屬性,方法,繼承,多態,
IO文件操作
Socket網絡編程
多線程
函數式編程
## 后端編程
>數據庫: mysql, MongoDB,Redis
Django/flask
Web前端: HTML5,CSS3,JavaScript核心,JQuey(Ajax),Python JSON
## 爬蟲和數據挖掘
> 網絡爬蟲原理和引用
urllib /Scrapy
科學計算庫:Numpy、SciPy、SymPy、
可視化庫: Matplotib/Seaborn
數據分析處理庫:Pandas
ML框架(Tensorflow)
## 人工智能數學基礎
>機器學習數學知識: 矩陣,信息論,概率,線性代數,統計與回歸分析,
經典算法:
回歸算法,
決策時與隨機森林,
貝葉斯算法,
Xgboost,支持向量機算法,
時間序列AIRMA模型,
神經網絡基礎,
神經網絡架構,
PCA降維與SVD矩陣分解,
聚類算法,
推薦系統,
Word2Vec
超參數和驗證集
參數估計
## 人工智能案例實踐
>01使用Python分析科比生涯數據
02案例實戰-信用卡欺詐檢測
03Python文本數據分析
04Kaggle競賽案例-泰坦尼克獲救預測
05時間序列案例實戰
06TensorFlow框架
07MNIST手寫字體識別
08Gensim中文詞向量建模
09探索性數據分析-賽事數據集分析
10 探索性數據分析-農糧數據分析
## 人工智能數學框架
> 數學計算:Numpy
科學計算: sipy
ML框架(Tenorflow)
## 機器學習和深度學習
>人工智能簡介
機器學習理論基礎
監督學習,非監督學習,強化學習
機器學習算法(參考上面算法)
自然語言處理:NLTK
機器學習實踐(智能推薦,人工/天氣數據分析,人臉識別等)
>深度學習前導知識: 貝葉斯定律
深度學習框架:
Theano:10余年的Python深度學習框架
Tirch:具有良好的擴展性,但某寫借口不全面,需要LuaJIT支持的Lua語言,通用性差
Keras:是Theano框架與TensoFlow前端的組合,具有良好的可移植性
DeepLearning4J: 基于java的Soala語法開發,應用于Hadoop和Spark系統上的深度學習
Caffe: 強大的圖像分類框架,最容易測試評估性能的深度的學習框架
MXNet:可移植,科伸縮的深度學習庫,具有Torch,Theano,Caffe框架
CNTK: 微軟開發的深度學習軟件包,速度快,有其獨有的神經網絡配置語言Brain Script 成熟度較TensorFlow低, 但是與Visual Studio 天生吻合!
> 神經網絡和深度學習
感知器及其訓練法則
神經網絡的種類
深度學習的正則化
優化器
深度學習應用(計算機視覺,自然語言處理,語音識別,)
以上是Python人工智能的大致知識體系! 在人工智能模塊中各知識點還需要深度梳理!