双極性障害により会社をクビになったが、日本脱出しようと思う件
自己紹介
中学時代から野外放浪(ホームレス)と引きこもりを
繰り返す双極性障害
↓
関西の大学に入学し大学2年生の時に休学、
香港と中国で英語・中国語を使って3ヶ月の営業インターン
↓
↓
↓
上京を決断して東京に進出しWeb系に就職したもの
双極性障害で退社
↓
今ココ(絶望) *9月時点
最近の出来事 (9月時点)
今年はデータサイエンティストを目指しながら、会社でWEB開発とスクレイピングの案件をさせてもらっていました。
でも、僕自身が双極による体調不良により、休みが増えた結果会社に居ずらくなってしまい自主退社。。。乙
(一応、デパケンというの薬を飲んでましたし、結構長期で治療をしてもう大丈夫だと思って自信を持って就職したのですがやはり無理でした。)
前の会社の人にはわざわざ特待生で雇ってもらったのに、こういう形で退職することになり本当に申し訳ないことをしたなと思ってます。
それと同時に双極性障害がある自分は
「普通に働くことはできない」と悟ってしまいました。
自分では結構普通に合わせようと努力したつもりでしたが、薬を飲んでも自分の人格が別のものになってしまった感覚や意識しても帰ることの出来ないミスや不注意などがあったからです。
僕はもう日本を脱出して
海外で自分らしく生きて行こうって決めました
これからの人生 (9月時点)
自分らしく生きるって何するねんって話ですけど、とりあえず自分ができることをするのみです
自分が1ミリでもできること全てに手を出して
双極性障害・ADHD・ニートの三拍子が揃った僕ですがなんとかこの世の中で下克上してみせますよ!
ブログで収益化とかそこまで期待してないです
自分という人間がこの世の中でコンテンツになってそれをみんなが楽しんでくれたらいいです。
そして多くの人と繋がり、 人生楽しく生きていけたらいいです。
偶然同じ国にいるなら
無料で英語・中国語のレンタル通訳マンをします(笑)
よければ連絡ください笑
*本来12月は台湾にいく予定だったのですが、深センには欲しいものが全てあったので台湾旅行をキャンセルして深セン生活を送ることにします!!
発信情報一覧
今後、発信していくであろう情報一覧です。
- 日本脱出して生活していく情報
- ホームレス・ニートとして生きていく方法
- 元ホームレスとしてホームレス社会をもっと良くしたい
- 双極性障害・ADHDに関して
- プログラミング系
- 英語・中国語や海外に関する情報
- 海外のストリートアートやグラフィティアート
- 俺的風刺画アレンジ
そういえば、今日はクリスマス・イブですね🎅
みなさんいい1日をお送りください🦌✨✨✨✨
最後まで読んでくださってありがとうございます。
元ホームレスが機械学習とディープラーニングをしてみた
どうもお久しぶり! ホームレスのhumuです。
最近忙しかったのと、Qiita記事に浮気をしていたのであまり投稿出来てなかったですw。
今回は最近流行りの機械学習とディープラーニングをしていこうと思います!
使うデータはkaggleコンペティションにあるIMDBデータ!
こちらのデータは過去10年間にIMDB(internet movie database)で2006年から2016年の人気のあった映画1000本が用意されてます。
今回はそのデータを使って映画のレビューから映画に対して肯定的な意見か否定的な意見かを判定し予測するモデル(AI的な何かw)を作ります。
では、手を動かしながらやっていきます!
まずはデータ分析で使われるpandas 、numpyやデータ可視化のmatplotlib、ディレクトリ操作のosなどのライブラリを入れていきます。
分析のためにデータをわかりやすくpandas のDataFrame型に整形する関数を定義します。
今回は、0~10までの評価値がレビューに付与されているので肯定or否定に分けるので
7以上を肯定つまり1,4以下を否定つまり0としてラベル付けします。(中間値となるものは元からデータ側で分けれていますのでご安心ください。)
kaggleのデータセットから持ってきた訓練用とテスト用のnegative positiveのデータをそれぞれデータフレームとして変更します
また、後でデータを分割した時値が固まらないようにデータフレームをシャッフルするような関数を定義します。
同時にネガティブなデータとポジティブなデータを結合します。
一行目のtrain_dfの文章を出力します。
固有の評価数とラベル数を分析します。
テキストの長さと量の分布を可視化します。
ここからデータを綺麗にするための必要となるデータクレンジングや前処理をしていきます。
まずは上記にあったデータを予測する(文章から肯定か否定か)ための特徴量(X)と出力結果(肯定か否定か)であるラベル(y)に分割します。
train_y.shapeの結果は(25000,)で25000個の出力結果があったことが伺えます。
次にone-hotエンコーディングをすることでカテゴリ変数(ここではレビュー内の単語)を機械がデータを理解しやすい形に整形します。
それぞれの特徴量の形状を出力します。
結果:(25000,74849)
それぞれのボキャブラリー(単語)を出力する。
それぞれの単語の数を出力する。
ボキャブラリーとそれぞれの単語の数の対になった出力結果を出します。
ここから機械学習していこうと思います。
2値分類のアルゴリズムとしてRandomForestClassifierを使います。
train_test_splitを使って、train用データを75%test用データを25%に分割します。
また評価指標のメトリクスとしてaccuracy_score,roc_auc_scoreを使います。
1.train_test_splitでX_train,X_test,y_train,y_testに分ける
2.clfに分類機を入れる
3.clf.fitでX_trainとy_trainで機械学習モデルを作成する
4.分類機でX_testを入れることでy_testの予測値であるy_predを生成する
5.accuracy_scoreでy_testとy_predの正当率を評価する
6.最後にaccuracyスコアとroc_aucスコアを予想する
予測結果は以下でした。
tensorflowとkerasのバージョンを確認する
バージョン↓↓↓
1.tensorflow.kerasで入力層(Input)を用意する
2.layers.Denseで中間層を作る(活性化関数はreluを使用する)
3.出力層には活性化関数にsoftmaxを使用する
ではディープラーニング用のモデルを作る
1.inputとoutputの変数をモデルに指定する
2.深層学習の方法をmodel.compileで指定する(optimizerに最適化するための関数を入れる:lossに損失関数を入れる:メトリクスに評価指数を入れる)
3.深層学習のモデルに学習させる(batch_sizeはデータを一括処理する単位を入れる。:epochsに損失関数を最小にするための学習回数を入れる)
X_trainで学習したモデルでX_trainとy_trainを評価してみます。
そして結果は損失関数(loss)と評価結果(acc)を出力する。
今回の結果はおよそ0.99なので過学習だと思われますが今回はとりあえず、ディープラーニングをしていこうという程なので今は置いておきます。
また、損失関数でsparse_categorical_crossentropyを使ってるので、結果が指数など0,1で出ないので、numpyのround関数を使って0.5以上を1とし、0.5以下を0とする。
ここでテストデータを使ってモデル評価をします。
出力結果は約0.95でした。
ほとんど予測できてますね。
こんな感じでホームレスが機械学習とディープラーニングをしていきました!
大学のテスト期間あけました!そんで、仕事も決まりました笑
お久しぶりです!
サイバー大学生三年生のhumuです!
2週間以上更新していなかったので、超久しぶりになるのですが今日からまたちょこちょこ更新していこうと思います。
とりあえず、今日は近況を報告しますと
東京にてAI専門のとあるベンチャー企業から内定をいただきました!わーい
また、給料も前の会社に比べて(まあ3ヶ月しか働いていないのですが笑),
月額5万円ほど上がるので心を新たに切り替えて立派なデータサイエンティストになれるように精進していこうと思います。
まあでも、面接で社長と1時間半ぐらい話して小学生の時から大学生の時まで聞かれて内心ドキドキしました笑
4月から仕事を始めるつもりなので、ギークハウス住民にはまたお世話になります。
宜しくお願いします。
また、4月まではほぼ大阪の実家にいるので会える人はまた会いましょう!
来週からは気分次第で、ソフトウェア工学に関してやAI関連に関しての情報を発信していくつもりなので暇な方や興味ある方は見てみてくださいね!
また、来週には旧正月の休日があけるので深センにできるだけ情報を集めに行こうと思います。
今後とも宜しくお願いします
etc
ちなみに、今日はまた長洲島の兄貴にお世話になっています笑
また、謎にこの島の高校生?の友達がいっぱいできたので、時間がある限り交流を深めていこうと思います。
また、日本語はやっぱり人気なので、機会があればみんなに日本語の学習とかさせれたらいいなあって思いました笑
香港の離島でホームレスしてみた②
どうも ホームレスのhumuです。
昨日はちょっと体調不良のため、急遽ホームレスから尖沙咀駅の重慶大厦で格安ホステルに泊まりました。
そこから本来は香港の漁村が残るランタオ島の大澳に行こうとしたのですが、中環駅から行こうとしたところ行けないということになってしまい急遽すぐに出発する船に乗りました🚢。
(まあ、なんというかどこでもいいから離島に離れて心休まりたい気分だった。)
そこで11時45分発のチケットを11時44分に買って最後の乗客として長洲島行きに急いで乗り込みました!
45分ぐらい船に揺られてたどり着いた島がこんな感じ。
そこで、まずホームレスできる場所を探してみた。
ホームレスはまず昼のうちに寝床を探さないといけない
なぜなら、
- 知らない土地では、明るいうちにホームレスするのに適した場所を見つけないと夜になるとより見つけづらくなってしまうから。
- 野犬がでる地域があるので、野犬がいない場所 もしくは人が多いけどホームレスできる場所を探さないといけないから
- 昼の方が人が多いので、道を聞いたりするのに適している
っていうことで
まあ、ぶらぶらしてみた
そしたら、さすが香港 长洲島にも公共の図書館があった。
しかし、閉まる時間が早い。
そんなこんなで疲れたので、とりあえず休憩できるカフェを探してみた。
そこで、コーヒーを啜ってマックをポチポチしてるとそこの店のオーナーが話しかけてきた。
(ちなみに、その時は店長と気付いてなかった笑 見た目が若々しくて好青年って感じだったからだ)
オーナー:やあ、君一人で来たのかい?
僕:そうです。日本から来ました。
オーナー:じゃあ、今日どこで寝るの?
僕:いや、ホームレスなのでそこら辺で寝ます
→事前にホームレスできるであろう場所をピックアップしていたので写真を見せた
こんな感じ↓
オーナー(爆笑):ワロター よかったら、長洲を自転車で一緒に回ろうよ! ここら辺全体を紹介するよ!
→そして、その兄さんは実はこの長洲で地元を盛り上げる事業活動をしている方だった。
そんなことを知る由もなく、謎で愉快な1日が始まることになる。
とりあえず、自転車を借りて漕いで1分もしないうちについたよって言われてみたら、
まさかの海!? what's!
とりあえず、船に乗ろうって言われてえっどういうことって思いながら写真の船に乗って船を乗り移って行いった。
初めてこんなプライベート船に乗った。
中はこんな感じらしくセレブチックな雰囲気に心踊る
合計3つの船に乗ることが出来た!
これらの船は長洲で開催するイベントで使うパーティー用の船らしい
それから陸地に向かいった。
そこで地元の色々な店を周りたどり着いたのが、new York timesに取り上げられた香港 长洲在住の日本人がオープンしている店だった↓
いろんな有名人が来ている店で、日本情勢と世界情勢について語り合った。
最後に記念撮影と記録を残してそこを後にした。
その後もなぜかいろいろな有名人などを紹介してもらい、20、30年前の香港・中国のサッカー元代表の1人が飯を奢ってくれた。
そこでなぜか偶然好きな歌(中国語)が一緒で意気投合!
めっちゃ気に入られたので、今度またあって一緒に歌う約束ができた。
そんで、一緒にカラオケに行きました。
なんかブログで書いてもあまり頭がまとまらないけど、とりあえずまあ色々ありました。
色々ありすぎて、流れだけ書くことになったけど
ホームレスとしてこの人たちに親切にされて感じたことは....
彼らは、無意識に善を施せたり全く知らない人に親切にしてくれた。
ここの人達に出会い感じたこと
なんというか。人間の温かみを感じた。
香港にいた時も、日本にいた時も温かみあったはずだが視野が狭くなりすぎていて全然気付かなかった。
それはIT関係やし、家族内でも孤立していたし、与えられる関係だけで完結していたからかもしれない。
また、会った人達にはそれぞれ具体的な使命みたいなものを感じた。
確かに、俺にも目標はあるけど
大きな視野から自分の使命とかを考えられなかった。
昔は会ったし、大学生前のホームレス期には会ったはずなんだが、
最近、自分にないものを比べては羨ましがったりしていたが、やっぱりそれは視野が狭くなっていただけなんだな。
闇が深くなったっていう友達もいたが、そうではなくより視野が狭まり その視野に固執するようになっただけだと思う。
これからは、無意識に視野が狭まらないように注意する。
そして、俺も彼らみたいに何かを周りに与えていける人間になる。
結局は、不器用な人間だから自分の時間ではやることやって、余った時間は他人に使うくらいでやっていこうと思う。
まあ、周りに使うっていっても大した能力もクソもないから、できるだけ周りを笑かしたり思い付いたできることをしてあげるだけでいいからちょっとづつ、できる事をして行こうと思う。
pythonでスマホアプリを軽く作ってみた
どうも!ホームレスエンジニアのhumuです
iphoneやandoridのスマホアプリやmacOSやwindowsOS上で動く動作するマルチプラットフォームアプリについて紹介します。
特徴として、macOS、windowsOS,Linux上で同一のプログラムを動かすことができます。
また、raspbbery pi上でも動かすことができ、タッチ機能をサポートしているためタブレット利用も可能です。
オープンソースで提供され、商用利用も可能です。
まずkivyをインストールしましょう!
pythonのパッケージ管理コマンドのpipでインストールしてみよう↓
pip install git+https://github.com/kivy/kivy.git
早速"hello world"してみましょう!
以下のコードを書き込んでみてください ↓
Appクラスはアプリを作る上で必須のクラスで継承した上で、必要なボタンなどを追加していき走らせます。
そうするとちゃんと、hello worldと出力されましたね!
デスクトップではこんな感じです↓
次は、kv言語を使っていきましょう!
pythonファイルを↓
kvファイルを
にしてください。
そうすると、このようになります↓
kvファイルはUIを担当しています
また、orientationでverticalを指定しているので、縦に並んだ形になります。
ちなみに、horizontalで横並びになります。
*orientation指定はウィジェットの並び方なので注意してください
*kivyではUIパーツのことをwidgetと呼びます。
最後に、ボールが跳ね回るアプリを作ってみた
main.py
test.kv
結果このようになりました!
ここから、作れるのでよかったらドキュメントをみてくださいね!
では、いい1日を!
ありがとうございました!
Webに対しての攻撃手法とその対策について
どうもおはようございます
サイバー大学生のhumuです
今日は真面目にwebサイト上でよくある
サイバー攻撃について書いていこうと思います。
ありきたりですけど、よかったら見て見てくださいね!
攻撃手法の種類について
webアプリの入力データチェックの不備をついた攻撃として以下がある。
- XSS(クロスサイトスクリプティング)
- OSコマンドインジェクション
- SQLインジェクション
XSSとその対策
webアプリケーションの入力データを悪用したデータ攻撃の一つ
webサイトのプログラムの脆弱性を利用した攻撃である
特に、掲示板や情報検索サイト、登録情報確認画面などに対する攻撃手法
ユーザが入力したデータを元に、webアプリケーションが動的にHTMLを作成する仕組みになっているページにおいて、入力データのチェックに不備のある場合成立する。
つまり、悪意あるサイトを仲介させて、二つのサイトに跨って最終的にクライアント環境に不正なスクリプトを実行させることから名ずけられた
XSSの実行手順
1.悪意あるサイトにクッキー情報を盗まれる場合
例:
1.ユーザが悪意のあるwebサイトを閲覧
2.悪意のあるリンクをクリック
3.ウェブページを出力
4.そのサイトが自動的に悪意あるスクリプトをユーザに転送
5.ユーザのブラウザが悪意あるスクリプトを(クッキーを転送する)を実行
6.悪意のない(しかし、XSSの脆弱性のある)サイトにスクリプトを転送
6.そのターゲットサイトがwebページを出力し、クッキーを発行
7.それをクライアントに送信
8.クライアントがスクリプトを実行して、クッキーを悪意のあるサイトに転送
それにより、クッキーが漏洩する
クッキー漏洩により想定される被害
1,Cookiesに個人情報が入っている場合:IDやパスワードが流出
サイトへの勝手な登録。スパムメールの送信。
2,CookiesにセッションIDが入っている時
セッションハイジャック→ショッピングサイトで勝手に買い物されてしまう。
悪意あるスクリプトとは
- クッキーを盗む
- データ改ざん
- クライアントのディスクをフォーマット
- バックドア作成
- フィッシング。ユーザのID・パスワードを盗む
- 悪意あるサイトへの誘導
- ワンクリックサイトへの誘導
- etc
サイトの入力画面で実行可能なコードを入力する。
プログラムに入力データチェックの不備があるとそのコードが実行されてしまう。
例:住所入力欄に以下のコードを入力:
<script>alert('hello')</script>
もし、プログラムに不備があると上記のコードが解釈・実行され、アラートがポップアップする。
XSS対策
サニタイジング(無害化,sanitizing)
入力データを無害化する。
その手法の一つにエスケープ処理がある
エスケープ処理とは、入力データに含まれる、不正の原因となるような記号を特殊文字を適切な文字列に変換すること
OSコマンドインジェクション
OSコマンドインジェクションとその対策
OSコマンドインジェクションとは
ユーザの入力データを元に、OSコマンドを呼び出して処理するwebページにおいて成立する
不正なコマンドで以下のようなことを実行する攻撃手法
- 任意ファイルの読み出し、変更・削除
- パスワードの不正取得
OSコマンドの読み出しは、言語によって用意されている関数を用意て実行される。
これを実行されると任意のコマンドが実行可能になってしまう可能性がある。
OSコマンドインジェクション対策
- OSコマンドの呼び出し可能な関数を極力避ける
- 入力データに使用可能な文字種類や書式等のルールを明確にする。文字種を極力制限する
- 上記のルールにしたがって入力データをチェックする
- ルールに使わないデータをエラーとして扱う。 エスケープ処理は行わない。
SQLインジェクションとその対策
不正にSQL文を注入する攻撃手法
ウェブアプリの開発者が想定していないSQL文を実行することで、データベースシステムを不正に操作する攻撃手法である。
アプリケーションが入力値を適切にエスケープしないままSQLを展開することで発生する
例1
複数のSQL文を入力することによるデータの破壊や改ざん
例2
ストアドプロシージャを実行することによる情報の漏洩や改ざん
例3(ブラインドSQLインジェクション)
SELECTの条件式にデータベース内の情報を確認するようにサブクエリを含ませ、その抽出の有る無しによってい本来参照することのできないデータベース内の情報(テーブル名など)を知る方法。
SQLインジェクションの対策
・エスケープ処理をする。
・意図したデータ以外(数値など)を入力しないようにする。
正規表現などを使用して、意図したデータ以外のデータが送信されたらDELETEを 実行させないようにする。
・DELETEコマンドを含むクエリを実行できないようにする。
・意図しないタグを実行させないようにする。
SQLインジェクション対策2
・入力されたタグを取り除く仕組みを設定する。
・入力されたタグなどの特殊文字を別の文字列などに変換するPHPの関数「htmlspecialchars(文字列)」などを使用する。
まとめ
OSコマンドインジェクションとその対策:
不正にOSコマンドを呼び出して実行。
対策:OSコマンド呼び出し可能な関数を極力しようしない。
最後まで、読んでくださってありがございます。
みんなwebサイトを使用する際は注意して、
楽しく使って行きましょう!
また明日!
香港でオススメの電化街(深水埗駅)
今日もいい天気ですね from 香港 !
どうも、ホームレス学生のhumuです。
今日は、深水埗駅にあるオタク電化街を紹介したいと思います!
↓ ↓ ↓ ↓
深水埗駅(Sham Shui Po)
深水埗駅はMTRの赤色ラインの中心部に位置していて、全体的に緑色が特徴的!
全体的に、香港内では、物価が安い場所になります。
その分、治安などはあまり良くなく盗品市場があったり若干スラムっぽい地域です(靴が片方だけ売られているとかもありました...笑)
また、色々な種類の電気製品が売買されているので、
電化街としても有名です。
後に説明するコンピュータ系市場はC2出口から行くことができます。
格安SIMカード
海外に行けば、SIMカードが必要ですよね?
香港に来た時には、まず深水埗に来ましょう!
ここでは、アジア中の格安SIMカードが売られています。
僕も、香港に来てすぐ買いました!
基本的に、定価より安いです。
他にも、日本、韓国、中国のSIMカードなどもあり、日本のSIMカードを買って帰れば、携帯会社の通信費用に比べてだいぶ安く済むと思います。
コンピュータ系市場
今日僕が紹介するのは
高登電脳というコンピューターマーケット!
階段を上がっていくと、早速イヤホンやケーブルや小さな電化製品が大量に値段札とともにぎっしり並んで、積まれているのが見られると思います。
奥に入っていくと、自作コンピュータ用にハードウェア部品がショーケースなどにあり、香港のギーク達は自作コンピュータを作るためにここに集まります。
風冷式ファンを売ってる子会社も多く、
自分好みのファンを見つけるにはもってこいです!
特徴として、日本では一つの店の中に全ての商品があるので、綺麗に商品が店に収まっていますが、香港では一つの場所にいろんな子会社が集まって商品を販売しているのでこんな風に見せ付けるように商品を配置する形になってしまいます笑。
また、日本は上品な雰囲気で電化製品を販売しているのに対し、香港ではなんというか厨二臭い雰囲気の店が多く男のロマンを掻き立てます笑。
※結構通路が狭く、人が多いときは混み合うので、コンピューターマーケットに行く時はなるべく平日の昼とかに行くのが無難です!
香港の技術書店
この機械市場の中にはなんと書店もあって、
コンピュータ関係の本しかない本屋があります。
また、香港では、普通の書店にプログラミング系の本は置いていないので、
わざわざここに買いに来るみたいです。
本屋の中央部にはビックデータ、データサイエンス、AI関連の本が置かれており、ほぼほぼトレンドは日本と同じようです。
後、香港では「pythonによるデータ分析入門」 がなぜか「python資料分析」になってました笑
色もちょっと違いました笑
日本と同様、オライリーの本はやっぱり充実してました!
世界から愛されるオライリー笑
まとめ
深水埗ではこの高登電脳以外にもたくさんのコンピュータ マーケットがあり、結構見つけにくい場所にあったりするので探索してみるのもいいと思います。
また、食事やホテルも安く、変わり種のアクセサリーや謎の物体が売られていたり、隠れ家レストランや隠れ家ゲストハウスなど色々未知なものが多いので、時間がある方は回ってみてください!
ちなみに、深水埗で買った充電器は新品で激安でした。普通に使えるので、香港に来た時に必要な電化製品ばあれば寄ってみてください!
定価 192香港ドル
深水埗 169香港ドル
ここまで読んでくださってありがとうございました!
下にはリンクで深水埗についての観光情報を乗っけているので、よかったら見て行ってください。
観光情報